Skip to content

fix(schema)!: rename top-level syntax → spec_version (#118)#130

Merged
zeevdr merged 2 commits intomainfrom
fix/issue-118-rename-syntax-to-spec-version
Apr 20, 2026
Merged

fix(schema)!: rename top-level syntax → spec_version (#118)#130
zeevdr merged 2 commits intomainfrom
fix/issue-118-rename-syntax-to-spec-version

Conversation

@zeevdr
Copy link
Copy Markdown
Member

@zeevdr zeevdr commented Apr 20, 2026

Closes #118. Part of milestone Schema Spec v0.1.0. Design brief: .agents/context/schema-spec.md (landing in #128).

Summary

  • Rename top-level syntax:spec_version: in both schema YAML and config YAML formats.
  • Applied across parsers (internal/schema, internal/config), SDK tools (sdk/tools/{validate,seed,dump}), fixtures, examples, docs, and proto doc comments.
  • Error messages now reference spec_version (e.g. spec_version is required, unsupported spec_version).

Scope

  • Breaking. No backward-compat shim, no legacy-key migration helper — per the pre-production no-backward-compat policy.
  • Config YAML is renamed in the same PR to keep both top-level formats in sync.
  • schemas/schema-yaml.json (preliminary meta-schema) updated for consistency; full rewrite comes with Author meta-schema v0.1.0 (JSON Schema 2020-12) #123.

Test plan

  • make test — all packages green
  • make lint — 0 issues
  • make e2e — all tests pass after rebuilding the service image
  • make generate — proto doc comments → regenerated .pb.go + docs/api/*.json

🤖 Generated with Claude Code

Clearer intent — $schema (landing in #119) will carry the "which
meta-schema validates this" pointer, leaving spec_version to express the
logical format version.

Applied symmetrically to the config YAML format (same top-level shape).

Breaking change. Per the no-backward-compat policy for pre-production,
no deprecation helper and no migration alias — YAMLs with the old key
fail at parse time with "spec_version is required". Design brief:
.agents/context/schema-spec.md, milestone Schema Spec v0.1.0.

- internal/schema/yaml.go, internal/config/yaml.go: const + struct tag
  renamed, error messages updated
- sdk/tools/{validate,seed,dump}: parser + marshaler updated
- examples/**, fixtures/**, docs/**: fixtures + user-facing samples
  migrated to spec_version
- proto doc comments updated; api/*.pb.go regenerated

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@zeevdr zeevdr added this to the Schema Spec v0.1.0 milestone Apr 20, 2026
make docs regen — proto comment changes in the prior commit needed
propagation to docs/api/api-reference.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@zeevdr zeevdr merged commit 1845e55 into main Apr 20, 2026
12 checks passed
@zeevdr zeevdr deleted the fix/issue-118-rename-syntax-to-spec-version branch April 20, 2026 08:15
zeevdr added a commit that referenced this pull request Apr 21, 2026
* fix(schema)!: rename top-level syntax → spec_version (#118)

Clearer intent — $schema (landing in #119) will carry the "which
meta-schema validates this" pointer, leaving spec_version to express the
logical format version.

Applied symmetrically to the config YAML format (same top-level shape).

Breaking change. Per the no-backward-compat policy for pre-production,
no deprecation helper and no migration alias — YAMLs with the old key
fail at parse time with "spec_version is required". Design brief:
.agents/context/schema-spec.md, milestone Schema Spec v0.1.0.

- internal/schema/yaml.go, internal/config/yaml.go: const + struct tag
  renamed, error messages updated
- sdk/tools/{validate,seed,dump}: parser + marshaler updated
- examples/**, fixtures/**, docs/**: fixtures + user-facing samples
  migrated to spec_version
- proto doc comments updated; api/*.pb.go regenerated

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(api): regenerate api-reference.md for spec_version rename

make docs regen — proto comment changes in the prior commit needed
propagation to docs/api/api-reference.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: zeevdr <zeev.dreifuss@ownera.io>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
zeevdr added a commit that referenced this pull request Apr 21, 2026
* fix(schema)!: rename top-level syntax → spec_version (#118)

Clearer intent — $schema (landing in #119) will carry the "which
meta-schema validates this" pointer, leaving spec_version to express the
logical format version.

Applied symmetrically to the config YAML format (same top-level shape).

Breaking change. Per the no-backward-compat policy for pre-production,
no deprecation helper and no migration alias — YAMLs with the old key
fail at parse time with "spec_version is required". Design brief:
.agents/context/schema-spec.md, milestone Schema Spec v0.1.0.

- internal/schema/yaml.go, internal/config/yaml.go: const + struct tag
  renamed, error messages updated
- sdk/tools/{validate,seed,dump}: parser + marshaler updated
- examples/**, fixtures/**, docs/**: fixtures + user-facing samples
  migrated to spec_version
- proto doc comments updated; api/*.pb.go regenerated

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(api): regenerate api-reference.md for spec_version rename

make docs regen — proto comment changes in the prior commit needed
propagation to docs/api/api-reference.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: zeevdr <zeevdr@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rename schema YAML field: syntax → spec_version

2 participants