Skip to content

MR-17 — The playbook is physically present

A consumer repo at role: production or experimental must carry .petrova/playbook/META-RULES.md (and the rest of the playbook deposit) under its default branch. Without this, the EVA catalogue’s petrova-bootstrap prompt cannot resolve its {{meta_rules_path}}, {{mr_preamble_path}}, {{progress_signal_path}} and {{petrova_body_path}} references — the chicken-and-egg surfaced by running bootstrap against asgard-codes on 2026-05-13.

The petrova_install_playbook verb is the canonical way to satisfy this rule; it deposits the six playbook files atomically with cross-references rewritten to literal local paths. Enforced by host/src/sources/audit.ts:auditMr17. (Defends Step 2 of the bare-bones-to-baselined journey from being undetectable at audit.)


  • At commit time: the .github/workflows/docs-invariants.yml CI job validates the rank-graph DAG, ISO date formats, the AGENTS.xml schema, and milestone-ID cross-references.
  • By subagents: every subagent’s <refusal_conditions> enumerates which MR it would violate by proceeding.
  • By the orchestrator: the prompts in prompts/ reference MRs by number. When you paste prompts/02-phase-close.md, the agent loads MR-2 and MR-10.
  • By you, the human: when something feels off, scan this file. The rule that’s being broken is almost always one of these seventeen.

These rules are meta — changing one is a bigger deal than changing a project invariant. To change one:

  1. Open a decision doc (docs/decisions/YYYY-MM-DD-meta-rule-change-<slug>.md).
  2. State the rule being changed, the proposed new wording, the trigger (what surfaced this), and the implications for in-flight work.
  3. Get explicit human approval (no agent self-modification of meta-rules).
  4. Update this file. Update any referencing prompts. Update the CI job if the change is mechanically enforceable.
  5. Bump the meta-rules version in this file’s header.

Meta-rules version: 1.2.

  • 1.2 (2026-05-13) — Add MR-16 (catalogue realism — codifies the existing auditMr16 check that has been live since Baseline v3) and MR-17 (playbook physically present — pairs with the new petrova_install_playbook verb from petrova-codes#86). Ratified by parent-repo decision doc docs/decisions/2026-05-13-meta-rules-mr16-mr17.md.
  • 1.1 (2026-04-30) — Add MR-13 (intent vs. observation), MR-14 (probes auto-demote only), MR-15 (schema is the source of bootstrap questions). Ratified by parent-repo decision doc docs/decisions/2026-04-30-integration-spine-meta-rules.md.
  • 1.0 — Initial set, MR-1 through MR-12.

Return to the meta-rules index.