test(raw-authority): add crash-recovery fixed-point proof#3080
Conversation
Problem The raw-authority repair route had ledger recovery tests but no reusable control-plane proof that faults across transaction boundaries preserve durable conservation and reach a two-census fixed point. What changed Add a disposable-archive devtools command that injects faults before outcome commit, after outcome commit, and during resumed work. It checks production census receipts, application postconditions, conserved terminal outcomes, and negative mutations. Compatibility/migration The command creates only fresh archives below its requested work directory and changes no production schema or repair behavior. Co-Authored-By: Claude <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 53 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughChangesRaw authority restart proof
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant Developer
participant RestartProofCLI
participant ProductionRepair
participant Ledger
participant ProofReport
Developer->>RestartProofCLI: invoke raw-authority-restart-proof
RestartProofCLI->>ProductionRepair: prepare cases and execute fault matrix
ProductionRepair->>Ledger: materialize and resume repair state
Ledger-->>ProductionRepair: census, outcome, and receipt state
ProductionRepair-->>RestartProofCLI: recovery and fixed-point evidence
RestartProofCLI->>ProofReport: write JSON proof report
ProofReport-->>Developer: proof ID or JSON output
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ 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.
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 `@devtools/raw_authority_restart_proof.py`:
- Around line 969-971: Update the report construction around report_path so the
report_path field is added before serializing and writing the JSON file. Ensure
the persisted raw-authority restart proof and the payload returned or emitted
for --json use the same report object and schema.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: e4dd2e29-64c4-4944-85dd-c6e596bcd97e
📒 Files selected for processing (4)
devtools/command_catalog.pydevtools/raw_authority_restart_proof.pydocs/devtools.mdtests/unit/devtools/test_raw_authority_restart_proof.py
The restart-proof command returned a report path that the JSON artifact itself omitted. Store the final report object and verify saved and returned payloads are identical. Co-Authored-By: Claude <noreply@anthropic.com>
## Summary Archive the distinct WebUI-03 replacement and record durable Wave-2 evidence routing. ## Problem External packages span stale snapshots and active owner lanes; untracked routing risks both missed evidence and blind patch replay. ## Solution Preserve WebUI-03 r02, correct Support-D after #3080, and record active/deferred ownership for every retained package. No returned production patch is applied. ## Verification ZIP integrity, checksum, receipt/index JSON validation, `git diff --check`, local quick verification, and all required PR checks passed.
Problem: hjpx.2 needs a proof-report artifact recording verdict per law (envelope/health/fairness/fixed-point/mutations) regardless of whether the July-15-scale execution itself completes this session. Solution: report distinguishes proven-at-small-scale (envelope, fairness, conservation, interruption/resume, pressure-gate mutations -- all verified passing this session, several inherited from prior PRs like #3080/#3029/#3031) from genuinely unproven (daemon-health responsiveness -- confirmed no harness runs an actual daemon process to probe; filed polylogue-agvo) and not-yet-executed-at-cardinality (the July-15-shaped run itself -- three self-aborts under sustained, genuine host I/O contention across 4+ concurrent warroom lanes, receipts recorded). Explicitly states hjpx.2 is not closable this session rather than forcing a close on unmet AC. Verification: cited tests re-run and confirmed passing (see report for exact node list); no archive mutation. Ref polylogue-hjpx.2 Co-Authored-By: Claude <noreply@anthropic.com>
Problem: hjpx.2 needs a proof-report artifact recording verdict per law (envelope/health/fairness/fixed-point/mutations) regardless of whether the July-15-scale execution itself completes this session. Solution: report distinguishes proven-at-small-scale (envelope, fairness, conservation, interruption/resume, pressure-gate mutations -- all verified passing this session, several inherited from prior PRs like #3080/#3029/#3031) from genuinely unproven (daemon-health responsiveness -- confirmed no harness runs an actual daemon process to probe; filed polylogue-agvo) and not-yet-executed-at-cardinality (the July-15-shaped run itself -- three self-aborts under sustained, genuine host I/O contention across 4+ concurrent warroom lanes, receipts recorded). Explicitly states hjpx.2 is not closable this session rather than forcing a close on unmet AC. Verification: cited tests re-run and confirmed passing (see report for exact node list); no archive mutation. Ref polylogue-hjpx.2 Co-Authored-By: Claude <noreply@anthropic.com>
Summary
Adds a reusable, disposable-archive proof command for raw-authority repair
recovery across the transaction boundaries that matter for durable census
accounting.
Problem
The existing raw-authority tests cover pieces of restart recovery, but there
was no control-plane proof that interrupted production repair reconciles durable
outcomes without duplication and reaches a two-census fixed point.
Solution
devtools workspace raw-authority-restart-proof.components, including terminal and deferred outcomes.
finalization, and during a resumed batch.
blockers, and two consecutive quiescent dry-run censuses.
witness and require the proof to fail closed.
Verification
devtools test tests/unit/devtools/test_raw_authority_restart_proof.py4 passed in 2.10sdevtools workspace raw-authority-restart-proof --workdir /realm/tmp/polylogue-raw-authority-proof --json2 executed / 1 deferred / 1 terminalwithno planned census or open blocker.
devtools render devtools-reference --checksync OK: docs/devtools.mddevtools verify --quicklayering, schema roundtrip, and repository verification gates).
Compatibility/migration
The command only creates fresh archives below the supplied work directory. It
does not change production schemas, repair behavior, or default limits.
Summary by CodeRabbit
New Features
Documentation
Tests