by @arittr
Use when architectural patterns evolve, tech stack changes, or foundational rules need updates - creates new constitution version directory, migrates/organizes content into modular files, updates symlink, and documents changes
Constitution versions are immutable snapshots of architectural truth.
When foundational rules change (patterns, tech stack, architecture), create a new version rather than editing in place. This preserves history, enables rollback, and makes changes explicit.
ALWAYS create a new version when:
CRITICAL: Removing or relaxing a mandatory pattern ALWAYS requires a new version, even if existing code would still work. "Non-breaking" is not sufficient - any change to mandatory patterns needs versioning for audit trail.
Do NOT use for:
Test for Constitutionality:
Before adding content to constitution, ask: "If we violate this rule, does the architecture break?"
Constitution = Architectural rules. Specs = Implementation patterns.
Read docs/constitutions/current/meta.md to get current version.
Version increment rules:
# Create new version directory
mkdir -p docs/cons...