2026-10-09 — petrova-codes declares the eva prompts surface; reconcile its registry contract_sha
rank: decision outranks: []
Section titled “rank: decision outranks: []”2026-10-09 — petrova-codes declares the eva prompts surface; reconcile its registry contract_sha
Section titled “2026-10-09 — petrova-codes declares the eva prompts surface; reconcile its registry contract_sha”Date: 2026-10-09 Status: closed Verb: petrova_act_registry_edit Slug: petrova-codes MR-compliance: MR-4, MR-7, MR-12, MR-14
Context
Section titled “Context”petrova-codes’ own .petrova/contract.yaml declared eva: status: not_applicable (“control plane self-entry — petrova-codes is the playbook
itself and consumes neither rocky nor eva surfaces”).
2026-10-08-mary-governance-generated-statements-render.md (closed),
Consequences, “For downstream consumers (D6)”, said that under ruling (b)
petrova-codes invokes an eva prompt, that this makes the not_applicable
declaration false, and that the generation-job PR updates the block and
reconciles petrova-codes’ contract_sha in the registry.
The generation-job PR (#556, merged 19c48f0d) makes petrova-codes invoke the
eva prompt mary-governance-diagnose at eva-hq
a7a4e96d1a9d9570c00108cc47f37b3e23cc18f2. The declaration is now false in
fact. eva.consumption.v1 is unchanged and needs no bump; the block below is
written in the existing v1 vocabulary
(contracts/vendor/eva-consumption.v1.json).
Decision
Section titled “Decision”1. The eva: block in .petrova/contract.yaml
Section titled “1. The eva: block in .petrova/contract.yaml”Replaced not_applicable with schema: eva.consumption.v1, status: wired,
declared_at and wired_at 2026-10-09, wired_decision_doc pointing at the
2026-10-08 decision, and three surfaces:
events:not_applicable— petrova-codes emits no eva events; it invokes one eva prompt from a scheduled job.control:not_applicable— no eva control-plane client; the job reads the prompt file at a pinned sha.prompts:wired, evidencemanifest: eva-prompts.lock.json,eva_sha: a7a4e96d1a9d9570c00108cc47f37b3e23cc18f2.
The manifest is the consumer-side lockfile eva-prompts.lock.json (prompt id → pinned eva-hq sha), per the eva consumption design, which the doctor’s eva probe checks exists in the consumer repo.
Every other integration in the file is untouched.
2. One contract_sha: line in registry.yaml
Section titled “2. One contract_sha: line in registry.yaml”contract_sha is the first 12 hex of the git-blob-sha1 of
.petrova/contract.yaml on the default branch
(2026-05-24-contract-sha-hash-method-fix-hermes.md).
| slug | old sha | new sha | what changed | why |
|---|---|---|---|---|
| petrova-codes | da448f23ed8f | 033dea583b01 | eva: block not_applicable → wired (prompts surface only) | the 2026-10-08 decision’s D6 consequence; generation job #556 (19c48f0d) invokes mary-governance-diagnose@a7a4e96 |
The old value matched the live blob on main (2cc0bc0e) before this change,
so this is a contract change the registry follows, not drift.
Only that one line changes in registry.yaml. No notes, applicability or
other field.
Consequences
Section titled “Consequences”- The eva consumption profile for petrova-codes reads
wiredwith a pinned prompt sha. Bumping that sha is a contract edit and a new reconcile. contract_committers: humans(MR-14): the contract change and registry edit merge only after the human countersigns below.- No schema, invariant or
eva.consumption.v1change. - Verification after merge: registry
contract_shafor petrova-codes equals the first 12 hex of the blob onmain; the next state sweep reports no contract drift for the slug.
References
Section titled “References”docs/decisions/2026-10-08-mary-governance-generated-statements-render.md(Consequences, “For downstream consumers (D6)”)docs/decisions/2026-10-01-registry-edit-contract-sha-reconcile-13.md(shape and method)docs/decisions/2026-05-24-contract-sha-hash-method-fix-hermes.mddocs/decisions/2026-10-09-mary-diagnose-batch-and-lower-ceilings.md- PR #556 (
19c48f0d), the generation job eva-hq:prompts/mary-governance-diagnose/meta.ymlata7a4e96dcontracts/vendor/eva-consumption.v1.json
Sign-off
Section titled “Sign-off”- Subagent: Claude Sonnet 5.5, 2026-10-09 (drafted)
- Human: flight@arno.host, 2026-10-09 — petrova-codes’ eva declaration becomes wired (prompts surface, mary-governance-diagnose @a7a4e96); registry contract_sha da448f23ed8f → c0ea300c3da7.
Countersigned by human:flight@arno.host on 2026-10-09 — box ticked in
commit a449d86a (petrova #558), authored by the human, squashed into
86772d9b on main. Scribe note: the tick’s text quotes c0ea300c3da7, the
contract_sha of the PR’s first push. Before merge the manifest was corrected to
the consumer lockfile eva-prompts.lock.json (f0492000), so the value that
landed — and that the evidence table above states — is 033dea583b01, equal
to the git-blob sha of .petrova/contract.yaml on main. The tick is left as
written (MR-7). Status flipped open→closed on 2026-10-09 by an agent as scribe
(MR-7).