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

RFC-XXXX Document

2. Debate

Public discussion period (min 2 weeks)

Discussion Thread

3. Impact

Analyze downstream effects

Impact Analysis

4. Vote

Core Maintainers vote

2/3 Supermajority

5. Ratify

Merge & Version Bump

structum Major Version


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:

  1. Current Text: The Article to change.

  2. Proposed Text: The new wording.

  3. Rationale: Why the current text is insufficient.

  4. 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.