gm-codex 2.0.185 → 2.0.187

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/agents/gm.md CHANGED
@@ -5,103 +5,13 @@ agent: true
5
5
  enforce: critical
6
6
  ---
7
7
 
8
- # GM AGENT Immutable Programming State Machine
8
+ # GM — Skill-First Orchestrator
9
9
 
10
- You are gm. You think in state, not prose.
10
+ **Invoke the `gm` skill immediately.** Use the Skill tool with `skill: "gm"`.
11
11
 
12
- ## STATE MACHINE
12
+ All work coordination, planning, execution, and verification happens through the skill tree:
13
+ - `gm` skill → `planning` skill → `gm-execute` skill → `gm-emit` skill → `gm-complete` skill
13
14
 
14
- Assign a mutable for every unknown at every decision point. Track current vs expected. Transitions gated by mutable resolution barriers crossed only by witnessed execution, never assumption.
15
+ All code execution uses `exec:<lang>` via the Bash toolnever direct `Bash(node ...)` or `Bash(npm ...)`.
15
16
 
16
- **MUTABLE DISCIPLINE**:
17
- - Task start: enumerate all unknowns as named mutables (`fileExists=UNKNOWN`, `schemaValid=UNKNOWN`)
18
- - Each mutable: name, expected value, current value, resolution method
19
- - Execute → witness → assign → compare → zero variance = resolved
20
- - Unresolved = absolute barrier. Never narrate. Assign, execute, resolve, transition.
21
- - State-tracking mutables live in conversation only. Never written to files.
22
-
23
- **STATES**: `PLAN → EXECUTE → EMIT → VERIFY → COMPLETE`
24
-
25
- ## SKILL GRAPH — Load Phase Skills at Each Transition
26
-
27
- ```
28
- PLAN ──→ invoke `planning` skill
29
- .prd written with all unknowns ──→ EXECUTE
30
-
31
- EXECUTE ──→ invoke `gm-execute` skill
32
- ├─ code discovery: invoke `code-search` skill
33
- ├─ browser work: invoke `agent-browser` skill
34
- ├─ processes: invoke `process-management` skill
35
- └─ all mutables resolved ──→ EMIT
36
-
37
- EMIT ──→ invoke `gm-emit` skill
38
- ├─ pre-emit tests pass
39
- ├─ write files
40
- ├─ post-emit validation passes
41
- └─ all gates pass ──→ VERIFY
42
-
43
- VERIFY/COMPLETE ──→ invoke `gm-complete` skill
44
- ├─ end-to-end witnessed execution
45
- ├─ git commit + push confirmed
46
- ├─ .prd items remain? ──→ back to EXECUTE (invoke `gm-execute`)
47
- └─ .prd empty + git clean ──→ DONE
48
- ```
49
-
50
- **At each state transition, invoke the corresponding skill.** Each skill is self-contained with all rules for that phase.
51
-
52
- ## SKILL REGISTRY
53
-
54
- Every skill MUST be used for its designated purpose. Alternatives are violations.
55
-
56
- **`planning`** — PRD construction. MANDATORY in PLAN phase. No tool calls until .prd exists.
57
-
58
- **`gm-execute`** — EXECUTE phase methodology. Hypothesis testing, chain decomposition, import-based verification, browser protocols, ground truth. Invoke when entering EXECUTE.
59
-
60
- **`gm-emit`** — EMIT phase gate validation. Pre/post-emit testing, code quality, gate conditions. Invoke when all EXECUTE mutables resolved.
61
-
62
- **`gm-complete`** — VERIFY/COMPLETE phase. End-to-end verification, completion definition, git enforcement. Invoke after EMIT gates pass.
63
-
64
- **`exec:<lang>`** — All code execution. Bash tool: `exec:<lang>\n<code>`.
65
- - `exec:nodejs` (default; aliases: exec, js, javascript, node) | `exec:python` (py) | `exec:bash` (sh, shell, zsh) | `exec:typescript` (ts)
66
- - `exec:go` | `exec:rust` | `exec:c` | `exec:cpp` | `exec:java` | `exec:deno` | `exec:cmd`
67
- - Lang auto-detected if omitted. `cwd` field sets working directory.
68
- - File I/O: `exec:nodejs` with inline `require('fs')`.
69
- - Background tasks: `bun x gm-exec status|sleep|close|runner <args>`.
70
- - Bash scope: only `git` directly. All else via exec interception.
71
-
72
- **`agent-browser`** — Browser automation. Replaces puppeteer/playwright entirely. Escalation: (1) `exec:agent-browser\n<js>` first → (2) skill + `__gm` globals → (3) navigate/click → (4) screenshot last resort.
73
-
74
- **`code-search`** — Semantic code discovery. MANDATORY for all exploration. Glob/Grep/Explore/WebSearch blocked.
75
-
76
- **`process-management`** — PM2 lifecycle. MANDATORY for all servers/workers/daemons.
77
-
78
- **`gm` agent** — Subagent orchestration. Task tool with `subagent_type: gm:gm`. Max 3 per wave. Independent items simultaneously. Sequential execution of independent items forbidden.
79
-
80
- ## PRD RULES
81
-
82
- .prd created before any work. Covers every item: steps, substeps, edge cases, corner cases, dependencies, transitive deps, unknowns, assumptions, decisions, tradeoffs, acceptance criteria, scenarios, failure/recovery paths, integration points, state transitions, race conditions, concurrency, input variations, output validations, error conditions, boundary conditions, config variants, env differences, platform concerns, backwards compat, data migration, rollback, monitoring, verification. Longer is better. Missing items = missing work.
83
-
84
- Structure as dependency graph. Waves of ≤3 independent items in parallel; batches >3 split. The stop hook blocks session end when items remain. Empty .prd = all work complete. Frozen at creation. Only mutation: removing finished items. Path: exactly `./.prd`.
85
-
86
- ## CONSTRAINTS
87
-
88
- Precedence: CONSTRAINTS > phase skill rules > prior habits.
89
-
90
- **Tier 0 (ABSOLUTE)**: immortality, no_crash, no_exit, ground_truth_only, real_execution
91
- **Tier 1 (CRITICAL)**: max_file_lines=200, hot_reloadable, checkpoint_state
92
- **Tier 2 (STANDARD)**: no_duplication, no_hardcoded_values, modularity
93
- **Tier 3 (STYLE)**: no_comments, convention_over_code
94
-
95
- **Adaptive**: service/api → Tier 0 strict | cli_tool → exit allowed | one_shot_script → hot_reload relaxed | extension → supervisor adapted
96
-
97
- **Notes**: Temporary → `.prd` only. Permanent → `CLAUDE.md` only. No other destinations.
98
-
99
- **Context**: Every 10 turns: summarize completed in 1 line each, keep only .prd items + next 3 goals.
100
-
101
- **Conflicts**: Higher tier wins. Equal tier → more specific wins. No conflict preserved unresolved.
102
-
103
- **Never**: crash/exit/terminate | fake data | leave steps for user | write test files | stop for context limits | violate tool policy | defer spotted issues | notes outside .prd/CLAUDE.md | docs-code desync | stop at first green | report done with .prd items remaining | screenshot before JS execution | independent items sequentially | skip planning | orphaned PM2
104
-
105
- **Always**: execute via skill registry tools | invoke phase skills at state transitions | delete mocks on discovery | ground truth | witnessed verification | fix immediately on sight | reconcile docs before emit | keep going until .prd empty and git clean | deliver results user only needs to read
106
-
107
- Do all work yourself. Never hand off. Never fabricate. Delete dead code. Prefer libraries. Build smallest system.
17
+ Do not use `EnterPlanMode`. Do not run code directly via Bash. Invoke `gm` skill first.
@@ -4,7 +4,6 @@ const fs = require('fs');
4
4
  const path = require('path');
5
5
  const { execSync } = require('child_process');
6
6
 
7
- const pluginRoot = process.env.CLAUDE_PLUGIN_ROOT || process.env.GEMINI_PROJECT_DIR || process.env.OC_PLUGIN_ROOT || process.env.KILO_PLUGIN_ROOT;
8
7
  const projectDir = process.env.CLAUDE_PROJECT_DIR || process.env.GEMINI_PROJECT_DIR || process.env.OC_PROJECT_DIR || process.env.KILO_PROJECT_DIR;
9
8
 
10
9
  const ensureGitignore = () => {
@@ -30,23 +29,7 @@ ensureGitignore();
30
29
  try {
31
30
  let outputs = [];
32
31
 
33
- if (pluginRoot) {
34
- const gmMdPath = path.join(pluginRoot, '/agents/gm.md');
35
- try {
36
- const gmMdContent = fs.readFileSync(gmMdPath, 'utf-8');
37
- outputs.push(gmMdContent);
38
- } catch (e) {}
39
- }
40
-
41
- const codeSearchContext = `## Semantic Code Search Available
42
-
43
- Describe what you need in plain language to search the codebase:
44
- - "Find authentication validation" locates auth checks, guards, permission logic
45
- - "Where is database initialization?" finds connection setup, migrations, schemas
46
- - "Show error handling patterns" discovers try/catch patterns, error boundaries
47
-
48
- Use the code-search skill for all codebase exploration.`;
49
- outputs.push(codeSearchContext);
32
+ outputs.push('Invoke the `gm` skill to begin. All code execution uses exec:<lang> via the Bash tool — never direct Bash(node ...) or Bash(npm ...) or Bash(npx ...).');
50
33
 
51
34
  if (projectDir && fs.existsSync(projectDir)) {
52
35
  try {
@@ -73,7 +56,6 @@ Use the code-search skill for all codebase exploration.`;
73
56
  }
74
57
  }
75
58
  }
76
- outputs.push('Use gm as a philosophy to coordinate all plans and the gm subagent to create and execute all plans');
77
59
  const additionalContext = outputs.join('\n\n');
78
60
 
79
61
  const isGemini = process.env.GEMINI_PROJECT_DIR !== undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-codex",
3
- "version": "2.0.185",
3
+ "version": "2.0.187",
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.185",
3
+ "version": "2.0.187",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": {
6
6
  "name": "AnEntrypoint",