@windyroad/retrospective 0.12.0-preview.225 → 0.12.0-preview.228

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/retrospective",
3
- "version": "0.12.0-preview.225",
3
+ "version": "0.12.0-preview.228",
4
4
  "description": "Session retrospectives that update briefings and create problem tickets",
5
5
  "bin": {
6
6
  "windyroad-retrospective": "./bin/install.mjs"
@@ -57,20 +57,26 @@ setup() {
57
57
  [ "$status" -ne 0 ]
58
58
  }
59
59
 
60
- @test "SKILL.md Step 4b Stage 2 uses AskUserQuestion with 'Proposed fix' header (P075)" {
61
- # Stage 2 is the per-ticket fix-strategy prompt. Architect-pinned header is
62
- # "Proposed fix" to distinguish from the legacy "Codification candidate" header.
63
- run grep -inE "header:[[:space:]]*['\"]Proposed fix['\"]|\"Proposed fix\"" "$SKILL_FILE"
60
+ @test "SKILL.md Step 4b Stage 2 is silent agent action per ADR-044 (no AskUserQuestion)" {
61
+ # P135 Phase 2 / ADR-044: Stage 2 is no longer an AskUserQuestion per ticket;
62
+ # the agent picks the obvious-fit shape from the catalog. The legacy
63
+ # 'Proposed fix' AskUserQuestion header is GONE; the new contract is
64
+ # silent-agent-picks-from-catalog with user-edits-ticket-if-wrong correction.
65
+ run awk '/^#### Stage 2:/,/^#### Stub templates by Option/ {print}' "$SKILL_FILE"
64
66
  [ "$status" -eq 0 ]
67
+ [[ "$output" == *"ADR-044"* ]]
68
+ [[ "$output" == *"silent"* ]]
69
+ # Negative: header line must NOT contain Proposed fix as an AskUserQuestion header
70
+ [[ "$output" != *"header: \"Proposed fix\""* ]]
71
+ [[ "$output" != *"header: 'Proposed fix'"* ]]
65
72
  }
66
73
 
67
- @test "SKILL.md Step 4b Stage 2 has four top-level architect-pinned options (ADR-013 Rule 1 cap)" {
68
- # ADR-013 Rule 1: AskUserQuestion options capped at 4. Architect review
69
- # flagged cascading follow-ups as an anti-pattern (P061 precedent); the
70
- # architect lean is free-text capture on the Fix Strategy section rather
71
- # than N-deep fan-out. Stage 2 must list the four architect-pinned option
72
- # labels as numbered Markdown list items.
73
- run grep -cE "^[[:space:]]*[0-9]+\.[[:space:]]+\`?(Skill — create stub|Skill — improvement stub|Other codification shape|Self-contained work)" "$SKILL_FILE"
74
+ @test "SKILL.md Step 4b Stage 2 retains the four shape choices in the catalog (architect-pinned shapes preserved)" {
75
+ # Phase 2 removed the AskUserQuestion but preserved the four shape choices
76
+ # in the catalog narrative agent now picks among them silently. The four
77
+ # shape labels must still be enumerated so the agent has a deterministic
78
+ # catalog to pick from.
79
+ run grep -cE "^[[:space:]]*[0-9]+\.[[:space:]]+\*\*(Skill create stub|Skill — improvement stub|Other codification shape|Self-contained work)" "$SKILL_FILE"
74
80
  [ "$status" -eq 0 ]
75
81
  [ "$output" -ge 4 ]
76
82
  }
@@ -49,27 +49,45 @@ setup() {
49
49
  [ "$status" -eq 0 ]
50
50
  }
51
51
 
52
- @test "run-retro: Step 4a AskUserQuestion prompt contract requires fix summary AND citations inline (ADR-013 Rule 1)" {
53
- run grep -F 'ADR-013 Rule 1' "$SKILL_MD"
52
+ @test "run-retro: Step 4a close-on-evidence dispatches to /wr-itil:transition-problem (P135 Phase 2 / ADR-044)" {
53
+ # Phase 2 superseded the per-candidate AskUserQuestion (Close/Leave/Flag) with
54
+ # close-on-evidence delegation per ADR-044. The bats now assert the new
55
+ # contract: Step 4a delegates to /wr-itil:transition-problem WITHOUT asking,
56
+ # and ADR-044 framework-resolution boundary is the rationale.
57
+ run grep -F '/wr-itil:transition-problem' "$SKILL_MD"
54
58
  [ "$status" -eq 0 ]
55
- run grep -F 'Question body MUST include the fix summary AND the specific citations' "$SKILL_MD"
59
+ run grep -F 'ADR-044' "$SKILL_MD"
56
60
  [ "$status" -eq 0 ]
57
61
  }
58
62
 
59
- @test "run-retro: Step 4a three AskUserQuestion options (Close / Leave Verification Pending / Flag for manual review)" {
60
- run grep -F 'Close P<NNN>' "$SKILL_MD"
61
- [ "$status" -eq 0 ]
62
- run grep -F 'Leave as Verification Pending' "$SKILL_MD"
63
- [ "$status" -eq 0 ]
64
- run grep -F 'Flag for manual review' "$SKILL_MD"
63
+ @test "run-retro: Step 4a close-on-evidence requires concrete in-session citation (ADR-026 grounding)" {
64
+ # Phase 2 preserves the evidence requirement (ADR-026); without concrete
65
+ # citation, the ticket stays Verification Pending (ambiguous-evidence path).
66
+ run grep -F 'ADR-026' "$SKILL_MD"
65
67
  [ "$status" -eq 0 ]
66
68
  }
67
69
 
68
- @test "run-retro: Step 4a AFK fallback surfaces evidence in the retro report and does NOT auto-close (ADR-013 Rule 6)" {
69
- run grep -F 'Non-interactive / AFK fallback (per ADR-013 Rule 6)' "$SKILL_MD"
70
- [ "$status" -eq 0 ]
71
- run grep -F 'do NOT auto-close' "$SKILL_MD"
70
+ @test "run-retro: Step 4a documents recovery path inline (P135 R5 closes are reversible)" {
71
+ # Phase 2's close-on-evidence is reversible via /wr-itil:transition-problem
72
+ # known-error flip-back (the 2026-04-27 P124 precedent). Recovery path is
73
+ # documented inline alongside each close action in the Step 5 retro summary.
74
+ run awk '/^### 4a\./,/^### 4b\./ {print}' "$SKILL_MD"
72
75
  [ "$status" -eq 0 ]
76
+ [[ "$output" == *"Recovery"* ]] || [[ "$output" == *"reversible"* ]]
77
+ }
78
+
79
+ @test "run-retro: Step 4a AFK and interactive modes use identical close-on-evidence behaviour (ADR-044)" {
80
+ # Phase 2 collapsed the legacy AskUserQuestion-with-AFK-fallback into a
81
+ # single silent-close-on-evidence path. Per ADR-044 framework-resolution
82
+ # boundary: when the framework resolves the decision (concrete evidence
83
+ # per ADR-022 + ADR-026), the agent acts; per-candidate ask is lazy
84
+ # deferral. AFK and interactive paths are identical for this surface.
85
+ # Asserting the legacy "Non-interactive / AFK fallback (per ADR-013 Rule 6)"
86
+ # AskUserQuestion-vs-fallback split is GONE from Step 4a.
87
+ run awk '/^### 4a\./,/^### 4b\./ {print}' "$SKILL_MD"
88
+ [ "$status" -eq 0 ]
89
+ [[ "$output" != *"do NOT auto-close"* ]]
90
+ [[ "$output" != *"Close P<NNN>\` — description"* ]]
73
91
  }
74
92
 
75
93
  @test "run-retro: Step 4a ADR-027 compatibility note documents session-context handling" {