gm-oc 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.
package/package.json
CHANGED
package/skills/gm/SKILL.md
CHANGED
|
@@ -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
|
|
55
|
-
3.
|
|
56
|
-
4.
|
|
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
|
|
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
|
```
|
package/skills/gm-emit/SKILL.md
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
```
|
package/skills/planning/SKILL.md
CHANGED
|
@@ -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 `
|
|
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
|
-
|
|
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
|