Skip to content

work-problems Step 4 classifier does not pre-detect ADR-074 substance-gate likelihood before dispatch #222

@tompahoward

Description

@tompahoward

Description

The /wr-itil:work-problems orchestrator Step 4 classification table reads the top-WSJF ticket and applies deterministic rules before dispatching the iter subprocess. The table does NOT include a "dependent JTBDs / personas / ADRs all lack human-oversight: confirmed" pre-check. When such a ticket reaches dispatch, the iter subprocess invokes manage-problem, propose-fix hits the ADR-074 substance-confirm-before-build guard, queues an outstanding_question, and skips - costing one full iter with zero progress on the ticket.

Symptoms

  • An AFK iter dispatched for a JTBD-anchored ticket whose referenced JTBDs/personas/ADRs all lack human-oversight: confirmed halts at the ADR-074 substance gate.
  • The wasted iter produces docs commits (JTBD authoring + retro) but skips the ticket; observed cost ~$7.48 / 948s wall-clock for one such iter.
  • The pattern is structurally guaranteed for that ticket subclass; pre-classifying at orchestrator level (Step 4) would save the wasted-iter cost.

Workaround

The orchestrator main turn can manually apply the same pre-check before dispatching the next iter (grep the ticket's JTBD/Persona/ADR fields, resolve each, check human-oversight:), and route to a different ticket that does not trigger ADR-074. Observed working around it this way 2026-06-03 (routed a second iter to a non-JTBD-anchored ticket which shipped a real fix).

Affected plugin or component

@windyroad/itil - packages/itil/skills/work-problems/SKILL.md Step 4 classifier.

Frequency

Once per AFK iter dispatched for a JTBD-anchored ticket whose referenced artefacts all lack oversight. Structurally guaranteed for that subclass.

Versions

  • Local plugin: @windyroad/itil@0.44.0
  • Upstream package: @windyroad/itil@0.44.0
  • Claude Code CLI: 2.1.150 (Claude Code)
  • Node: v22.17.1
  • OS: Darwin 25.3.0 x86_64

Evidence

Suggested fix: extend Step 4 classifier with a pre-dispatch check - for each ticket, grep its JTBD / Persona / ADR fields, resolve each referenced artefact, check its human-oversight: field. If ALL referenced artefacts lack human-oversight: confirmed, classify as Skip - surface substance-confirm at stop (Step 2.5) with skip_reason_category: user-answerable, and queue the substance-confirm questions at orchestrator level WITHOUT dispatching the iter. Composes with the existing "Problem previously attempted twice without progress -> Skip" rule by catching the structurally-guaranteed skip at attempt 1 instead of attempt 3. Composes with ADR-074 + ADR-068.

Cross-reference

Reported from https://github.com/mountain-pass/addressr-mcp docs/problems/open/014-work-problems-step-4-classifier-does-not-pre-detect-substance-gate-likelihood.md

Tracked locally as P014 in the downstream project's docs/problems/ directory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions