feat+workstream-channels lifecycle checkpoint#634
Draft
4444J99 wants to merge 4 commits into
Draft
Conversation
…clear NO-HARDCODE gate The repair FACTORY was silent since 2026-06-30: scripts/self-heal.py works (dry-run emits HEAL-cifix/HEAL-rebase tasks cleanly) but NOTHING in the beat ever invoked it — every "self-heal" hit in heartbeat-loop.sh/metabolize.sh was prose, not a call, and there is no launchd for it. So the fleet's REFUSED PRs (60 conflicting + 26 CI-red on organvm/limen alone) piled up read as "blockers" when they are merge-daemon refusal states = WORK, not walls. merge-drain is the bouncer; self-heal is the factory that turns refusals into fixable tasks the router+dispatcher repair and merge-drain then lands. This turns the crank. - heartbeat-loop.sh: invoke self-heal in the C_HEAL block beside heal-dispatch (outside the daemon queue-lock, which self-heal self-acquires and skips cleanly when held). Flag-gated (LIMEN_SELF_HEAL, default-ON), timeout-wrapped (network gh), bounded rotating --scan window, already-queued-deduped, fail-open. Redirects EXISTING budgeted dispatch from receipt-churn to real PR repair — not new spend. - parameters.yaml: declare LIMEN_SELF_HEAL / _TIMEOUT / _SCAN. - Also clears a PRE-EXISTING main-red: LIMEN_SI_WEIGHT_CEILING (route.py SI-weighting) was referenced but undeclared, failing the NO-HARDCODE gate and blocking every PR's pr-gate. Declared it + its FLOOR sibling, folded FLOOR out of the grandfather baseline. Gate: 6 passed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
cli/tests/test_dispatch.py drifted unformatted onto main (a long CompletedProcess line >120 cols), failing `ruff format --check` in pr-gate/python/python-311 on EVERY open PR — a fleet-wide trunk-red, not introduced here. ruff format wraps the one line; behavior-preserving. Folded into #591 alongside the NO-HARDCODE gate clear: same rationale — repair the pre-existing gate reds that block the shared required pr-gate from ever going green. Refusal-states are repair work, not blockers. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
test_failed_claude_escalates_via_existing_cascade asserted the static
ordering claude→gemini but only cleared LIMEN_DISPATCH_LANES — so it
transitively depended on _lane_cascade(), which filters by live health.
gemini is now `down` (CONSUMER_SUSPENDED post OAuth-Code-Assist sunset)
and absent from CI's auto-selected live set, collapsing the cascade to
[...,claude] → _next_lane('claude')==None → the test fails on EVERY PR.
Production code is correct (dropping a down lane is right); the test was
brittle. Pin _lane_cascade to its static order so it documents the
ordering rung independent of who is up. Third trunk-red cleared in #591
alongside the ruff-format drift and NO-HARDCODE gate — all so the shared
required pr-gate can go green fleet-wide.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
scripts/capacity-fill-ledger.py:372-375 escaped markdown pipes with
.replace('|', '\\|') INSIDE f-string braces. A backslash in an f-string
expression is a SyntaxError on Python 3.11 (PEP 701 lifts it only on
3.12+), so the module failed to import under the python-311 CI matrix
job — 7 test failures — while python (3.12) passed the identical code.
Hoist each pipe-escape to a local before interpolation, exactly as the
census loop directly above (line 356) already does. Verified: a real
python3.11 now compiles the file; the 7 tests pass. Fourth trunk-red
cleared in #591 so the shared required pr-gate greens fleet-wide.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lifecycle preservation PR opened by
scripts/worktree-pr-receipts.py.Purpose:
Verification performed by the helper:
git status --porcelainOpened as draft because lifecycle reduction is not merge authorization.