@mindrian_os/cli 1.15.3-beta.40 → 1.15.3-beta.44

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/CHANGELOG.md +58 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,61 @@
1
+ ## [1.15.3-beta.44] - 2026-07-23
2
+
3
+ ### Added
4
+ -
5
+
6
+ ### Fixed
7
+ - **Every Stop hook turn showed a raw Claude Code hook JSON validation error
8
+ ("Hook JSON output validation failed: - : Invalid input") instead of the intended calm
9
+ systemMessage, whenever `scripts/check-card-fire.cjs` force-blocked a turn to demand an
10
+ AskUserQuestion card fire.** Root cause: Claude Code's Stop-hook output schema does not
11
+ define a `hookSpecificOutput` variant for the Stop event at all (the union covers only
12
+ PreToolUse, UserPromptSubmit, and PostToolUse); including the key on a Stop envelope
13
+ rejects the WHOLE envelope (`additionalProperties: false`), not just that key, silently
14
+ replacing the carefully-set `decision`/`reason`/`systemMessage` with a raw schema-error
15
+ dump. This is the 4th live occurrence of the same defect class: fixed once in
16
+ `scripts/on-stop` (v1.10.9 -> v1.10.10, 2026-04-15), then reintroduced in
17
+ `scripts/feynman-minto-guardian.cjs` (under a since-corrected comment that had the rule
18
+ backwards), reintroduced again as a regression inside `scripts/on-stop` itself (the
19
+ Phase 198-09 MCP-first thin-adapter branch), and hit live by a real user via
20
+ `scripts/check-card-fire.cjs` today. Fixed at all 3 sites: `hookSpecificOutput` removed
21
+ outright (and removed from `check-card-fire.cjs`'s own envelope-key allowlist so it can't
22
+ silently slip back in); the calm, human-facing `decision`/`reason`/`systemMessage` fields
23
+ each branch already set are unaffected. New structural regression gate:
24
+ `scripts/check-hook-schema-compatibility.cjs` (previously unwired and, worse, encoding the
25
+ opposite/wrong rule) is corrected and wired into `scripts/verify-release` (section 16) --
26
+ it enumerates every script Claude Code registers as a Stop hook straight off
27
+ `hooks/hooks.json`, follows one level of subprocess invocation, and fails the release if
28
+ any of them would emit a Stop-shaped `hookSpecificOutput` again. Full RCA:
29
+ `.planning/debug/resolved/stop-hook-invalid-hookspecificoutput-schema.md`.
30
+
31
+ ## [1.15.3-beta.42] - 2026-07-23
32
+
33
+ ### Fixed
34
+ - **Windows-only: Python source interpolating shell variables directly (`normwin('$VAR')`) raised a
35
+ `SyntaxError` at Python compile time whenever the interpolated value contained a native Windows
36
+ path with a backslash, before `normwin()` ever ran.** This is the same family of bug as beta.40's
37
+ `os.rename`/`os.replace` fix, but one layer earlier: 36 interpolation sites across
38
+ `scripts/room-registry`, `scripts/resolve-room`, `scripts/update-icm-index`, and
39
+ `scripts/on-cwd-changed` built Python heredoc/`-c` source by quoting a shell variable straight
40
+ into the source string, instead of passing it through `sys.argv` (the safe pattern
41
+ `room-registry`'s own `_write_current_room()` already used). Fixed by converting all 36 sites to
42
+ `sys.argv`-based parameter passing. New regression suite
43
+ (`tests/test-room-registry-windows-python-interp.cjs`, 29/29) includes a load-bearing control
44
+ proving the old interpolation shape fails to compile on a backslash value and the new
45
+ `sys.argv` shape does not. Root-caused and fixed same day as beta.40; independently verified live
46
+ on the reporter's Windows install.
47
+ - **Windows-only: the regression tests' own Python-probe spawn mechanism corrupted probe source
48
+ containing a backslash-next-to-a-quote, at the Windows `CreateProcess` argv-marshalling
49
+ boundary.** Three test files (`test-room-registry-windows-atomic-replace.cjs`,
50
+ `test-room-registry-windows-python-interp.cjs`, `test-room-registry-windows-path.cjs`) each
51
+ routed a Python probe body through `bash -c` as a positional argv element, to survive the two
52
+ bugs above -- safe on Linux/macOS, but Node spawning `bash.exe` on Windows re-quotes argv before
53
+ bash's own `$1` expansion runs, silently mangling the probe. Fixed by writing the probe source to
54
+ a temp `.py` file and executing the file path instead of the source text -- a path has no
55
+ embedded quote/backslash-adjacent-quote sequences, eliminating the defect class rather than
56
+ special-casing which characters are unsafe. Verified green on this dev box (21/21, 29/29, 25/25,
57
+ byte-identical to pre-fix baselines); Windows re-verification of this exact patch is pending.
58
+
1
59
  ## [1.15.3-beta.40] - 2026-07-23
2
60
 
3
61
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindrian_os/cli",
3
- "version": "1.15.3-beta.40",
3
+ "version": "1.15.3-beta.44",
4
4
  "description": "Install MindrianOS into Claude Code with one command -- `npx @mindrian_os/cli`. Ships the MindrianOS plugin (Larry + PWS methodology + Data Room) plus a setup/diagnostics CLI (install/doctor/update).",
5
5
  "scripts": {
6
6
  "mcp": "node bin/mindrian-mcp-server.cjs",