2026-08-01 — Promote arno-host scaffold → experimental
rank: decision outranks: []
Section titled “rank: decision outranks: []”2026-08-01 — Promote arno-host scaffold → experimental
Section titled “2026-08-01 — Promote arno-host scaffold → experimental”Date: 2026-08-01
Status: ratified
Slug: arno-host
MR-compliance: MR-4, MR-7, MR-12, MR-15, MR-17
Supersedes: the role: scaffold row set by
docs/decisions/2026-07-29-petrova_act_register_consumer-arno-host.md
(that doc stays accurate as a snapshot of registration; only the role and notes
move)
Rationale
Section titled “Rationale”arno-host was registered on 2026-07-29 by petrova_act_register_consumer,
which hardcodes role: scaffold. That was correct then — the repo had a
hand-authored .petrova/contract.yaml and nothing else of the control loop.
It is no longer correct.
Per docs/decisions/2026-04-30-registry-roles-and-profiles, scaffold means
pre-onboarding, control loop incomplete — not “early” and not “deprecated”.
That condition has been cleared:
- MR-17 — playbook physically present.
petrova_install_playbookoutput merged as arno-host PR #3 on 2026-08-01:.petrova/playbook/(META-RULES, bootstrap prompt, partials, progress schema) plus.github/workflows/petrova-notify-state.yml. - Control loop complete. arno-host PR #19 generated
CLAUDE.md,MILESTONES.md(9 phases with acceptance gates),AGENTS.xml(4 subagents, schema-valid, handoff DAG),docs/north-star/(3 docs, cap respected),docs/META-RULES.md, and.petrova/brand.yaml(shardglobal). Recorded in arno-hostdocs/decisions/2026-08-01-bootstrap-complete.md. - MR-15 — docs-invariants live. Installed in the same PR and green in CI (13s): ISO filenames, AGENTS.xml schema, both DAG checks, milestone cross-references, MR-7 supersession. It carries the corrected supersession guard from devarno-cloud#101, not the body-text-only version that never fired.
- Real code, audited. Phase 0 closed on the evidence at arno-host
docs/audit/execution/20260729T145744Z/— 17/17 dispatchable nodes VERIFIED, 0 files written outside the touches union, lint/typecheck/test green at final HEAD. Phase 1 (CLIO artefact store) is open, with CLIO live atclio.arno.host.
Not production. The v0.1 exit criteria in
arno-host:packages/contracts/spec/contract-tests.yaml are unmet:
mail-gateway, radio and the web surfaces are specced but unbuilt, and the
media-gateway suite is deliberately BLOCKED on OQ-3 (the live Jellyfin
openapi.json is unpinned). experimental is the honest tier.
Profile stays standard. The repo is private on a Free plan;
gh api repos/arno-host/arno-host/branches/main/protection returns HTTP 403
(“Upgrade to GitHub Pro…”), so no required-reviewer rule is expressible. There
is a real CI check and no human-reviewer requirement — the rule’s definition of
standard.
fleets_allowed stays []. No fleet is wired. AGENTS.xml declares the
petrova-act capability status="inert" for exactly this reason. Enabling it
is a later registry edit, not an edit in the consumer repo.
Change summary
Section titled “Change summary”registry.yaml > repos[arno-host]:
role:scaffold→experimentalintegrations_applicability: added, all fivenot_applicablenotes: stub → grounded summary with the promotion evidence- unchanged:
url,default_branch,profile,fleets_allowed,added,contract_sha(66519e31490c, re-verified bygit hash-objectagainst the live.petrova/contract.yaml— no contract drift),contract_committers
On integrations_applicability
Section titled “On integrations_applicability”All five not_applicable. No ARES, Traceo, CRUMB, ROCKY or EVA wiring exists
in the repo.
One asymmetry is worth stating so a future reader does not “correct” it: CLIO
(services/clio, clio.arno.host) is becoming the artefact host for ares’
Allure reports, replacing the gh-pages publishing path and
reports.devarno.cloud. That makes arno-host ares’ storage backend, not an
ares consumer — the applicability matrix asks the latter. Revisit when CLIO
Phase A closes.
Known follow-ups (not resolved here)
Section titled “Known follow-ups (not resolved here)”- Contract self-declaration is stale.
arno-host:.petrova/contract.yamlstill says all five integrations arepending(2026-07-28). Governance now saysnot_applicable. Per the registry schema this is not a CI failure — that fires only when a consumer claimsnot_applicableagainst a governancerequired— but the two should agree. Reconciling bumpscontract_shaand must land as a paired consumer PR + registry edit. declare_baselinev5 stays blocked.AUDIT_HAS_NO_FAILSreports 18 fails across other consumers (abacus, devaqua-blue, fathom, hermes and more — mostly MR-14 contract unobserved, MR-15 workflow missing, MR-17 playbook not installed). Unrelated to this promotion; an operator task here. arno-host’s own MR-15 and MR-17 fails are cleared by the two PRs cited above.PETROVA_DISPATCH_TOKENis unset in arno-host’s Actions secrets, sopetrova-notify-state.ymlno-ops. The 30-minute state-sweep cron covers it.
Consequences
Section titled “Consequences”petrova sweep-statecontinues trackingarno-hostand will now compare against a complete control loop rather than a bare contract.- Phase state becomes meaningful on the dashboard: Phase 0 closed, Phase 1 open.
- Promotion
experimental→productionis gated on the v0.1 exit criteria incontract-tests.yaml, verbatim — including the media-gateway suite staying BLOCKED rather than being silently closed.