@windyroad/itil 0.44.1 → 0.44.2-preview.507
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@windyroad/itil",
|
|
3
|
-
"version": "0.44.
|
|
3
|
+
"version": "0.44.2-preview.507",
|
|
4
4
|
"description": "ITIL-aligned IT service management for Claude Code (problem, and future incident/change skills)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"windyroad-itil": "./bin/install.mjs"
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"skills/",
|
|
27
27
|
"scripts/",
|
|
28
28
|
".claude-plugin/",
|
|
29
|
-
"lib/"
|
|
29
|
+
"lib/",
|
|
30
|
+
"!skills/*/eval/"
|
|
30
31
|
]
|
|
31
32
|
}
|
|
@@ -687,11 +687,23 @@ Update the "Status" field in the file to "Known Error".
|
|
|
687
687
|
|
|
688
688
|
**Known Error → Verification Pending** (fix released, per ADR-022):
|
|
689
689
|
|
|
690
|
-
When the fix for a Known Error ships, transition the ticket in a single commit
|
|
690
|
+
When the fix for a Known Error ships, transition the ticket in a single commit.
|
|
691
|
+
|
|
692
|
+
**Seed `Release vehicle` reference BEFORE the rename (P330).** BEFORE the `git mv` to `.verifying.md`, edit the `.known-error.md` ticket body to append a `**Release vehicle**: .changeset/<name>.md` paragraph at the END of the `## Fix Strategy` section (create the section if absent). The `<name>.md` is the kebab-case slug of the changeset file the fix commit authored under `.changeset/` (e.g. `wr-itil-p330-option-b.md`). The seed eliminates the `wr-itil-derive-release-vehicle <NNN>` helper's exit-2 routing on standalone K→V iters — the helper greps the ticket body for `.changeset/<name>.md` and exits 2 when absent; seeding the reference at fix-ship time (when the changeset name is fresh in scope, since the fix commit just created it) makes the helper exit 0 deterministically on first call. The exit-2 recovery routing documented in `/wr-itil:transition-problem` Step 6 remains as the legacy-ticket fallback. Matches the user's documented workaround pattern across 3 of 4 standalone K→V dogfoods in the 2026-05-30 session (P316 / P281 / P302 — see P330 § Symptoms).
|
|
693
|
+
|
|
694
|
+
> **Two P057 staging-trap windows on K→V (seed + rename).** The seed Edit on `.known-error.md` is the FIRST P057 window; the Edit that updates Status / writes `## Fix Released` AFTER the `git mv` is the SECOND. Consolidate staging into a SINGLE `git add docs/problems/<NNN>-<title>.verifying.md` AFTER both Edits + the `git mv`. `git mv` operates on the index entry — the body content the index references at rename time is the post-seed content, so the seed Edit's content is carried across the rename automatically; the single final `git add` re-stages the post-rename file with the post-`Edit` Status + `## Fix Released` content. The seed step does NOT introduce a separate `git add` of the `.known-error.md` path — staging discipline stays single-call by riding the rename's index entry.
|
|
691
695
|
|
|
692
696
|
```bash
|
|
697
|
+
# Step 1 — seed `**Release vehicle**: .changeset/<name>.md` in the Fix Strategy section
|
|
698
|
+
# ... use the Edit tool to append the seed paragraph to docs/problems/<NNN>-<title>.known-error.md ...
|
|
699
|
+
|
|
700
|
+
# Step 2 — rename
|
|
693
701
|
git mv docs/problems/<NNN>-<title>.known-error.md docs/problems/<NNN>-<title>.verifying.md
|
|
694
|
-
|
|
702
|
+
|
|
703
|
+
# Step 3 — update Status + add `## Fix Released` section
|
|
704
|
+
# ... use the Edit tool on docs/problems/<NNN>-<title>.verifying.md ...
|
|
705
|
+
|
|
706
|
+
# Step 4 — single re-stage covers both Edit windows
|
|
695
707
|
git add docs/problems/<NNN>-<title>.verifying.md
|
|
696
708
|
```
|
|
697
709
|
|
|
@@ -699,7 +711,7 @@ Then edit the file:
|
|
|
699
711
|
- Update the "Status" field to "Verification Pending"
|
|
700
712
|
- Add a `## Fix Released` section with: release marker (version, commit SHA, or date), one-sentence fix summary, "Awaiting user verification" line, and any exercise evidence from the releasing session.
|
|
701
713
|
|
|
702
|
-
Re-stage the `.verifying.md` file explicitly after the `Edit` tool runs (P057). The
|
|
714
|
+
Re-stage the `.verifying.md` file explicitly after the `Edit` tool runs (P057). The trailing `git add` above is NOT redundant — `git mv` alone stages only the rename, not the subsequent content edit; the same `git add` also re-stages the seed Edit content carried across the rename (single staging call, two Edit windows; P330 + P057).
|
|
703
715
|
|
|
704
716
|
Both the `git mv` and the file edits belong in the same commit as the fix implementation per ADR-014 (governance skills commit their own work). The `.verifying.md` suffix signals to every downstream consumer (work-problems classifier, review step 9d, README rendering) that the remaining work is user-side verification — no file-body scan needed.
|
|
705
717
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/env bats
|
|
2
|
+
# tdd-review: structural-permitted (justification: deferred-retrofit per P330 Investigation Task #3 — behavioural K→V-mock test deferred to follow-up commit; this structural backstop guards the SKILL prose carrying the Release-vehicle seed instruction in the meantime per ADR-052 § Surface 2 marker)
|
|
3
|
+
#
|
|
4
|
+
# Doc-lint guard: manage-problem SKILL.md Step 7 Known Error → Verification Pending block
|
|
5
|
+
# must document the P330 Option B seed step that appends a `**Release vehicle**: .changeset/<name>.md`
|
|
6
|
+
# paragraph to the ticket's Fix Strategy section BEFORE the `git mv` to `.verifying.md`.
|
|
7
|
+
# The same instruction must be mirrored in `transition-problem` SKILL.md Step 6 per ADR-010 amended
|
|
8
|
+
# (copy-not-move; P093 split-skill execution ownership).
|
|
9
|
+
#
|
|
10
|
+
# Cross-reference:
|
|
11
|
+
# P330: docs/problems/known-error/330-derive-release-vehicle-helper-requires-pre-edit-of-ticket-changeset-reference-three-touch-when-one-touch-would-suffice.md
|
|
12
|
+
# ADR-010: docs/decisions/010-rename-wr-problem-to-wr-itil.proposed.md (P093 amendment — copy-not-move)
|
|
13
|
+
# ADR-014: docs/decisions/014-governance-skills-commit-their-own-work.proposed.md (single-commit grain)
|
|
14
|
+
# ADR-022: docs/decisions/022-problem-lifecycle-verification-pending-status.proposed.md (Verifying status)
|
|
15
|
+
# ADR-052: docs/decisions/052-behavioural-tests-default-for-skill-testing.proposed.md (Surface 2 marker)
|
|
16
|
+
# @jtbd JTBD-002 (ship with confidence — audit trail self-documents the release vehicle)
|
|
17
|
+
# @jtbd JTBD-006 (progress backlog AFK — eliminates the 3-of-4-dogfoods exit-2 routing friction)
|
|
18
|
+
|
|
19
|
+
setup() {
|
|
20
|
+
TEST_DIR="$(cd "$(dirname "$BATS_TEST_FILENAME")" && pwd)"
|
|
21
|
+
REPO_ROOT="$(cd "${TEST_DIR}/../../../../.." && pwd)"
|
|
22
|
+
MANAGE_PROBLEM_SKILL="${REPO_ROOT}/packages/itil/skills/manage-problem/SKILL.md"
|
|
23
|
+
TRANSITION_PROBLEM_SKILL="${REPO_ROOT}/packages/itil/skills/transition-problem/SKILL.md"
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@test "manage-problem SKILL.md exists (P330 precondition)" {
|
|
27
|
+
[ -f "$MANAGE_PROBLEM_SKILL" ]
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@test "transition-problem SKILL.md exists (P330 precondition)" {
|
|
31
|
+
[ -f "$TRANSITION_PROBLEM_SKILL" ]
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@test "manage-problem SKILL.md Step 7 documents the Release vehicle seed step (P330)" {
|
|
35
|
+
# The K→V transition block must instruct authors to seed a `**Release vehicle**: .changeset/<name>.md`
|
|
36
|
+
# paragraph in the ticket's `## Fix Strategy` section BEFORE the `git mv` to `.verifying.md`.
|
|
37
|
+
run grep -inE 'Release vehicle.*\.changeset/' "$MANAGE_PROBLEM_SKILL"
|
|
38
|
+
[ "$status" -eq 0 ]
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@test "manage-problem SKILL.md Step 7 seed instruction precedes the K→V git mv (P330)" {
|
|
42
|
+
# Verify ordering: the "Seed `Release vehicle`" instruction must appear BEFORE the
|
|
43
|
+
# `git mv ... .known-error.md ... .verifying.md` block in Step 7. If the seed instruction
|
|
44
|
+
# lands AFTER the rename in the prose, the agent reading top-to-bottom would do the
|
|
45
|
+
# rename first and the seed-on-known-error-path would target a non-existent file.
|
|
46
|
+
seed_line=$(grep -nE 'Seed `Release vehicle` reference BEFORE the rename' "$MANAGE_PROBLEM_SKILL" | head -1 | cut -d: -f1)
|
|
47
|
+
rename_line=$(grep -nE 'git mv docs/problems/<NNN>-<title>\.known-error\.md docs/problems/<NNN>-<title>\.verifying\.md' "$MANAGE_PROBLEM_SKILL" | head -1 | cut -d: -f1)
|
|
48
|
+
[ -n "$seed_line" ]
|
|
49
|
+
[ -n "$rename_line" ]
|
|
50
|
+
[ "$seed_line" -lt "$rename_line" ]
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@test "manage-problem SKILL.md Step 7 cites P330 on the seed instruction (P330 traceability)" {
|
|
54
|
+
# The seed instruction must cite P330 so reviewers can chase the rationale.
|
|
55
|
+
run grep -nE 'P330' "$MANAGE_PROBLEM_SKILL"
|
|
56
|
+
[ "$status" -eq 0 ]
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@test "manage-problem SKILL.md Step 7 documents the two P057 staging-trap windows (seed + rename)" {
|
|
60
|
+
# The amendment introduces a second Edit-tool window (seed Edit on .known-error.md).
|
|
61
|
+
# The SKILL prose must explicitly call out that the existing single-`git add` shape covers
|
|
62
|
+
# BOTH windows by riding the rename's index entry.
|
|
63
|
+
run grep -inE 'Two P057 staging-trap windows|two .* Edit windows|seed Edit.*FIRST.*P057' "$MANAGE_PROBLEM_SKILL"
|
|
64
|
+
[ "$status" -eq 0 ]
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@test "transition-problem SKILL.md Step 6 mirrors the Release vehicle seed step (ADR-010 copy-not-move)" {
|
|
68
|
+
# Per ADR-010 amended (P093 split-skill execution ownership), the manage-problem Step 7
|
|
69
|
+
# block and the transition-problem Step 6 block must stay in sync. Both surfaces are user-
|
|
70
|
+
# initiated K→V entry points (manage-problem fold-fix path + transition-problem standalone path).
|
|
71
|
+
run grep -inE 'Release vehicle.*\.changeset/' "$TRANSITION_PROBLEM_SKILL"
|
|
72
|
+
[ "$status" -eq 0 ]
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@test "transition-problem SKILL.md Step 6 cites P330 on the seed instruction (ADR-010 copy-not-move)" {
|
|
76
|
+
run grep -nE 'P330' "$TRANSITION_PROBLEM_SKILL"
|
|
77
|
+
[ "$status" -eq 0 ]
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@test "transition-problem SKILL.md Step 6 documents the two P057 staging-trap windows (seed + rename)" {
|
|
81
|
+
run grep -inE 'Two P057 staging-trap windows|two .* Edit windows|seed Edit.*FIRST.*P057' "$TRANSITION_PROBLEM_SKILL"
|
|
82
|
+
[ "$status" -eq 0 ]
|
|
83
|
+
}
|
|
@@ -147,9 +147,21 @@ git add docs/problems/<NNN>-<title>.known-error.md
|
|
|
147
147
|
|
|
148
148
|
**Known Error → Verification Pending** (per ADR-022, on release):
|
|
149
149
|
|
|
150
|
+
**Seed `Release vehicle` reference BEFORE the rename (P330).** BEFORE the `git mv` to `.verifying.md`, edit the `.known-error.md` ticket body to append a `**Release vehicle**: .changeset/<name>.md` paragraph at the END of the `## Fix Strategy` section (create the section if absent). The `<name>.md` is the kebab-case slug of the changeset file the fix commit authored under `.changeset/` (e.g. `wr-itil-p330-option-b.md`). The seed makes the `wr-itil-derive-release-vehicle <NNN>` helper invocation below exit 0 deterministically on first call (the helper greps the ticket body for `.changeset/<name>.md` and exits 2 when absent — Option B-codified per P330 closes that exit-2 routing on standalone K→V iters). The exit-2 fallback in the routing table below remains as the legacy-ticket recovery path for tickets shipped before P330's codification. Mirrors the `/wr-itil:manage-problem` Step 7 seed step (copy-not-move per ADR-010 amended / P093).
|
|
151
|
+
|
|
152
|
+
> **Two P057 staging-trap windows on K→V (seed + rename).** The seed Edit on `.known-error.md` is the FIRST P057 window; the Edit that updates Status / writes `## Fix Released` AFTER the `git mv` is the SECOND. Consolidate staging into a SINGLE `git add docs/problems/<NNN>-<title>.verifying.md` AFTER both Edits + the `git mv`. `git mv` operates on the index entry — the body content the index references at rename time is the post-seed content, so the seed Edit's content is carried across the rename automatically; the single final `git add` re-stages the post-rename file with the post-`Edit` Status + `## Fix Released` content. The seed step does NOT introduce a separate `git add` of the `.known-error.md` path — staging discipline stays single-call by riding the rename's index entry.
|
|
153
|
+
|
|
150
154
|
```bash
|
|
155
|
+
# Step 1 — seed `**Release vehicle**: .changeset/<name>.md` in the Fix Strategy section
|
|
156
|
+
# ... use the Edit tool to append the seed paragraph to docs/problems/<NNN>-<title>.known-error.md ...
|
|
157
|
+
|
|
158
|
+
# Step 2 — rename
|
|
151
159
|
git mv docs/problems/<NNN>-<title>.known-error.md docs/problems/<NNN>-<title>.verifying.md
|
|
152
|
-
|
|
160
|
+
|
|
161
|
+
# Step 3 — update Status to "Verification Pending" AND add the `## Fix Released` section
|
|
162
|
+
# ... use the Edit tool on docs/problems/<NNN>-<title>.verifying.md ...
|
|
163
|
+
|
|
164
|
+
# Step 4 — single re-stage covers both Edit windows (P057 + P330)
|
|
153
165
|
git add docs/problems/<NNN>-<title>.verifying.md
|
|
154
166
|
```
|
|
155
167
|
|