@windyroad/itil 0.6.0-preview.118 → 0.7.0-preview.120
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
|
@@ -325,7 +325,8 @@ fi
|
|
|
325
325
|
If the command produces **no output** (no problem files have been committed or modified since the last README.md update), the cache is fresh:
|
|
326
326
|
- Read `docs/problems/README.md` only — it contains the ranked table from the last review
|
|
327
327
|
- Skip steps 9a–9b entirely
|
|
328
|
-
- Proceed
|
|
328
|
+
- Proceed to step 9c (work selection) using the cached table
|
|
329
|
+
- **Step 9d always fires even on the fast-path cache hit** (P048 Candidate 1): the verification prompt surface must not depend on whether the cache is fresh — pending verifications accumulate across sessions and the user expects the prompts to appear on every `review`. Skipping 9d alongside 9a–9b would suppress verification prompts whenever the cache is fresh, which is exactly when the user is most likely to verify.
|
|
329
330
|
- Note in the output: "Using cached ranking from [timestamp in README.md]"
|
|
330
331
|
|
|
331
332
|
If the command prints "stale", or `README.md` does not exist in git, run the full review (steps 9a–9e) and refresh the cache.
|
|
@@ -359,10 +360,14 @@ After reviewing all problems, present a WSJF-ranked table for open/known-error p
|
|
|
359
360
|
| WSJF | ID | Title | Severity | Status | Effort | Notes |
|
|
360
361
|
|------|-----|-------|----------|--------|--------|-------|
|
|
361
362
|
|
|
362
|
-
Then present a separate **Verification Queue** section for `.verifying.md` files (per ADR-022 — ranked by release age, oldest first; no WSJF because the multiplier is 0):
|
|
363
|
+
Then present a separate **Verification Queue** section for `.verifying.md` files (per ADR-022 — ranked by release age, oldest first; no WSJF because the multiplier is 0). Highlight each ticket whose release age is **≥ 14 days** (the within-skill default per P048 Candidate 4 — tunable; if it needs cross-skill consistency later, promote to policy) with a `likely verified` marker in the final column. This makes the Verification Queue not just a list but a ranked view of which verifications are most likely ready to close:
|
|
363
364
|
|
|
364
|
-
| ID | Title | Released | Fix summary |
|
|
365
|
-
|
|
365
|
+
| ID | Title | Released | Fix summary | Likely verified? |
|
|
366
|
+
|----|-------|----------|-------------|------------------|
|
|
367
|
+
|
|
368
|
+
The `Likely verified?` column takes values:
|
|
369
|
+
- `yes (N days)` — release age ≥ 14 days; the user is unlikely to revert a landed fix after this long. Surface these first in step 9d's verification prompt so the user can batch-close them.
|
|
370
|
+
- `no (N days)` — release age < 14 days; may still be in validation. Fire step 9d for these too, but without the highlight.
|
|
366
371
|
|
|
367
372
|
Then present a separate **Parked** section listing `.parked.md` files (no ranking):
|
|
368
373
|
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/usr/bin/env bats
|
|
2
|
+
# Doc-lint guard: manage-problem SKILL.md must surface Verification Pending
|
|
3
|
+
# tickets whose fix path has been exercised in practice — the detection-layer
|
|
4
|
+
# fix for P048. Minimal-scope candidates per P048:
|
|
5
|
+
# - Fix 1: step 9d always fires even on the fast-path cache hit.
|
|
6
|
+
# - Fix 4: step 9c / Verification Queue highlights tickets whose release
|
|
7
|
+
# age is >= 14 days as "likely verified" candidates.
|
|
8
|
+
#
|
|
9
|
+
# Candidates 2 (standalone verify-fixes op), 3 (exercise observations with a
|
|
10
|
+
# new file-level state dimension), and 5 (AFK-mode hook) are deferred —
|
|
11
|
+
# candidate 3 needs an ADR-scope decision per P048 investigation tasks.
|
|
12
|
+
#
|
|
13
|
+
# Structural assertion — Permitted Exception to the source-grep ban
|
|
14
|
+
# (ADR-005 / P011).
|
|
15
|
+
#
|
|
16
|
+
# Cross-reference:
|
|
17
|
+
# P048: docs/problems/048-manage-problem-does-not-detect-verification-candidates.open.md
|
|
18
|
+
# ADR-022 (Verification Pending status): docs/decisions/022-problem-lifecycle-verification-pending-status.proposed.md
|
|
19
|
+
# ADR-013 Rule 1: docs/decisions/013-structured-user-interaction-for-governance-decisions.proposed.md
|
|
20
|
+
# @jtbd JTBD-001 (enforce governance without slowing down)
|
|
21
|
+
# @jtbd JTBD-006 (progress the backlog while I'm away)
|
|
22
|
+
# @jtbd JTBD-101 (extend the suite with clear patterns)
|
|
23
|
+
|
|
24
|
+
setup() {
|
|
25
|
+
SKILL_DIR="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)"
|
|
26
|
+
SKILL_FILE="${SKILL_DIR}/SKILL.md"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@test "SKILL.md exists (P048 precondition)" {
|
|
30
|
+
[ -f "$SKILL_FILE" ]
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@test "SKILL.md fast-path explicitly fires step 9d on cache hit (P048 Candidate 1)" {
|
|
34
|
+
# The fast-path currently reads: "Skip steps 9a-9b entirely / Proceed
|
|
35
|
+
# directly to step 9c". P048 reports step 9d being treated as skipped
|
|
36
|
+
# alongside 9a-9b. Fix: add explicit wording that step 9d fires even on
|
|
37
|
+
# cache hit, so verification candidates are always offered on review.
|
|
38
|
+
run grep -inE "step 9d.*(always fires?|still fires?|fires? (even|on) (cache|fast-path))|fast-path.*step 9d fires|cache hit.*step 9d" "$SKILL_FILE"
|
|
39
|
+
[ "$status" -eq 0 ]
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@test "SKILL.md step 9c Verification Queue highlights release-age candidates (P048 Candidate 4)" {
|
|
43
|
+
# Review output must surface Verification Pending tickets whose release
|
|
44
|
+
# age crosses a threshold as "likely verified" candidates. Accept either
|
|
45
|
+
# a literal "likely verified" callout OR an explicit age-based criterion
|
|
46
|
+
# (>= 14 days) in the Verification Queue presentation.
|
|
47
|
+
run grep -inE "likely verified|release age|age.*(>=|greater than|over|older than).*(days?|d)|stale verification" "$SKILL_FILE"
|
|
48
|
+
[ "$status" -eq 0 ]
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@test "SKILL.md step 9c Verification Queue documents the 14-day default threshold (P048 Candidate 4)" {
|
|
52
|
+
# The 14-day threshold is a within-skill default per architect review;
|
|
53
|
+
# the default must be named in the SKILL.md so implementations stay
|
|
54
|
+
# consistent until a policy-level decision moves it.
|
|
55
|
+
run grep -inE "14[ -]day|14 days|fourteen days" "$SKILL_FILE"
|
|
56
|
+
[ "$status" -eq 0 ]
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@test "SKILL.md cites P048 for the detection-layer extension" {
|
|
60
|
+
# Traceability: the SKILL.md must name the problem ticket this
|
|
61
|
+
# detection extension addresses so reviewers can chase history.
|
|
62
|
+
run grep -n "P048" "$SKILL_FILE"
|
|
63
|
+
[ "$status" -eq 0 ]
|
|
64
|
+
}
|