Skip to content

2026-08-03 — Admit mary-wiki to the registry as a placeholder


2026-08-03 — Admit mary-wiki to the registry as a placeholder

Section titled “2026-08-03 — Admit mary-wiki to the registry as a placeholder”

Date: 2026-08-03 Status: proposed Verb: request_review Slug: mary-wiki MR-compliance: MR-3, MR-12

The MARY facility governance corpus (22 artifacts, currently under docs/ in a local working directory) needs to become a governed petrova consumer. This ADR admits the slug only. It writes no MARY governance fact.

Three findings forced this shape:

  1. Admission has a dependency cycle. petrova_act_register_consumer refuses without .petrova/contract.yaml on the target’s default branch (cli/src/verbs/petrova_act_register_consumer.ts:61-64). The verb that writes that contract, petrova_onboard, fails when the slug is absent from the registry (cli/src/verbs/petrova_onboard.ts:92-95). Only register_consumer creates entries. So the first admission cannot be a registry-edit verb; it is a hand-authored entry shipped as request_review, which is what skills/petrova-onboard/SKILL.md:24-30 prescribes.

  2. The GitHub repo does not exist yet. The mary-wiki org was created 2026-08-02 and holds zero repos. No verb in the codebase creates a repository (grep repos.create* cli/src host/src — no matches); pr-emitter.ts:96-131 fails REPO_UNREACHABLE then BASE_BRANCH_MISSING. role: placeholder is the schema’s own name for this state — “the org has the Petrova-act App installed but no governance repo yet” — and is the only role for which url may be omitted.

  3. profile: HUMAN-MERGE is not expressible. registry.schema.json enums strict|standard|permissive with additionalProperties:false, and profile is a single repo-level scalar — there is no per-verb profile field. Human merge is enforced elsewhere: hard-coded awaiting-human-merge PR labels per verb, profile gating only request_merge_when_green.ts:44-52, and a cosign override (cosign.ts:4-8). strict + fleets_allowed: [] is the faithful encoding of the stated intent and of FR-009.

registry.yaml > repos[mary-wiki] after this verb:

- slug: mary-wiki
role: placeholder
profile: strict
fleets_allowed: []
added: '2026-08-03'
integrations_applicability: {ares, traceo, crumb, rocky, eva} = not_applicable

url and contract_sha are absent by design.

What this ADR deliberately does NOT decide

Section titled “What this ADR deliberately does NOT decide”
  • The final slug. The MARY corpus names the consumer repo mary-hq (AGENT-REGISTER-v2.md:444-450, SRS-AGENT-001.md:317); the org and directory are mary-wiki. Slug is immutable after admission (registry-edit.ts:209-214 refuses path: slug). This entry takes the org name as the fact on the ground. If FLIGHT rules for mary-hq, this entry must be deregistered and re-admitted, not edited.
  • Any MARY corpus content. 18 open contradictions stand, including a stale APEX-MAP decision list, the DOPPLER charter-vs-rejection conflict, and a meta-rule numbering fork. They are imported as findings after onboard, and resolved by FLIGHT.

Human merge required per MR-12 — this PR is opened with the awaiting-human-merge label and does not auto-merge.