Skip to content

Meta-rules (MR-1 ... MR-12)

[!NOTE] Canonical authoring home moved to eva-hq (2026-05-14).

This file is now a backwards-compatible downstream mirror. Edits should be made at eva-hq/prompts/_shared/petrova/META-RULES.md, from which the petrova-codes/petrova repo’s sync-playbook-from-eva workflow picks them up. The migration plan lives at petrova-codes/petrova:docs/superpowers/specs/2026-05-14-meta-rules-migration-to-eva-hq-design.md.

This copy will be removed in petrova-codes/templates@v2.0; the templates submodule will continue to track CLAUDE.md.tmpl, AGENTS.xml.tmpl, and similar template files, but not META-RULES.

Cross-cutting invariants for the doc/agent system itself. These are meta — they govern the docs that govern the code. If one of these is violated, the system rots from underneath.

These rules apply across all phases, all subagents, all docs. They are the glue. Numbered MR-N to distinguish from project invariants I-N.


  • MR-1 — North-star outranks the backlog
  • MR-2 — Friction surfaced in phase N’s verification round becomes phase N+1’s input
  • MR-3 — Sibling files stay sibling
  • MR-4 — Dates are absolute
  • MR-5 — Direct push for small fixes; PR for checkpoints
  • MR-6 — Subagents read from AGENTS.xml, not from inferred patterns
  • MR-7 — Decision docs are append-only
  • MR-8 — Invariants are numbered and stable
  • MR-9 — Don’t invent invariants
  • MR-10 — The verification round is mandatory at phase close
  • MR-11 — Anti-shapes are named, catalogued, and watched
  • MR-12 — The CLAUDE.md is the projection, not the source
  • MR-13 — Intent and observation are separate state spaces
  • MR-14 — Probes never auto-promote, only auto-demote
  • MR-15 — The schema is the source of bootstrap questions
  • MR-16 — The catalogue is realistic
  • MR-17 — The playbook is physically present

Meta-rule changes are the highest-stakes documentation event. Process: open a decision doc proposing the change, get explicit human approval, bump the meta-rules version line. Renumbering ripples — grep -r "MR-N" before changing IDs.