Constitution Amendment Policy¶
Purpose: Define how the Supreme Law of Structum can be changed.
Authority: Core Maintainers Committee.
Principles are meant to be stable, not static. However, changing them is a grave matter.
1. Process Overview¶
Stage |
Activity |
Required Output |
|---|---|---|
1. Proposal |
Identify flaw or new reality |
|
2. Debate |
Public discussion period (min 2 weeks) |
Discussion Thread |
3. Impact |
Analyze downstream effects |
|
4. Vote |
Core Maintainers vote |
2/3 Supermajority |
5. Ratify |
Merge & Version Bump |
|
2. When to Amend¶
Valid Reasons¶
Paradigm Shift: The industry has moved (e.g., Sync to Async).
Barrier to Entry: A principle creates proven friction for adoption without safety benefit.
Contradiction: Two principles conflict in a realistic scenario.
Invalid Reasons¶
Convenience: “It’s annoying to write Interfaces.”
Deadline: “We need to ship this hack now.”
3. RFC Template¶
Any Amendment proposal must include:
Current Text: The Article to change.
Proposed Text: The new wording.
Rationale: Why the current text is insufficient.
Cost: What will break? Who needs to migrate?
4. Emergency Exception¶
In case of a Critical Security Vulnerability that requires violating a principle (e.g., monkey-patching stdlib to fix a zero-day), the Emergency Council can suspend a specific Article for maximum 30 days.