2026-05-01-lore-cairnet-wire-adoption
title: Adopt LORE + CAIRNET wire-up via sub-project E date: 2026-05-01 status: proposed mr_compliance: [MR-7, MR-13] outranks: docs/superpowers/specs/2026-05-01-petrova-lore-cairnet-spec.md
Section titled “title: Adopt LORE + CAIRNET wire-up via sub-project E date: 2026-05-01 status: proposed mr_compliance: [MR-7, MR-13] outranks: docs/superpowers/specs/2026-05-01-petrova-lore-cairnet-spec.md”Context
Section titled “Context”Sub-project A merged the spine with a lore_cairnet evidence block and a stub probe returning unreachable. Sub-projects B (ARES), C (Traceo + Ariel), and D (CRUMB) ratified the four-block pattern: real probe + reusable diagnostic verb + adoption prompt + applicability runbook. Sub-project E applies the same pattern to LORE/CAIRNET — Pebble’s knowledge-collection registry plus the agent-emission stream.
Spec: docs/superpowers/specs/2026-05-01-petrova-lore-cairnet-spec.md.
Decision
Section titled “Decision”Ship four artefacts in one parent PR + one submodule PR:
- Real
loreCairnetProbe— 2 ordered HTTP checks (LORE collection registered + CAIRNET emission count over 30d). Outcomes:ok | degraded | failing | unreachable. Both-required auth viaPETROVA_PEBBLE_TOKEN. ReusesProbeContext.http(sub-project C); no new context fields. - CLI verb
petrova lore-cairnet-status <slug>— operator-facing read-only diagnostic. Same 2 API calls; prints emission rate, budget headroom, latest 5 stones. Always exits 0. - Prompt
09-lore-cairnet-wire.md— Phase 0 preflight + 6 gated phases (audit → token verify → register LORE → register CAIRNET → cross-repo gate → contract flip). - Registry applicability — aggressive: 5
required(kahn-hq, stratt-hq, choco-hq, devarno-cloud, grace-hq), 2not_applicable(petrova-hq canary, traceo-mcp-server build infra).
No schema change — sub-project A’s LoreCairnetIntegration.evidence shape is sufficient.
Alternatives considered
Section titled “Alternatives considered”- Conservative applicability (only 2 required slugs). Rejected: LORE/CAIRNET is fundamentally an agent-fleet observability story; production/experimental slugs all run agents. Pre-wiring
pending → unreachableis correctly-shaped probe noise during the rollout window, not a regression. - Schema extension (per-slug
pebble_endpoint). Rejected: env-var resolution chain (PETROVA_PEBBLE_ENDPOINT→ fallback) is sufficient; per-slug overrides would invite sprawl. Future tightening is a separate decision doc. - Active rate-limiter in this sub-project. Rejected: requires Pebble write-side auth + quota state. Sized as candidate sub-project E’.
gh api-based probe (mirror ARES/CRUMB). Rejected: LORE/CAIRNET are HTTP services hosted on Pebble, not GitHub repos. UseProbeContext.http(already shipped in sub-project C).
Consequences
Section titled “Consequences”- 5 follow-on consumer-repo PRs (one per required slug), each: decision doc + contract flip. Plus operator-driven Pebble registrations (HTTP POSTs, not PRs).
- Until each slug wires up, the dashboard shows
lore_cairnet: unreachable "evidence incomplete"for the 5 required slugs. Correctly-shaped probe noise during the rollout window. petrova lore-cairnet-status <slug>is available as a read-only diagnostic for any slug at any time.- Schema is unchanged; existing
lore_cairnet: not_applicableentries (petrova-hq) continue to work. - Active rate-limiter (sub-project E’) remains a tracked follow-up; per-slug
emission_budget_30dcalibration is per-decision-doc.
References
Section titled “References”- Spec:
docs/superpowers/specs/2026-05-01-petrova-lore-cairnet-spec.md - Plan:
docs/superpowers/plans/2026-05-01-petrova-lore-cairnet-plan.md - Runbook:
docs/runbooks/lore-cairnet-wire-rollout.md - Prompt:
core/prompts/09-lore-cairnet-wire.md - Predecessors: sub-project A (PR #8), B (#9, #10), C (#12), D (#13)
Operator approval
Section titled “Operator approval”- Probe surface area (2-check, both-required auth) is the right model
- Aggressive applicability (5 required) is the right call
- Default
emission_budget_30dof 50 is a reasonable starting point - Active rate-limiter (E’) deferral is acceptable
Sign-off
Section titled “Sign-off”- operator: