Skip to content

wr-itil: work-problems Step 5 duration_ms can dramatically undercount (extend P089 Gap 2 authority hierarchy beyond usage.*) #397

Description

@tompahoward

Description

/wr-itil:work-problems Step 5 subprocess JSON envelope's duration_ms (not just usage.* tokens) can dramatically undercount when the subprocess exits via a background-task completion ack. Extend the P089 Gap 2 authority-hierarchy caveat to name duration_ms alongside usage.*.

Symptoms

  • An iter's claude -p --output-format json envelope reports e.g. duration_ms: 13445 (13.4s) with num_turns: 1, stop_reason: end_turn, while the orchestrator's Bash wall-clock timer shows ~2105s (~35 min).
  • Total cost stays authoritative; only wall-time/duration undercounts.

Workaround

Measure wall-time from the Bash wrapper's own timer (already documented as the SIGTERM-decision signal); treat duration_ms as best-effort under the same exit-mode caveat as usage.*.

Affected plugin / component

@windyroad/itilwork-problems SKILL.md Step 5 "Authority hierarchy (P089 Gap 2)" paragraph.

Frequency

Per iter that exits via a background-task completion ack.

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: extend the Authority hierarchy paragraph to name duration_ms alongside usage.* as best-effort. Cost remains authoritative; wall-time is measured from the Bash wrapper's own timer.

Cross-reference

Reported from https://github.com/voder-ai/dry-aged-deps — tracked locally as problem ticket P019 in docs/problems/.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions