Decision: adopt ARES wiring + ratify applicability for 6 repos
date: 2026-05-01 status: proposed title: Adopt ARES wiring as a PETROVA artefact and ratify governance applicability supersedes: []
Section titled “date: 2026-05-01 status: proposed title: Adopt ARES wiring as a PETROVA artefact and ratify governance applicability supersedes: []”Decision: adopt ARES wiring + ratify applicability for 6 repos
Section titled “Decision: adopt ARES wiring + ratify applicability for 6 repos”Context
Section titled “Context”Sub-project A merged the integration spine on 2026-05-01 (PR #8). The spine reserves a slot for ARES (AresIntegration in cli/src/types.ts, aresProbe in cli/src/probes/ares.ts) but ships only a stub probe and no governance commitment about which repos must be wired. The vault brief at ~/Documents/base-vault/plans/kit/xml/wire-2-ares.md has wired one repo (kahn-hq, precedent) and is otherwise private.
Sub-project B’s spec (docs/superpowers/specs/2026-05-01-petrova-ares-wire-spec.md) closes that gap.
Decision
Section titled “Decision”Three things, atomically in this PR:
-
Real ARES probe.
cli/src/probes/ares.tsis replaced with a read-only probe that confirms wiring exists by querying the GitHub webhook + most recent delivery viagh api. Outcomes:ok | degraded | failing | unreachable. The probe never creates webhooks. (Wiring is for the prompt; observation is for the probe — same intent/observation split as MR-13.) -
Adopt the vault brief as
core/prompts/06-ares-wire.md. A first-class PETROVA prompt callable aspetrova act ares-wire. Operator-private values (Railway service names, KAHN URLs, atlas paths) are replaced with<<PLACEHOLDER>>tokens per the convention established by00-bootstrap.md. Two PETROVA-specific tasksets are added: 0 (petrova doctorpreflight) and 9 (consumer’s.petrova/contract.yaml.integrations.aresflip). -
Governance applicability.
registry.yamldeclaresintegrations_applicability.ares: requiredfor the six governed repos:kahn-hq,stratt-hq,choco-hq,devarno-cloud,traceo-mcp-server,grace-hq.petrova-hqstaysnot_applicable(canary).
The 6 actual wirings are NOT performed by this PR. Each is a separate operator-driven event with its own dated decision doc inside the consumer repo, sequenced per docs/runbooks/ares-wire-rollout.md. This decision ratifies governance intent — the wirings are downstream work.
Alternatives considered
Section titled “Alternatives considered”- Probe only — leave the brief in the vault. Rejected: the brief is the load-bearing operational knowledge; making it private makes it lossy. Replicating it implicitly per repo is exactly the drift that a control plane is supposed to prevent.
- Adopt the brief but skip the registry update. Rejected: the dashboard would have no ground truth for who SHOULD be wired vs who happens to be wired. Without
requiredon the 6, a consumer that declaredares.status: not_applicablewould silently be allowed. - Bundle the 6 wirings into this PR. Rejected: that would make a single merge mutate cross-org production state (real org webhooks, Railway secrets across the fleet). Wrong shape — webhooks are operator-gated by design (MR-7).
Consequences
Section titled “Consequences”For code:
aresProbebecomes load-bearing;petrova doctor --slug=kahn-hqreportsokimmediately (precedent already wired).- The probe shells out to
gh apiviaProbeContext.gh(added in this PR for testability). - A consumer declaring
ares.status: not_applicablewhile governance saysrequiredis a designed CI failure — surfaces on the dashboard asfailingper the registry-schema contract.
For docs:
- New:
core/prompts/06-ares-wire.md(in thecore/promptssubmodule). - New:
docs/runbooks/ares-wire-rollout.md(wave-1/2/3 ordering + per-repo decision-doc template). - New:
docs/superpowers/specs/2026-05-01-petrova-ares-wire-spec.md. - New:
docs/superpowers/plans/2026-05-01-petrova-ares-wire-plan.md.
For in-flight phases:
- Unblocks waves 1 (
traceo-mcp-server) and 2 (grace-hq) — strictly serial, with a gate review between Phase 1 and Phase 2 (waves 3a/b/c pipelined). - Sub-projects C/D/E/F are unaffected; they may proceed in parallel.
For invariants:
- No new MRs. MR-13 (intent/observation split) is reinforced by the probe’s read-only contract.
contract_committers: ["humans"]is now declared explicitly for all 7 governed repos (previously only the canary).
References
Section titled “References”- Spec:
docs/superpowers/specs/2026-05-01-petrova-ares-wire-spec.md - Plan:
docs/superpowers/plans/2026-05-01-petrova-ares-wire-plan.md - Runbook:
docs/runbooks/ares-wire-rollout.md - Sub-project A spec/plan/MRs:
docs/superpowers/specs/2026-04-30-petrova-integration-spine-design.md,docs/decisions/2026-04-30-integration-spine-meta-rules.md - Vault brief origin:
~/Documents/base-vault/plans/kit/xml/wire-2-ares.md(private; adapted intocore/prompts/06-ares-wire.mdwith placeholder substitution) - Precedent wiring: kahn-hq @
v0.3.0-ingest
Operator approval
Section titled “Operator approval”Tick all three boxes before flipping status: proposed → status: ratified and merging:
- §5 of the spec: confirm the 6
requireddeclarations are correct and no governed repo is missing. -
core/prompts/06-ares-wire.md: confirm no operator-private content leaked from the vault brief (no real Railway service names, no real org/repo URLs beyond the publiccicd.devarno.cloud). -
docs/runbooks/ares-wire-rollout.md: accept the wave ordering (traceo-mcp-serverfirst,devarno-cloudlast; gate review between Phase 1 and Phase 2).
Sign-off
Section titled “Sign-off”- Subagent: writing-plans (sub-project B implementer)
- Human: <
> (< >)