Problem
base_manifest.yaml has no version field. As the manifest gains new sections — health, structured commands, IDE bootstrapping, and eventual team-onboarding fields — there is no way for Base to detect and migrate stale manifests, or to give users a clear error when they are running an old Base against a newer manifest schema.
This is a precondition for any manifest expansion that could be adopted by multiple teams or project repositories. Without versioning, the first breaking change will silently produce wrong behavior rather than a clear error.
Proposed Change
Add an optional schema_version field at the manifest root:
schema_version: 1
project:
name: bankbuddy
Behaviour:
- Omitting
schema_version is treated as version 1 (current schema) — fully backwards-compatible.
- Base should warn (not error) when
schema_version is absent on manifests that declare newer sections.
- Base should error clearly when
schema_version is higher than the installed Base version understands.
- The schema version is a simple integer, not semver. It increments only on breaking changes.
Why Now
Before adding health, commands, or any other manifest section that project teams will check in and share, there needs to be a stable path for Base to say "this manifest uses features your installed Base does not support — upgrade Base or remove the unsupported sections."
Without this, later migration becomes painful.
Problem
base_manifest.yamlhas no version field. As the manifest gains new sections —health, structuredcommands, IDE bootstrapping, and eventual team-onboarding fields — there is no way for Base to detect and migrate stale manifests, or to give users a clear error when they are running an old Base against a newer manifest schema.This is a precondition for any manifest expansion that could be adopted by multiple teams or project repositories. Without versioning, the first breaking change will silently produce wrong behavior rather than a clear error.
Proposed Change
Add an optional
schema_versionfield at the manifest root:Behaviour:
schema_versionis treated as version1(current schema) — fully backwards-compatible.schema_versionis absent on manifests that declare newer sections.schema_versionis higher than the installed Base version understands.Why Now
Before adding
health,commands, or any other manifest section that project teams will check in and share, there needs to be a stable path for Base to say "this manifest uses features your installed Base does not support — upgrade Base or remove the unsupported sections."Without this, later migration becomes painful.