Add versioning contract: semver policy, breaking change sections, schema_version guard

- CHANGELOG: add ### Breaking Changes section to all versions (None for 1.1–1.3)
- README: add Versioning section with semver table and floating tag explanation
- schema/config-schema.json: add schema_version field (const: 1, optional)
- lib/config.sh: fail fast if schema_version is present and unsupported

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-01 00:56:33 +03:00
parent 65cc8eaf8a
commit 479b592076
4 changed files with 34 additions and 0 deletions

View File

@@ -5,6 +5,11 @@
"type": "object",
"required": ["josh", "targets", "bot"],
"properties": {
"schema_version": {
"type": "integer",
"const": 1,
"description": "Schema version. Bump when config fields are removed or renamed (matches josh-sync major version)."
},
"josh": {
"type": "object",
"required": ["proxy_url", "monorepo_path"],