Decision: adopt CRUMB wiring + ratify applicability for 2 repos (conservative)
date: 2026-05-01 status: proposed title: Adopt CRUMB wiring as a PETROVA artefact and ratify governance applicability (conservative) supersedes: []
Section titled “date: 2026-05-01 status: proposed title: Adopt CRUMB wiring as a PETROVA artefact and ratify governance applicability (conservative) supersedes: []”Decision: adopt CRUMB wiring + ratify applicability for 2 repos (conservative)
Section titled “Decision: adopt CRUMB wiring + ratify applicability for 2 repos (conservative)”Context
Section titled “Context”Sub-project A (PR #8) reserved the crumb slot and shipped a stub. Sub-projects B (PRs #9, #10) and C (PR #12) ratified the four-block pattern: real probe + reusable validator verb + adoption prompt + applicability runbook. Sub-project D applies the same pattern to CRUMB. Spec at docs/superpowers/specs/2026-05-01-petrova-crumb-spec.md.
CRUMB state (per spec §1.3): public Astro/Starlight site at https://github.com/devarno-cloud/crumb with ~150 cards under src/content/cards/<id>.md (flat namespace; <project>-<NNN>[-<slug>] ID prefixes). 18-field Zod-validated frontmatter. No HTTP API; probe uses gh api (mirror ARES).
Per spec §1.2, conservative applicability:
| Slug | crumb |
|---|---|
| petrova-hq | not_applicable (canary) |
| traceo-mcp-server | not_applicable (build infra) |
| kahn-hq | not_applicable, review_by 2026-08-01 |
| stratt-hq | required (10 stratt-* cards exist) |
| choco-hq | not_applicable, review_by 2026-08-01 |
| devarno-cloud | not_applicable, review_by 2026-08-01 |
| grace-hq | required (1 grace-* card exists) |
Decision
Section titled “Decision”Five things, atomically in this PR:
-
Real crumb probe.
cli/src/probes/crumb.tsis replaced with a read-only probe that shells out togh api repos/devarno-cloud/crumb/git/trees/HEAD?recursive=true+gh api repos/.../commits?path=src/content/cards. Three checks (tree+match, count, freshness); four outcomes. Read-only per MR-13/14. -
New CLI verb
petrova crumb-validate <glob>. Backed by a vendored AJV JSON Schema atcli/src/schemas/crumb-flashcard.schema.json(hand-translated from CRUMB’s Zod). Reused by both probe and consumer-repo CI when CRUMB grows a workflow. -
Schema downgrade.
content_pathfrom per-slug-directory regex^src/content/cards/.+/$to glob^src/content/cards/.+\\.md$. New optionalproject_prefixevidence field. Justified by spec §D-4 (operational reality over aspirational shape — same pattern as sub-project C’sariel://downgrade). -
Adopt
core/prompts/08-crumb-wire.md. Phase 0 preflight + 6 gated phases (audit, schema check, author cards, local validate, cross-repo gate, contract flip). Mirrors06-ares-wire.mdand07-traceo-wire.mdpatterns. -
Governance applicability. Conservative — only repos with cards today are
required(stratt-hq,grace-hq). The 3 production/experimental repos with no cards (kahn-hq,choco-hq,devarno-cloud) arenot_applicablewith review_by 2026-08-01 (re-ratified via separate dated decision doc when cards exist). Canary + build-infra repos staynot_applicablepermanently.
The 2 actual wirings (per-slug card authoring + consumer-repo decision docs) are NOT performed by this PR. Each is a separate operator-driven event sequenced per docs/runbooks/crumb-wire-rollout.md.
Alternatives considered
Section titled “Alternatives considered”- Per-slug subdirectories in CRUMB. Reorganise
devarno-cloud/crumb:src/content/cards/into<slug>/<id>.md. Rejected: mutates a 150-card downstream repo for petrova’s convenience; CRUMB’s existing flat-namespace + ID-prefix convention is load-bearing inflashcardSchema.id. Schema downgrade is the right move. - Aggressive applicability (5 required like sub-project C). Rejected: CRUMB cards are a content product, not a property of every governed repo. Declaring
kahn-hq/choco-hq/devarno-cloudrequiredwhen they have zero cards would set uppending → unreachableprobe noise on the dashboard for months. Conservative + review_by 2026-08-01 is operationally honest. - Bundle the 2 wirings into this PR. Rejected: same logic as B and C — single merge would mutate cross-org production state (CRUMB-side card PRs across the fleet). MR-7 says wirings are operator-gated.
Consequences
Section titled “Consequences”For code:
crumbProbebecomes load-bearing;petrova doctor --slug=stratt-hqand--slug=grace-hqreport based on real CRUMB state.- The probe shells out to
gh apivia existingProbeContext.ghplumbing (no new HTTP runner needed for crumb). - The vendored schema’s
_source.upstream_commitfield is checked against CRUMB’s HEAD on schema-bump decision docs.
For docs:
- New:
core/prompts/08-crumb-wire.md(in thecore/promptssubmodule). - New:
docs/runbooks/crumb-wire-rollout.md. - New:
docs/superpowers/specs/2026-05-01-petrova-crumb-spec.md. - New:
docs/superpowers/plans/2026-05-01-petrova-crumb-plan.md.
For invariants:
- No new MRs. MR-12 (CLAUDE.md as projection) is reinforced by the vendored schema’s
_sourceprovenance pattern. _sourceblock in vendored schemas is a new convention — documented inline; future schema syncs follow the same pattern.
References
Section titled “References”- Spec:
docs/superpowers/specs/2026-05-01-petrova-crumb-spec.md - Plan:
docs/superpowers/plans/2026-05-01-petrova-crumb-plan.md - Runbook:
docs/runbooks/crumb-wire-rollout.md - Sub-project C decision:
docs/decisions/2026-05-01-traceo-wire-adoption.md - Sub-project B decision:
docs/decisions/2026-05-01-ares-wire-adoption.md - CRUMB upstream:
https://github.com/devarno-cloud/crumb
Operator approval
Section titled “Operator approval”Tick all four boxes before flipping status: proposed → status: ratified and merging:
- §1.2 of the spec: confirm the 7-row applicability table (2 required + 5 not_applicable; 3 carry implicit review_by 2026-08-01 documented in registry notes).
-
cli/src/schemas/crumb-flashcard.schema.json._source.upstream_commitmatches a current commit ondevarno-cloud/crumb:main. -
core/prompts/08-crumb-wire.md: confirm no operator-private content; placeholder tokens only. -
docs/runbooks/crumb-wire-rollout.md: accept the wave ordering (grace-hq first, stratt-hq second; gate review after).
Sign-off
Section titled “Sign-off”- Subagent: writing-plans (sub-project D implementer)
- Human: <
> (< >)