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/itil — work-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/.
Description
/wr-itil:work-problemsStep 5 subprocess JSON envelope'sduration_ms(not justusage.*tokens) can dramatically undercount when the subprocess exits via a background-task completion ack. Extend the P089 Gap 2 authority-hierarchy caveat to nameduration_msalongsideusage.*.Symptoms
claude -p --output-format jsonenvelope reports e.g.duration_ms: 13445(13.4s) withnum_turns: 1,stop_reason: end_turn, while the orchestrator's Bash wall-clock timer shows ~2105s (~35 min).Workaround
Measure wall-time from the Bash wrapper's own timer (already documented as the SIGTERM-decision signal); treat
duration_msas best-effort under the same exit-mode caveat asusage.*.Affected plugin / component
@windyroad/itil—work-problemsSKILL.md Step 5 "Authority hierarchy (P089 Gap 2)" paragraph.Frequency
Per iter that exits via a background-task completion ack.
Versions
@windyroad/itil(not detected — marketplace install)@windyroad/itil(not detected)Evidence
Fix shape: extend the Authority hierarchy paragraph to name
duration_msalongsideusage.*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/.