Skip to content

Articles

Definition

The second layer of the PAAA governance model (ADR-0143): what must remain true of a repository — standards, architectural constraints, security and compliance rules, and local policy. It answers "what rules apply to it?". Articles are carried today by docs/standards/, by ADRs that declare an **Enforced by:** block, by control/principles.yaml, by docs/standards/factory_autonomy/policy.yaml, by docs/standards/branch_protection/gates.toml, and by the per-repo charter of ADR-0121 as amended by #11748 (charter.yaml, whose articles: block is charter.Articles) — the surface a repository uses to declare which of them apply to it. Enforcement of Articles splits three ways: the declaration declares, a decision layer classifies normalized facts as compliant / violated / exempt / grandfathered, and HydraFlow acts on the verdict. blocking is not a fifth verdict but an orthogonal flag on the decision: the four classify what is TRUE of a subject, blocking decides what to DO about it, and they vary independently — "violated but not gating" is a real and common state (ADR-0143 Ruling 4 as amended 2026-08-31; policy.models.DecisionStatus has exactly four members and carries blocking as a separate field on StandardDecision).

Invariants

  • Building standards are one class of Articles, not the whole of Articles — security, compliance, architecture, and local policy are Articles too.
  • The declaration is reviewable in git; a decision layer never runs tests, reads git, or writes to the repository.
  • Changing an Article is an enactment reserved to the operator (ENACT, not RATIFY); nothing automates an edit to the articles of a declaration.