Repository navigation
008G: mission-local repair reachability proof - #75
Conversation
Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Replaces the full-registry repair-channel check with a per-episode, per-function proof through the shared task resolver. - task-resolver.js: extracted mission-scoped servable/pickTask/ optionsFor machinery + verified-event consumption; adds excludeTaskIds for counterfactual reachability. B0 never passes exclusions — byte-identical routing. - correction-episodes.js: evidence-only; retestReservedTaskIds (the registry-scan false positive) removed. - repair-proof.js: deriveMissionRepairPlan(s) proves ∀ missing fn ∃ mission-local, hard-filter-clean repair witness under probe exclusion; deriveRetestReservations turns complete proofs into the withheld probe set. - policies.js: hardFilter takes the reservation set; policyB1 wires proof between episode derivation and applyFilters; decision carries repairPlans for audit. - validator.js: B1 decisions independently re-derive proof + reservations (memoized rebuild); forged serve on a reserved probe fails closed with correction_retest_surface_reserved. - tests: +32 008G checks — clock/price/direction positive proofs, state table, cross-mission/ghost-registry/wrong-cap/wrong-fn/ stale-rev/repair-bound/failure-ceiling/repick/multi-fn/relapse attacks, registry-invariance metamorphic, validator forgery. - package.json: wires vnext-next-for-you-runtime into npm test — the suite was orphaned since 008E and never ran under verify/CI. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
Policy review of PR #75 head Exact-head CI is green (push DO NOT MERGE #75 YET. I found one reachability blocker in the proof contract, plus durable-truth cleanup. BLOCKER —
|
Review found the per-function witness aggregation could claim false
reachability: F1→A and F2→B each get a stream witness, but the route
serves ONE task next and serving A may exhaust the repair bound — B is
never actually reachable.
Narrow patch: REPAIRING/RELAPSED completeness now requires SOME live
repair route whose actual next serve under probe exclusion is
mission-local, hard-filter-clean, non-probe, and covers EVERY remaining
function. Per-function witness streams remain as audit detail only.
- plan.servedNext[] records each route's real next serve under exclusion
with coversAllRemaining
- MRP-SERVEDNEXT regression pair: split coverage under bound pressure →
complete=false, reservations=[]; single served task covering all
missing fns → proven, probes withheld
- differential unchanged: 1792 {1009,783}; B1 1744+42+6, 0 violations —
real-path remediations cover their full missing-fn sets
- REPORT: acceptance boxes + limitation note (REPAIRED_WAITING enters on
≥1-fn repair; multi-function generalisation deferred)
Runtime suite 338 checks.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
R1 re-review of PR #75 current head Exact-current-head Verify FlashDay #310 is now SUCCESS. The served-next patch fixes the specific split-witness bug from the previous review, and the new negative/positive pair is good. DO NOT MERGE YET. One reachability hole remains. BLOCKER —
|
R1 accepted the proof when one route's served-next covered all missing functions, but the policy may prefer a different route whose next serve is partial and burns the last repair action. Each live CORRECTION/REFRESH route is now classified on its natural pick (usable / inert / dangerous); complete requires a usable route and no dangerous one. Adds MRP-XROUTE. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
Final policy clearance on PR #75 head Independent final review confirms the R2 route-selection patch closes the remaining reachability hole:
The inherited REPAIRED_WAITING partial-repair limitation is correctly documented and is the next semantic target; 008G does not overclaim to solve it. 008G is cleared for merge. No B1 product rollout, public deploy, or Firestore-rules deployment is authorized by this merge. |
Summary
Mission 008G replaces the full-task-registry repair-channel check in
deriveCorrectionEpisodeswith an explicit, machine-readablemission-local repair reachability proof (control-room follow-up to
008F, PR #74).
task-resolver.js(new): mission-scopedservable/pickTask/optionsFor+ verified-event consumption extracted from the candidategenerator;
excludeTaskIdsenables counterfactual reachability. B0never passes exclusions — routing is byte-identical.
correction-episodes.js: evidence-only;retestReservedTaskIdsandthe registry scan removed.
repair-proof.js(new):deriveMissionRepairPlan(s)classifies EVERYlive CORRECTION/REFRESH route on its natural next serve (usable / inert
/ dangerous); complete iff ≥1 usable (mission-local, clean,
repair-eligible, non-probe, covers ALL remaining fns) and no dangerous
route (R1 + R2 review); per-fn witness streams kept for audit;
deriveRetestReservationsturnscomplete proofs into the withheld set. Reservation table:
OPEN never · REPAIRING/RELAPSED iff complete proof · REPAIRED_WAITING
direct · RETEST_DUE/VERIFIED never.
policies.js:hardFiltertakes the reservation set;policyB1wiresthe proof; decisions carry
repairPlansfor audit.validator.js: B1 decisions independently re-derive proof +reservations (memoized rebuild) — forged serves on reserved probes fail
closed.
package.json: wiresvnext-next-for-you-runtime.test.mjsintonpm test— the suite was orphaned from verify/CI since 008E.Evidence
table, cross-mission/ghost-registry/wrong-cap/wrong-fn/stale-rev/
repair-bound/failure-ceiling/repick/multi-fn/relapse attacks,
MRP-SERVEDNEXT split-coverage pair (R1), MRP-XROUTE cross-route
conflict pair (R2), registry-invariance metamorphic, validator forgery).
1792 rows {EXPECTED:1009, MATCH:783}byte-identical; B0↔B1
MATCH:1744, CORRECTION_RETEST_SURFACE_RESERVED: 42, CORRECTION_RETEST_DUE:6, violations 0, BUG 0.b1124.1ms vsb0125.9ms; proof reusesgen.resolver—no second candidate pass or model replay.
swe:verifyPASS @5b4f0aeand3870b9f; directverify:fullgreen @fc50e9d(R1) and on the R2 tree committed as0bbfa0b(factory refuses re-verify on a DONE mission).Test plan
npm run verify:fullgreen on ending SHA9d3690cand R1fc50e9d0bbfa0b(push 36831383522 + pr 36831387521)Not merged autonomously — awaiting review; user is merge authority.
B1 remains shadow/experiment; production route serves B0.
Generated with Devin