trackfw 9.3.2 → 9.3.3
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/README.md +15 -14
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -151,24 +151,25 @@ 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 (D11, ML-
|
|
154
|
+
| Agent CLI | Shell on Windows | Hook line emitted (D11, ML-6C) | Basis |
|
|
155
155
|
|---|---|---|---|
|
|
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) |
|
|
156
|
+
| Claude Code | Git Bash (if installed), else PowerShell | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); $LASTEXITCODE=2*!!$LASTEXITCODE 2>${null-/dev/null}; exit $LASTEXITCODE` | vendor docs (2026-10-04) |
|
|
157
|
+
| Codex CLI | PowerShell | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); $LASTEXITCODE=2*!!$LASTEXITCODE 2>${null-/dev/null}; exit $LASTEXITCODE` | vendor source (2026-10-04) |
|
|
158
|
+
| Gemini CLI | PowerShell | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); $LASTEXITCODE=2*!!$LASTEXITCODE 2>${null-/dev/null}; exit $LASTEXITCODE` | vendor source (2026-10-04) |
|
|
159
|
+
| Cursor | PowerShell | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); $LASTEXITCODE=2*!!$LASTEXITCODE 2>${null-/dev/null}; exit $LASTEXITCODE` | vendor bundle (2026-09-06) |
|
|
160
|
+
| Windsurf | PowerShell | `$LASTEXITCODE=2 2>${null-/dev/null}; trackfw guard <name>; LASTEXITCODE=$((2*!!$?)); $LASTEXITCODE=2*!!$LASTEXITCODE 2>${null-/dev/null}; 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*!!$?)); $LASTEXITCODE=2*!!$LASTEXITCODE 2>${null-/dev/null}; exit $LASTEXITCODE` | vendor docs (2026-10-04) |
|
|
162
162
|
| Kiro | cmd.exe | `trackfw guard <name> \|\| exit 2` | vendor docs (2026-10-04) |
|
|
163
163
|
| Amazon Q | cmd.exe | `trackfw guard <name> \|\| exit 2` | vendor source (2026-10-04) |
|
|
164
164
|
|
|
165
|
-
The D11 line (ML-
|
|
166
|
-
the hook exits with code 2 instead of 0. The seed
|
|
167
|
-
|
|
168
|
-
silently discarded by `2>${null-/dev/null}`
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
165
|
+
The D11 line (ML-6C, issue #538) is **fail-closed** for both POSIX shells and PowerShell:
|
|
166
|
+
if `trackfw` is absent from `PATH`, the hook exits with code 2 instead of 0. The seed
|
|
167
|
+
`$LASTEXITCODE=2` is a PowerShell assignment; in sh/bash the `=2: command not found` error
|
|
168
|
+
is silently discarded by `2>${null-/dev/null}`. `LASTEXITCODE=$((2*!!$?))` normalizes any
|
|
169
|
+
non-zero exit to 2 in sh/bash. The 4th segment `$LASTEXITCODE=2*!!$LASTEXITCODE
|
|
170
|
+
2>${null-/dev/null}` provides the same normalization in PowerShell (via `!` as `-not`),
|
|
171
|
+
and is inert (CommandNotFound, stderr suppressed) in sh/bash. For cmd.exe: `|| exit 2` is
|
|
172
|
+
the native short-circuit.
|
|
172
173
|
|
|
173
174
|
**What was measured in the VM (Windows 11 ARM64, 2026-10-06):** PowerShell 5, cmd.exe,
|
|
174
175
|
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.
|
|
3
|
+
"version": "9.3.3",
|
|
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.
|
|
67
|
-
"@trackfw-bin/darwin-x64": "9.3.
|
|
68
|
-
"@trackfw-bin/linux-arm64": "9.3.
|
|
69
|
-
"@trackfw-bin/linux-x64": "9.3.
|
|
70
|
-
"@trackfw-bin/win32-arm64": "9.3.
|
|
71
|
-
"@trackfw-bin/win32-x64": "9.3.
|
|
66
|
+
"@trackfw-bin/darwin-arm64": "9.3.3",
|
|
67
|
+
"@trackfw-bin/darwin-x64": "9.3.3",
|
|
68
|
+
"@trackfw-bin/linux-arm64": "9.3.3",
|
|
69
|
+
"@trackfw-bin/linux-x64": "9.3.3",
|
|
70
|
+
"@trackfw-bin/win32-arm64": "9.3.3",
|
|
71
|
+
"@trackfw-bin/win32-x64": "9.3.3"
|
|
72
72
|
}
|
|
73
73
|
}
|