Skip to content

fix(bearings): gate unreclaimed completed work - #1985

Open
coreldh wants to merge 2 commits into
kunchenguid:mainfrom
coreldh:fm/c0808n-fm-1735-republish
Open

fix(bearings): gate unreclaimed completed work#1985
coreldh wants to merge 2 commits into
kunchenguid:mainfrom
coreldh:fm/c0808n-fm-1735-republish

Conversation

@coreldh

@coreldh coreldh commented Aug 9, 2026

Copy link
Copy Markdown

Intent

Republish PR 1735 cleanly from current main without rebasing or resurrecting its stale head. Close only the Bearings decision-hold regression: a terminal-looking but unreclaimed in-flight non-held task whose endpoint and worker are both verified absent must surface as a measured-liveness gate; held, active-worker, and live-blocked lanes must not receive that gate. Prove RED before GREEN and prove the property goes RED for the intended reason when the measured-liveness selector is neutralized. Keep the replacement tight, preserve production semantics, and do not absorb the oversized-fleet snapshot/argv work from the separately published PRs 1968 or 1964. Publish only through this repository's no-mistakes pipeline; do not force-push, merge, self-approve, or close PR 1735.

What Changed

  • Added measured-liveness data to fleet snapshots and gated terminal-looking, unreclaimed non-held tasks when both endpoint and worker are verified absent.
  • Preserved held, active-worker, and live-blocked behavior while expanding regression coverage, including selector-neutralization and teardown cases.
  • Documented the Bearings gate behavior across the skill, architecture, and decision-hold lifecycle guidance.

Risk Assessment

✅ Low: The change is tightly scoped to Bearings liveness measurement, requires verified absence of both endpoint and worker, preserves held and active lanes, and includes RED-before-GREEN falsification coverage without absorbing unrelated fleet work.

Testing

The targeted lifecycle test passed and produced reviewer-visible CLI evidence. No UI surface applies.

Evidence: Bearings regression transcript

Focused regression passed; the transcript includes the measured-liveness gate, negative lanes, and selector-neutralization RED check.

FM_TEST_BEGIN 2026-08-09T02:11:39Z tests/fm-decision-hold-lifecycle.test.sh family=pure-contract-unit expected_gate_skip=none
ok - verified-absent in-flight work gates while held and active workers avoid measured-liveness gates, selector neutralization goes RED, and completion refuses before report loss
ok - non-forced scout teardown always requires durable inventory verification
ok - captain holds are idempotent, distinct, teardown-safe, Bearings-visible, and durably routed before close
ok - completion and verification validate origins before constructing paths
ok - ended visual review follows the same decision-hold completion owner
ok - resolved findings and decision-like prose do not create false holds
ok - terminal single-owner stale status decisions do not block empty inventory
ok - main-home and secondmate-home captain holds remain correctly routed
ok - resolve matches first/middle/last in quoted blocked_by and rejects a genuinely absent id
FM_TEST_END 2026-08-09T02:12:37Z tests/fm-decision-hold-lifecycle.test.sh exit=0 duration_ms=57992 gate_skip=false
FM_TEST_SUMMARY total=1 failed=0 skipped_gate=0 duration_ms=58078
FM_TEST_SUMMARY_FAMILY family=pure-contract-unit count=1 duration_ms=57992 failed=0
FM_TEST_SLOWEST rank=1 script=tests/fm-decision-hold-lifecycle.test.sh duration_ms=57992

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

✅ **Review** - passed

✅ No issues found.

✅ **Test** - passed

✅ No issues found.

  • bin/fm-test-run.sh tests/fm-decision-hold-lifecycle.test.sh
  • Verified phantom, held, active-worker, selector-neutralization, and teardown-preservation cases.
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant