displayName (§3.1, Appendix A): Corrected requirement level from “MUST for flow and provider” to “MUST for flow; SHOULD for skill, extension, and provider” — aligns with Zod validation which does not require displayName for providers.credentialSchema (§7.4, Appendix A): Relaxed from “MUST have type: "object" and a properties record” to “SHOULD follow AFD schema format; validator accepts any object” — aligns with Zod validation..github/workflows/validate.yml): JSON Schema syntax validation, example manifest validation against schemas, markdown lint, internal link checking.docs/ directory.provider-basic/ — HTTP Basic authentication provider example.readme (common, all types): Removed. Semantics were unclear (path vs inline content), and the field was never meaningfully consumed. description suffices for marketplace display.$schema (flow only): Removed. JSON editor hint, not an AFD field. Editors detect schemas automatically. Validated by Zod but never read at runtime.tags (flow only): Removed. Redundant with keywords. Intended for workspace classification but never used for filtering or search. keywords already serves package discovery via registry full-text search.Backward compatibility: Zod uses z.looseObject() — existing manifests containing these fields will continue to parse without error.
@appstrate/core@2.5.3 Zod definitions.Initial AFD v1.0 draft specification.
spec.md) with 11 sections and 4 appendicesx- prefix convention for extension fields)schemaVersion as common field — MUST for flow, MAY for skill/extension/providerschemaVersion format as MAJOR.MINORrequires vs registryDependencies differences (§4.1)credentialSchema SHOULD follow the AFD schema format (§7.4)execution.timeout in seconds, maxSize in bytes, outputRetries range 0..5propertyOrder semantics (partial lists, ordering of unlisted properties)proxy auth modeGOVERNANCE.md)CONTRIBUTING.md)SECURITY.md)CODE_OF_CONDUCT.md)flow.schema.json, skill.schema.json, extension.schema.json, provider.schema.json@appstrate/core Zod definitions — npm package is canonical sourceschema/README.md$id URIs pointing to https://afd.appstrate.dev/schema/additionalProperties allowed for extensibilitydisplayName as optional field with type locked via constflow-minimal/ — bare minimum flow packageflow-full/ — comprehensive flow with all optional fieldsskill-minimal/ — minimal skill package with SKILL.mdextension-minimal/ — extension with TypeScript source and registerToolprovider-oauth2/ — full OAuth2 provider (Gmail example)provider-apikey/ — API key provider (OpenAI example)primer.md) for newcomers