Absorb turn lifecycle hardening into the live stack - #1153
Conversation
The restore-reachability query followed body references one hop from the directly reachable set, so a constraint function calling through an intermediate body hid an unpinned function at the end of the chain while INV-070 stayed green. The covered set is now a recursive closure that follows prosrc name references to a fixed point — pg_depend has no body-level representation, so text derivation remains the mechanism — and a companion test builds a synthetic three-deep chain and asserts all three probe functions surface, the tail being reachable only through the closure. The container sweep inventory counts the companion test's start site.
Review round: the transitive-chain assertion repeated the function names embedded in the fixture DDL, so a rename would break the assertion while discovery stayed correct; the names are now constants, the DDL renders from them, and the assertion consumes the same constants. The file header's reachability summary states the transitive closure instead of the superseded one-hop wording.
…sure Close body-reference discovery over transitive callees
…into agent/daemon-live-absorb-turn-lifecycle-hardening # Conflicts: # .github/workflows/rust.yml # apps/signalboxd/src/lib.rs # apps/signalboxd/src/turn_liveness_runtime.rs # crates/domain/src/turn_eligibility.rs # crates/persistence/migrations/202608210500_automatic_model_call_reconciliation.sql # crates/persistence/src/lock_inventory.rs # crates/persistence/src/model_call_reconciliation.rs # crates/persistence/src/process_read.rs # crates/persistence/src/startup.rs # crates/persistence/src/submit_input.rs # crates/persistence/src/turn_liveness.rs # docs/domain-spine.md # docs/spec/configuration-and-credentials.md # docs/spec/persistence-protocol.md # docs/spec/turn-lifecycle-and-scheduling.md
|
Warning Your free Security trial is over. An organization admin can activate billing to continue. |
|
Important Approval pendingCodeRabbit has no unresolved comments, but it skipped the latest review. Use the checkbox below to review the latest commit. CodeRabbit will approve the changes if it finds no blocking issues.
Comment |
|
You have reached your Codex usage limits for security reviews. Please try again later. |
Rust coverage (report only)Report only. This measurement has no threshold, gates no merge, and
What this number does not measure
Per crate, least-covered first
25 files with the most uncovered lines
Measured at |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9cc0703d9c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Summary
Meaningfully changed lines excluding lockfiles: 120.
Numeric-bound ceilings added by this slice: none.
Absorption ledger
eeee1c5b5: turn-lifecycle hardening; later live-line implementations retained for superseded conflictsValidation
The release daemon artifact is byte-identical to the immediate base, so advancing the deployment ref requires no process restart.