Description
The /wr-itil:work-problems orchestrator over-applies the Step 5 P147 "stuck-before-emit" halt contract: it reads "halt the AFK loop" as absolute and stops at a known-clean handoff point, even when P147's own three integrity-check preconditions are satisfied (commits landed cleanly, working tree clean, push + release succeeded) AND the next iter scope is clearly queued AND ample quota remains. The intended semantics are "do not silently continue without verifying integrity", not "halt whenever the P147 signature matches".
Symptoms
- AFK loop terminates at a clean handoff point with verified in-flight work, a queued next iter, and ample quota.
- Orchestrator emits a halt directive citing P147 and "user re-invokes to resume".
- The pattern recurs on every P147 event because the SKILL prescribes halt as the deterministic action.
Workaround
User re-invokes /wr-itil:work-problems; the loop resumes from the next-highest-WSJF ticket. Cost: friction tax per P147 event, lost in-context iter knowledge, and a user wake-up interrupt.
Affected plugin / component
@windyroad/itil — work-problems SKILL.md Step 5 P147 stuck-before-emit halt contract.
Frequency
Every P147 event where integrity IS verifiable and the next iter scope is obvious.
Versions
- Local plugin:
@windyroad/itil (not detected — marketplace install)
- Upstream package:
@windyroad/itil (not detected)
- Claude Code CLI: 2.1.219
- Node: v24.16.0
- OS: Darwin 25.3.0 arm64
Evidence
Fix shape: reframe the Step 5 P147 halt as "halt-when-integrity-cannot-be-verified" rather than "halt-when-signature-matches" — when P147's three integrity-check preconditions pass and the next iter scope is queued with quota remaining, continue rather than halt. Related to #138 (deferral when the user is observably present).
Cross-reference
Reported from https://github.com/voder-ai/dry-aged-deps — tracked locally as problem ticket P027 in docs/problems/.
Description
The
/wr-itil:work-problemsorchestrator over-applies the Step 5 P147 "stuck-before-emit" halt contract: it reads "halt the AFK loop" as absolute and stops at a known-clean handoff point, even when P147's own three integrity-check preconditions are satisfied (commits landed cleanly, working tree clean, push + release succeeded) AND the next iter scope is clearly queued AND ample quota remains. The intended semantics are "do not silently continue without verifying integrity", not "halt whenever the P147 signature matches".Symptoms
Workaround
User re-invokes
/wr-itil:work-problems; the loop resumes from the next-highest-WSJF ticket. Cost: friction tax per P147 event, lost in-context iter knowledge, and a user wake-up interrupt.Affected plugin / component
@windyroad/itil—work-problemsSKILL.md Step 5 P147 stuck-before-emit halt contract.Frequency
Every P147 event where integrity IS verifiable and the next iter scope is obvious.
Versions
@windyroad/itil(not detected — marketplace install)@windyroad/itil(not detected)Evidence
Fix shape: reframe the Step 5 P147 halt as "halt-when-integrity-cannot-be-verified" rather than "halt-when-signature-matches" — when P147's three integrity-check preconditions pass and the next iter scope is queued with quota remaining, continue rather than halt. Related to #138 (deferral when the user is observably present).
Cross-reference
Reported from https://github.com/voder-ai/dry-aged-deps — tracked locally as problem ticket P027 in
docs/problems/.