docs(standards): formalize agent canary-ring/soak/promotion model + ADR (#869)#520
Conversation
… + ADR (#869) The rings model in ci-standards.md was documented aspirationally and as a cut-release.sh-only (manual) process. dev-lead v1.4.0 has now shipped end-to-end through the automated, health-gated pipeline, so promote the standard to match: - Ring table → the canonical host-relative model: next=host, ring0=other org-infra repo, ring1=named low-traffic consumers, stable=rest. Points at canary-rings.json as the membership SoT. - "Rollout status" → reflects the built automation: canary-rollout.sh + the 4h evaluate / dispatch-gated promote, the concrete soak gate (healthy >= ceil(baseline/7) AND failure-rate <= baseline, no floor), rollback mechanics, and the codified release-channel-tags ruleset (apply-rulesets.sh). - New ADR docs/initiatives/agent-canary-rings-adr.md — records the decision + rationale (immutable releases + moving channels, host-relative rings, health-gated promotion, circular-dependency fix). DRAFT until the host-repo implementation PRs land (.github-private #878 canary-rollout, #889 ruleset codify, #880 SHA-pin guardrail) — this standard references them. Closes #869. Refs #495, #499, #500, #501, #502, #868. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughA new ADR documents the host-relative, health-gated canary ring release model for agent rollouts. ChangesCanary Ring Release Model Documentation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request introduces an Architecture Decision Record (ADR) and updates the CI standards documentation to detail the new host-relative canary rings release strategy with health-gated promotion. The feedback highlights a documentation inconsistency, noting that the mentioned script scripts/apply-rulesets.sh does not currently support the release-channel-tags ruleset.
Dev-Lead — fix-bot-comment (applied)Changes committed and pushed. |
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@standards/ci-standards.md`:
- Around line 100-113: The canary-ring description in this section is internally
contradictory: the table and host-relative explanation in the standards block,
including the references to next, ring0, and dev-lead, must be aligned to one
consistent self-host model. Update the adjacent prose so the definitions for
next and ring0 match the table and remove any wording that says ring 0 is the
reusable’s own self-host if next is the self-host ring; keep the
machine-readable source-of-truth note unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 3e03c46e-9235-4c60-bd5d-659969bcacd2
📒 Files selected for processing (2)
docs/initiatives/agent-canary-rings-adr.mdstandards/ci-standards.md
Dev-Lead — fix-reviews (applied)Changes committed and pushed. |
|
Note @don-petry I reviewed this PR and no code changes were needed, but it still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews), so I cannot mark it done yet. I'll re-check automatically. |
Dev-Lead — waiting on PR blockers (intent: fix-reviews)PR: #520 |
Dev-Lead — waiting on PR blockers (intent: review-changes)PR: #520 |
donpetry-bot
left a comment
There was a problem hiding this comment.
Automated review — APPROVED ✓
Risk: LOW
Reviewed commit: 030a8213f1f31ed3fd922c7a6e8a57c9de67c7d8
Review mode: triage-approved (single reviewer)
Summary
Docs-only change (ADR + standards markdown; +92/-17 across 2 files) formalizing the host-relative, health-gated canary-ring release model for agent rollouts. Adds docs/initiatives/agent-canary-rings-adr.md and rewrites the rings table + 'Rollout status' section of standards/ci-standards.md. No code, config, auth, secrets, or CI-workflow logic touched. Triage's low-risk assessment confirmed.
Linked issue analysis
Closes #869 (host repo .github-private) — 'formalize the agent canary-ring/soak/promotion model'. Substantively addressed: the standard is promoted from the aspirational/manual description to the shipped automated model, and a decision-recording ADR is added. (closingIssuesReferences is empty in the API because #869 lives in the cross-repo host, which is expected.)
Findings
No blocking findings.
- The PR body's 'Draft until host-repo implementation PRs land' caveat is satisfied: the referenced automation now exists on .github-private@main — scripts/canary-rollout.sh, standards/canary-rings.json, .github/workflows/canary-rollout.yml, and scripts/apply-rulesets.sh all verified present. The PR is no longer a draft (isDraft=false).
- Prior CodeRabbit CHANGES_REQUESTED (internal next/ring0 contradiction, on superseded SHA 98cbb88) was resolved on the head SHA; CodeRabbit subsequently APPROVED the head commit (030a821).
- gemini-code-assist's earlier comment (apply-rulesets.sh lacked release-channel-tags support, on first SHA 73aa0cf) is moot: the head-SHA wording no longer references that script, and the script now exists on host main.
- mcp__github__run_secret_scanning unavailable in this run; not applicable to docs-only markdown, and the gitleaks CI secret scan passed.
CI status
All substantive checks green: Lint, ShellCheck, Secret scan (gitleaks), CodeQL, SonarCloud (Quality Gate passed), Agent Security Scan, AgentShield, CodeRabbit. Dependency-audit jobs SKIPPED (no manifest changes — expected). The only non-success entries are dev-lead/dispatch and dev-lead/ci-relay (CANCELLED) — the agent's own orchestration runs superseded by concurrency, not quality gates; a parallel dev-lead/dispatch ran SUCCESS. mergeStateStatus is BEHIND (needs rebase before merge; handled by auto-rebase, not a review blocker).
Reviewed automatically by the PR-review agent (single-reviewer mode: fable 5). Reply if you need a human review.
|
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |



Draft until the host-repo implementation PRs land — this standard references them.
Promotes
ci-standards.mdfrom the aspirational / manual (cut-release.sh-only) description to the automated, health-gated model now shipped fordev-leadv1.4.0:next=host,ring0=other org-infra repo,ring1=named low-traffic consumers,stable=rest. Linkscanary-rings.jsonas the SoT.canary-rollout.sh+ 4hevaluate/ dispatch-gatedpromote, the concrete soak gate (healthy ≥ ceil(baseline/7)ANDfailure-rate ≤ baseline, no floor), rollback, and the codifiedrelease-channel-tagsruleset.docs/initiatives/agent-canary-rings-adr.md— records the decision + rationale.Blocking PRs (host repo
petry-projects/.github-private): #878 (canary-rollout automation), #889 (ruleset codify), #880 (SHA-pin guardrail). Mark ready once those merge.Closes #869. Refs #495, #499, #500, #501, #502, #868.
🤖 Generated with Claude Code
Summary by CodeRabbit