fix(config): enforce supported schema version — reject unknown version:N values #335

Closed
opened 2026-07-03 13:35:59 +02:00 by bosun · 0 comments
Owner

Finding

config_validate in scripts/lib/config.sh only checks version: is integer. Does NOT require currently-supported schema version. version: 999 passes.

Should-fix rationale

Schema version exists specifically to detect this. Silent acceptance defeats purpose. v1.0.0 needs adopter configs to fail early on unsupported schema, not silent misinterpretation.

Fix

  • SUPPORTED_SCHEMA_VERSIONS=(1) constant in config.sh
  • Reject with clear error if version not in supported set
  • Forward-compatible upgrade path when v2 arrives
  • Test: v0 (unset), v1 (accepted), v2 (future reject), v999 (reject)

Anchor

External correctness cold-read (anonymous ChatGPT session, uploaded to operator 2026-07-03). Full review surfaced 10 findings across 5 blocking-v1.0.0 + 2 should-fix pre-v1.0.0 + 3 post-v1.0.0 backlog. This tracker addresses one of them.

SHOULD-FIX pre-v1.0.0.

## Finding `config_validate` in `scripts/lib/config.sh` only checks `version:` is integer. Does NOT require currently-supported schema version. `version: 999` passes. ## Should-fix rationale Schema version exists specifically to detect this. Silent acceptance defeats purpose. v1.0.0 needs adopter configs to fail early on unsupported schema, not silent misinterpretation. ## Fix - `SUPPORTED_SCHEMA_VERSIONS=(1)` constant in config.sh - Reject with clear error if version not in supported set - Forward-compatible upgrade path when v2 arrives - Test: v0 (unset), v1 (accepted), v2 (future reject), v999 (reject) ## Anchor External correctness cold-read (anonymous ChatGPT session, uploaded to operator 2026-07-03). Full review surfaced 10 findings across 5 blocking-v1.0.0 + 2 should-fix pre-v1.0.0 + 3 post-v1.0.0 backlog. This tracker addresses one of them. SHOULD-FIX pre-v1.0.0.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/release-toolkit#335
No description provided.