@windyroad/retrospective 0.21.1 → 0.21.2-preview.401

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.
@@ -66,5 +66,5 @@
66
66
  }
67
67
  },
68
68
  "name": "wr-retrospective",
69
- "version": "0.21.1"
69
+ "version": "0.21.2"
70
70
  }
@@ -195,9 +195,13 @@ PRIMARY_HINT="${OFFENDING_HINTS%%,*}"
195
195
  # Deny — voice/tone budget per ADR-045 deny-band ≤300 bytes total
196
196
  # (envelope ~137 bytes; REASON ~145 bytes for worst-case slug + the
197
197
  # single inventory hint). Names the offending plugin slug, the drift
198
- # hint, the mechanical recovery (name the skill in the README — NOT
199
- # a JTBD-ID citation per ADR-069), the BYPASS env, and the P294 cite.
200
- REASON="BLOCKED: P294 README inventory drift in ${OFFENDING_SLUG} (${PRIMARY_HINT}). Recovery: name the skill in the README. Bypass: BYPASS_JTBD_CURRENCY=1."
198
+ # hint, the in-flight mechanical recovery (name the skill in the README
199
+ # — NOT a JTBD-ID citation per ADR-069), and the P294 cite. P173: the
200
+ # deny no longer advertises BYPASS_JTBD_CURRENCY=1 as an in-flight escape
201
+ # — that env var only takes effect when set in Claude Code's process env
202
+ # BEFORE the session started; a mid-session Bash export never reaches the
203
+ # hook. The deny states the bypass is pre-session-only.
204
+ REASON="BLOCKED: P294 README inventory drift in ${OFFENDING_SLUG} (${PRIMARY_HINT}). Recovery: name the skill in the README. Env bypass is pre-session only."
201
205
 
202
206
  cat <<EOF
203
207
  {
@@ -107,6 +107,18 @@ make_clean_project() {
107
107
  [ "${#output}" -lt 300 ]
108
108
  }
109
109
 
110
+ # P173: the deny must NOT advertise the env bypass as an in-flight escape.
111
+ # BYPASS_JTBD_CURRENCY only takes effect when set in Claude Code's process env
112
+ # before the session started; a mid-session Bash export never reaches the hook.
113
+ # The deny clarifies the bypass is pre-session.
114
+ @test "P173 deny message clarifies the env bypass is pre-session (not a mid-session action)" {
115
+ make_drifted_project
116
+ run run_bash_hook "git commit -m 'feat'"
117
+ [ "$status" -eq 0 ]
118
+ [[ "$output" == *"\"permissionDecision\": \"deny\""* ]]
119
+ [[ "$output" == *"pre-session"* ]]
120
+ }
121
+
110
122
  @test "deny: canonical release commit shape (chore: version packages) is subject to the gate" {
111
123
  make_drifted_project
112
124
  # Not a `git commit` invocation — the bare message must NOT deny.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windyroad/retrospective",
3
- "version": "0.21.1",
3
+ "version": "0.21.2-preview.401",
4
4
  "description": "Session retrospectives that update briefings and create problem tickets",
5
5
  "bin": {
6
6
  "windyroad-retrospective": "./bin/install.mjs"