gm-codex 2.0.956 → 2.0.958

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-codex",
3
- "version": "2.0.956",
3
+ "version": "2.0.958",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": {
6
6
  "name": "AnEntrypoint",
@@ -1,6 +1,6 @@
1
- 322a1149762ce77196e12ed43e6cb1b508fe79881ac9b977f5628d306def9d7e plugkit-win32-x64.exe
2
- fef4cc7dcac3bb1445dc2db6e7686813f0ff85987149bb5189e5473e9a9de546 plugkit-win32-arm64.exe
3
- 41701f43841581cf47dc608c4470e771889b24658b5997fa3eb66193dcbe1f3f plugkit-darwin-x64
4
- 7e3e79af802e5aa861f37c6abf367dfd636c22a2868a9ba12a5b2ac718581b5c plugkit-darwin-arm64
5
- 2578cbfaef623e15f70187a140197c0e9b2cf2126d973c768fe7c23e75c7fd5e plugkit-linux-x64
6
- 6b0023e89d117bee68d89991c0a931f3d91bc70c5bd1a855c9d2d658eb1d400f plugkit-linux-arm64
1
+ 589901e0dbd74db2db6535b427f68597b4effa65f25d9daebdfeae824c1e3d0e plugkit-win32-x64.exe
2
+ 0b3397d1c3f137bfd18f3de8e5761aff277980f3b4015e871f9605c6a8e70438 plugkit-win32-arm64.exe
3
+ 0345f10c867ec2bf61771faccf2e45362a34faa11b070799c7fcb6fab60fcbd8 plugkit-darwin-x64
4
+ 1f009e5be441ad2de6034cfb4a0d16783db7ba4f0f10394ba8fb297118258b83 plugkit-darwin-arm64
5
+ cfcc0035526df5d8bbc571635c65df9f8c91861ee982aa6b9b0998b066975326 plugkit-linux-x64
6
+ be04ce01e64f336dd8dff0de66e9b399edf154265673324342558131a4ffe744 plugkit-linux-arm64
@@ -1 +1 @@
1
- 0.1.323
1
+ 0.1.324
package/bin/rtk.sha256 CHANGED
@@ -1,5 +1,5 @@
1
- 25a8fbf7bc1fa573853d24aa55fe210cdbfecbba210ca11c8dcae92eaaf5b4a5 rtk-win32-x64.exe
2
- 9d0fb553b86081532676ed0008186d38a3731a336dd94f9d5804235df6857a5b rtk-win32-arm64.exe
1
+ 31fb1e501f7074dd0ec8af8bcb1cfbb4161de17b834e94d8dc097e48b01667c4 rtk-win32-x64.exe
2
+ c6005ea4404275858eadd39b1e8122157d24db4757f8ff2b7361c685ce7d5545 rtk-win32-arm64.exe
3
3
  1b1e792767ed0e1e6ca0e2f0a8de02e77b06dea2f5ae667278b94baf239fcdc3 rtk-darwin-x64
4
4
  9717978d9d6216ea50c94444e00e359479b6315a17bd48c16064b267c8b0b60d rtk-darwin-arm64
5
5
  a100d3defac54194144e5723aec57e6f286b42298c67145c8428815246c9ee56 rtk-linux-x64
package/gm.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.956",
3
+ "version": "2.0.958",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",
@@ -23,5 +23,5 @@
23
23
  "publishConfig": {
24
24
  "access": "public"
25
25
  },
26
- "plugkitVersion": "0.1.323"
26
+ "plugkitVersion": "0.1.324"
27
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-codex",
3
- "version": "2.0.956",
3
+ "version": "2.0.958",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",
package/plugin.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.956",
3
+ "version": "2.0.958",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": {
6
6
  "name": "AnEntrypoint",
@@ -50,12 +50,13 @@ N facts → N parallel calls in one message. End of turn: scan for un-memorized
50
50
 
51
51
  ## Execution order
52
52
 
53
- 1. Recall (`exec:recall`) — cheapest
54
- 2. Code execution (`exec:<lang>`, `exec:codesearch`) 90% of unknowns
55
- 3. Web (`WebFetch`, `WebSearch`) — env facts not in codebase
56
- 4. Userlast resort
53
+ 1. Recall (`exec:recall` via Bash) — cheapest
54
+ 2. Code execution — write to `.gm/exec-spool/in/<lang>/<N>.<ext>` (nodejs, python, bash, typescript, go, rust, c, cpp, java, deno); spool watcher runs and writes `out/<N>.json`
55
+ 3. Codebase search (`exec:codesearch` via Bash) — 90% of lookups
56
+ 4. Web (`WebFetch`, `WebSearch`) env facts not in codebase
57
+ 5. User — last resort
57
58
 
58
- `exec:<lang>` only via Bash. Never `Bash(node/npm/npx/bun)`. `git push` triggers auto CI watch via Stop hook.
59
+ Bash accepts ONLY git commands and utility verbs (`exec:recall`, `exec:codesearch`, `exec:memorize`, `exec:wait`, `exec:browser`, etc.). All code execution goes via the spool. Never `Bash(node/npm/npx/bun)`. `git push` triggers auto CI watch via Stop hook.
59
60
 
60
61
  Skill chain: `planning` → `gm-execute` → `gm-emit` → `gm-complete` → `update-docs`.
61
62
 
@@ -33,10 +33,9 @@ Failure triage: broken output to EMIT, wrong logic to EXECUTE, new unknown to PL
33
33
 
34
34
  ## End-to-end verification
35
35
 
36
- Real system, real data, witness actual output. Doc updates, "saying done", and screenshots alone are not verification.
36
+ Real system, real data, witness actual output. Doc updates, "saying done", and screenshots alone are not verification. Write the e2e probe to the spool (`.gm/exec-spool/in/nodejs/<N>.js`):
37
37
 
38
38
  ```
39
- exec:nodejs
40
39
  const { fn } = await import('/abs/path/to/module.js');
41
40
  console.log(await fn(realInput));
42
41
  ```
@@ -59,8 +58,9 @@ Pre-flight: run `git diff --name-only origin/main..HEAD` and grep for `client/|d
59
58
 
60
59
  ## Integration test gate
61
60
 
61
+ Write to `.gm/exec-spool/in/nodejs/<N>.js`:
62
+
62
63
  ```
63
- exec:nodejs
64
64
  const { execSync } = require('child_process');
65
65
  try { execSync('node test.js', { stdio: 'inherit', timeout: 30000 }); console.log('PASS'); }
66
66
  catch (e) { console.error('FAIL'); process.exit(1); }
@@ -70,8 +70,9 @@ Failure → `gm-execute`. No test.js in a repo with testable surface → `gm-exe
70
70
 
71
71
  ## Git enforcement
72
72
 
73
+ Run directly via Bash:
74
+
73
75
  ```
74
- exec:bash
75
76
  git status --porcelain
76
77
  git log origin/main..HEAD --oneline
77
78
  ```
@@ -30,10 +30,9 @@ Any failure regresses to `gm-execute` to witness what was missing, or `planning`
30
30
 
31
31
  ## Pre-emit run
32
32
 
33
- Mandatory before writing any file.
33
+ Mandatory before writing any file. Write the probe to the spool (`.gm/exec-spool/in/nodejs/<N>.js`):
34
34
 
35
35
  ```
36
- exec:nodejs
37
36
  const { fn } = await import('/abs/path/to/module.js');
38
37
  console.log(await fn(realInput));
39
38
  ```
@@ -42,7 +41,7 @@ Import the actual module from disk to witness current behavior as the baseline.
42
41
 
43
42
  ## Writing
44
43
 
45
- `exec:nodejs` with `require('fs')`. Write only when every gate mutable resolves simultaneously.
44
+ Use the Write tool, or a nodejs spool file with `require('fs')`. Write only when every gate mutable resolves simultaneously.
46
45
 
47
46
  ## Post-emit verification
48
47
 
@@ -40,7 +40,7 @@ Spend on `.prd` items in descending order of consequence-if-wrong × distance-fr
40
40
 
41
41
  ## Code execution
42
42
 
43
- `exec:<lang>` only via Bash. Languages: nodejs (default), bash, python, typescript, go, rust, c, cpp, java, deno, cmd. File I/O via `exec:nodejs` + `require('fs')`. Git directly in Bash. Never `Bash(node/npm/npx/bun)`.
43
+ Code runs through the file-spool, not Bash. Write a file to `.gm/exec-spool/in/<lang>/<N>.<ext>` (e.g. `in/nodejs/42.js`, `in/python/43.py`, `in/bash/44.sh`); the spool watcher executes and writes `out/<N>.json`; the result returns as systemMessage. Languages: nodejs (default), bash, python, typescript, go, rust, c, cpp, java, deno. File I/O via a nodejs spool file + `require('fs')`. Git directly in Bash. Utility verbs (`exec:recall`, `exec:codesearch`, `exec:memorize`, `exec:wait`, `exec:sleep`, `exec:browser`, etc.) DO run via Bash with the verb on line 1 and arg on line 2. Never `Bash(node/npm/npx/bun)`.
44
44
 
45
45
  Pack runs: `Promise.allSettled`, each idea own try/catch, under 12s per call. Runner: `exec:runner\n{start|stop|status}`.
46
46
 
@@ -61,10 +61,10 @@ Start two words, change/add one per pass, minimum four attempts before concludin
61
61
 
62
62
  ## Import-based execution
63
63
 
64
- Hypotheses become real by importing actual modules from disk. Reimplemented behavior is UNKNOWN.
64
+ Hypotheses become real by importing actual modules from disk. Reimplemented behavior is UNKNOWN. Write the import probe to the spool:
65
65
 
66
66
  ```
67
- exec:nodejs
67
+ # write .gm/exec-spool/in/nodejs/42.js
68
68
  const { fn } = await import('/abs/path/to/module.js');
69
69
  console.log(await fn(realInput));
70
70
  ```
@@ -53,7 +53,7 @@ Every unknown surfaced during PLAN lands as an entry in `.gm/mutables.yml` the s
53
53
 
54
54
  ## .prd format
55
55
 
56
- Path: `./.gm/prd.yml`. Write via `exec:nodejs` + `fs.writeFileSync`. Delete the file when empty.
56
+ Path: `./.gm/prd.yml`. Write via the Write tool or by emitting a nodejs spool file (`in/nodejs/<N>.js`) that calls `fs.writeFileSync`. Delete the file when empty.
57
57
 
58
58
  ```yaml
59
59
  - id: kebab-id
@@ -103,7 +103,7 @@ The 200 lines are a *budget* for maximum surface coverage, not a target. Subsyst
103
103
 
104
104
  ## Execution norms encoded in the plan
105
105
 
106
- `exec:<lang>` only via Bash; file I/O via `exec:nodejs` + `fs`; git directly in Bash; never `Bash(node/npm/npx/bun)`. Paths in `exec:nodejs` are platform-literal — use `os.tmpdir()` and `path.join`, reserve `/tmp/...` for `exec:bash` heredocs. Every `exec:<lang>` and `exec:bash` call passes `--timeout-ms <ms>`; on timeout, partial output is preserved and the runner emits `[exec timed out after Nms; partial output above]` — re-issue with a higher budget rather than retrying blindly.
106
+ Code execution writes to `.gm/exec-spool/in/<lang>/<N>.<ext>`; the spool watcher runs the file and emits `out/<N>.json` as systemMessage. Utility verbs (`exec:recall`, `exec:codesearch`, `exec:memorize`, `exec:wait`, etc.) and `git` run directly via Bash. Never `Bash(node/npm/npx/bun)`. Spool paths in nodejs files are platform-literal — use `os.tmpdir()` and `path.join`. The spool enforces per-task timeouts; on timeout, partial output is preserved and the watcher emits `[exec timed out after Nms; partial output above]`.
107
107
 
108
108
  `exec:codesearch` only — Grep/Glob/Find/Explore are hook-blocked. Start two words, change/add one per pass, minimum four attempts before concluding absent.
109
109
 
@@ -11,18 +11,16 @@ Every claim in docs is verifiable against disk. Phase names match frontmatter, p
11
11
 
12
12
  ## Sequence
13
13
 
14
- What changed:
14
+ What changed — run directly via Bash:
15
15
 
16
16
  ```
17
- exec:bash
18
17
  git log -5 --oneline
19
18
  git diff HEAD~1 --stat
20
19
  ```
21
20
 
22
- Read current docs:
21
+ Read current docs via Read tool, or via a nodejs spool file (`in/nodejs/<N>.js`):
23
22
 
24
23
  ```
25
- exec:nodejs
26
24
  const fs = require('fs');
27
25
  ['README.md', 'AGENTS.md', 'docs/index.html', 'gm-starter/agents/gm.md'].forEach(f => {
28
26
  try { console.log(`=== ${f} ===\n` + fs.readFileSync(f, 'utf8')); }
@@ -37,18 +35,16 @@ Write changed sections only:
37
35
  - **docs/index.html** — `PHASES` array, platform lists, state machine diagram
38
36
  - **gm-starter/agents/gm.md** — skill chain line if new skills added
39
37
 
40
- Verify from disk:
38
+ Verify from disk (Read tool, or a nodejs spool file):
41
39
 
42
40
  ```
43
- exec:nodejs
44
41
  const content = require('fs').readFileSync('/abs/path/file.md', 'utf8');
45
42
  console.log(content.includes('expectedString'), content.length);
46
43
  ```
47
44
 
48
- Commit and push:
45
+ Commit and push directly via Bash:
49
46
 
50
47
  ```
51
- exec:bash
52
48
  git add README.md docs/index.html gm-starter/agents/gm.md
53
49
  git commit -m "docs: update documentation to reflect session changes"
54
50
  git push -u origin HEAD