trackfw 9.3.1 → 9.3.2

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.
Files changed (2) hide show
  1. package/README.md +17 -14
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -151,21 +151,24 @@ Bash — a team with mixed OS can commit one config and have it work on all mach
151
151
  The hook line emitted depends on the shell the agent CLI uses on Windows — a fact of
152
152
  the vendor, not of the OS:
153
153
 
154
- | Agent CLI | Shell on Windows | Hook line emitted | Basis |
154
+ | Agent CLI | Shell on Windows | Hook line emitted (D11, ML-6B) | Basis |
155
155
  |---|---|---|---|
156
- | Claude Code | Git Bash (if installed), else PowerShell | `trackfw guard <name>; exit $LASTEXITCODE` | vendor docs (2026-10-04) |
157
- | Codex CLI | PowerShell | `trackfw guard <name>; exit $LASTEXITCODE` | vendor source (2026-10-04) |
158
- | Gemini CLI | PowerShell | `trackfw guard <name>; exit $LASTEXITCODE` | vendor source (2026-10-04) |
159
- | Cursor | PowerShell | `trackfw guard <name>; exit $LASTEXITCODE` | vendor bundle (2026-09-06) |
160
- | Windsurf | PowerShell | `trackfw guard <name>; exit $LASTEXITCODE` | vendor docs (2026-10-04) |
161
- | GitHub Copilot | PowerShell / cross-platform `command` field | `trackfw guard <name>; exit $LASTEXITCODE` | vendor docs (2026-10-04) |
162
- | Kiro | cmd.exe | `trackfw guard <name>` | vendor docs (2026-10-04) |
163
- | Amazon Q | cmd.exe | `trackfw guard <name>` | vendor source (2026-10-04) |
164
-
165
- The `; exit $LASTEXITCODE` suffix is required for PowerShell 5: without it, PowerShell
166
- converts exit 2 (deny) from the child process into exit 1, and 6 of 8 CLIs treat exit 1
167
- as a non-blocking error. cmd.exe and bash propagate the exit code directly; they do not
168
- need the suffix.
156
+ | Claude Code | Git Bash (if installed), else PowerShell | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); exit $LASTEXITCODE` | vendor docs (2026-10-04) |
157
+ | Codex CLI | PowerShell | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); exit $LASTEXITCODE` | vendor source (2026-10-04) |
158
+ | Gemini CLI | PowerShell | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); exit $LASTEXITCODE` | vendor source (2026-10-04) |
159
+ | Cursor | PowerShell | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); exit $LASTEXITCODE` | vendor bundle (2026-09-06) |
160
+ | Windsurf | PowerShell | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); exit $LASTEXITCODE` | vendor docs (2026-10-04) |
161
+ | GitHub Copilot | PowerShell / cross-platform `command` field | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); exit $LASTEXITCODE` | vendor docs (2026-10-04) |
162
+ | Kiro | cmd.exe | `trackfw guard <name> \|\| exit 2` | vendor docs (2026-10-04) |
163
+ | Amazon Q | cmd.exe | `trackfw guard <name> \|\| exit 2` | vendor source (2026-10-04) |
164
+
165
+ The D11 line (ML-6B, issue #535) is **fail-closed**: if `trackfw` is absent from `PATH`,
166
+ the hook exits with code 2 instead of 0. The seed `$LASTEXITCODE=2` is a PowerShell
167
+ automatic-variable assignment; in sh/bash the resulting `=2: command not found` error is
168
+ silently discarded by `2>${null-/dev/null}` (where `${null-/dev/null}` expands to
169
+ `/dev/null` via bash parameter expansion, and to nothing in PowerShell). When the binary is
170
+ absent, `LASTEXITCODE=$((2*!!$?))` normalizes any non-zero exit to 2; when the guard
171
+ succeeds, it normalizes to 0. For cmd.exe: `|| exit 2` is the native short-circuit.
169
172
 
170
173
  **What was measured in the VM (Windows 11 ARM64, 2026-10-06):** PowerShell 5, cmd.exe,
171
174
  and Git Bash (non-login, explicit PATH to the branch binary) all block
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trackfw",
3
- "version": "9.3.1",
3
+ "version": "9.3.2",
4
4
  "description": "Governance CLI for AI-native software delivery and AI coding agents. Enforces traceability: ADR → REQ → ROADMAP → kanban. Native support for Codex, Claude Code, Gemini CLI, Cursor, Copilot, Windsurf, Amazon Q, OpenCode, and Kiro.",
5
5
  "keywords": [
6
6
  "cli",
@@ -63,11 +63,11 @@
63
63
  "node": ">=18"
64
64
  },
65
65
  "optionalDependencies": {
66
- "@trackfw-bin/darwin-arm64": "9.3.1",
67
- "@trackfw-bin/darwin-x64": "9.3.1",
68
- "@trackfw-bin/linux-arm64": "9.3.1",
69
- "@trackfw-bin/linux-x64": "9.3.1",
70
- "@trackfw-bin/win32-arm64": "9.3.1",
71
- "@trackfw-bin/win32-x64": "9.3.1"
66
+ "@trackfw-bin/darwin-arm64": "9.3.2",
67
+ "@trackfw-bin/darwin-x64": "9.3.2",
68
+ "@trackfw-bin/linux-arm64": "9.3.2",
69
+ "@trackfw-bin/linux-x64": "9.3.2",
70
+ "@trackfw-bin/win32-arm64": "9.3.2",
71
+ "@trackfw-bin/win32-x64": "9.3.2"
72
72
  }
73
73
  }