Skip to content

2026-10-09 — petrova-codes declares the eva prompts surface; reconcile its registry contract_sha


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

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

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, evidence manifest: 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).

slugold shanew shawhat changedwhy
petrova-codesda448f23ed8f033dea583b01eva: 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.

  • The eva consumption profile for petrova-codes reads wired with 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.v1 change.
  • Verification after merge: registry contract_sha for petrova-codes equals the first 12 hex of the blob on main; the next state sweep reports no contract drift for the slug.
  • 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.md
  • docs/decisions/2026-10-09-mary-diagnose-batch-and-lower-ceilings.md
  • PR #556 (19c48f0d), the generation job
  • eva-hq:prompts/mary-governance-diagnose/meta.yml at a7a4e96d
  • contracts/vendor/eva-consumption.v1.json
  • 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).