gm-emit

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

GM EMIT — Writing and Verifying Files

GM EMIT — 文件写入与验证

You are in the EMIT phase. Every mutable is KNOWN. Prove the write is correct, write, confirm from disk. Any new unknown = snake to
planning
, restart chain.
GRAPH POSITION:
PLAN → EXECUTE → [EMIT] → VERIFY → COMPLETE
  • Entry: All .prd mutables resolved. Entered from
    gm-execute
    or via snake from VERIFY.
你正处于EMIT阶段。所有可变项均为已知状态。需验证写入操作的正确性,执行写入,然后从磁盘确认结果。任何新的未知情况都将回溯至
planning
阶段,重启流程链。
流程位置
PLAN → EXECUTE → [EMIT] → VERIFY → COMPLETE
  • 进入条件:所有.prd可变项已解析完成。从
    gm-execute
    阶段进入,或从VERIFY阶段回溯进入。

TRANSITIONS

阶段转换

FORWARD: All gate conditions true simultaneously → invoke
gm-complete
skill
SELF-LOOP: Post-emit variance with known cause → fix immediately, re-verify, do not advance until zero variance
BACKWARD:
  • Pre-emit reveals logic error (known mutable) → invoke
    gm-execute
    skill, re-resolve, return here
  • Pre-emit reveals new unknown → invoke
    planning
    skill, restart chain
  • Post-emit variance with unknown cause → invoke
    planning
    skill, restart chain
  • Scope changed → invoke
    planning
    skill, restart chain
  • From VERIFY: end-to-end reveals broken file → re-enter here, fix, re-verify, re-advance
向前推进:所有准入条件同时满足 → 调用
gm-complete
skill
自循环:发射后出现已知原因的差异 → 立即修复,重新验证,直至差异为零再推进
向后回溯:
  • 预发射阶段发现逻辑错误(已知可变项)→ 调用
    gm-execute
    skill,重新解析,返回本阶段
  • 预发射阶段发现新的未知情况 → 调用
    planning
    skill,重启流程链
  • 发射后出现原因未知的差异 → 调用
    planning
    skill,重启流程链
  • 范围变更 → 调用
    planning
    skill,重启流程链
  • 从VERIFY阶段返回:端到端检查发现文件损坏 → 重新进入本阶段,修复,重新验证,再推进

MUTABLE DISCIPLINE

可变项规范

Each gate condition is a mutable. Pre-emit run witnesses expected value. Post-emit run witnesses current value. Zero variance = resolved. Variance with unknown cause = new unknown = snake to
planning
.
每个准入条件都是一个可变项。预发射运行可获取预期值。发射后运行可获取当前值。差异为零即表示已解析。若出现原因未知的差异,则视为新的未知情况 → 回溯至
planning
阶段。

CODE EXECUTION

代码执行

exec:<lang> is the only way to run code. Bash tool body:
exec:<lang>\n<code>
exec:nodejs
(default) |
exec:bash
|
exec:python
|
exec:typescript
|
exec:go
|
exec:rust
|
exec:java
|
exec:deno
|
exec:cmd
Only git in bash directly.
Bash(node/npm/npx/bun)
= violations. File writes via exec:nodejs + require('fs').
exec:<lang>是运行代码的唯一方式。Bash工具格式:
exec:<lang>\n<code>
exec:nodejs
(默认)|
exec:bash
|
exec:python
|
exec:typescript
|
exec:go
|
exec:rust
|
exec:java
|
exec:deno
|
exec:cmd
仅可直接在bash中使用git。
Bash(node/npm/npx/bun)
属于违规操作。文件写入需通过exec:nodejs + require('fs')完成。

PRE-EMIT DEBUGGING (before writing any file)

预发射调试(写入任何文件之前)

  1. Import actual module from disk via
    exec:nodejs
    — witness current on-disk behavior
  2. Run proposed logic in isolation WITHOUT writing — witness output with real inputs
  3. Debug failure paths with real error inputs — record expected values
exec:nodejs
const { fn } = await import('/abs/path/to/module.js');
console.log(await fn(realInput));
Pre-emit revealing unexpected behavior → new unknown → snake to
planning
.
  1. 通过
    exec:nodejs
    从磁盘导入实际模块 → 查看当前磁盘上的行为
  2. 在不写入文件的情况下独立运行拟议逻辑 → 使用真实输入查看输出
  3. 使用真实错误输入调试失败路径 → 记录预期值
exec:nodejs
const { fn } = await import('/abs/path/to/module.js');
console.log(await fn(realInput));
预发射阶段发现意外行为 → 新的未知情况 → 回溯至
planning
阶段。

WRITING FILES

文件写入

exec:nodejs
with
require('fs')
. Write only when every gate mutable is
resolved=true
simultaneously.
使用
exec:nodejs
搭配
require('fs')
。仅当所有准入可变项同时为
resolved=true
时才可执行写入。

POST-EMIT VERIFICATION (immediately after writing)

发射后验证(写入完成后立即执行)

  1. Re-import the actual file from disk — not in-memory version
  2. Run same inputs as pre-emit — output must match exactly
  3. For browser: reload from disk, re-inject
    __gm
    globals, re-run, compare captures
  4. Known variance → fix and re-verify | Unknown variance → snake to
    planning
  1. 重新从磁盘导入实际文件 — 而非内存版本
  2. 运行与预发射阶段相同的输入 → 输出必须完全匹配
  3. 针对浏览器:从磁盘重新加载,重新注入
    __gm
    全局变量,重新运行,对比捕获结果
  4. 已知差异 → 修复并重新验证 | 未知差异 → 回溯至
    planning
    阶段

GATE CONDITIONS (all true simultaneously before advancing)

准入条件(推进前需同时满足所有条件)

  • Pre-emit debug passed with real inputs and error inputs
  • Post-emit verification matches pre-emit exactly
  • Hot reloadable: state outside reloadable modules, handlers swap atomically
  • Crash-proof: catch at every boundary, recovery hierarchy
  • No mocks/fakes/stubs anywhere
  • Files ≤200 lines, no duplicate code, no comments, no hardcoded values
  • CLAUDE.md reflects actual behavior
  • 预发射调试通过真实输入和错误输入测试
  • 发射后验证结果与预发射阶段完全匹配
  • 支持热重载:可重载模块外的状态,处理器原子性切换
  • 防崩溃:在每个边界处捕获异常,具备恢复层级
  • 全程无模拟/伪造/存根(mocks/fakes/stubs)
  • 文件行数≤200,无重复代码,无注释,无硬编码值
  • CLAUDE.md反映实际行为

CODEBASE EXPLORATION

代码库探索

exec:codesearch
<natural language description>
Alias:
exec:search
. Glob, Grep, Explore = blocked.
exec:codesearch
<自然语言描述>
别名:
exec:search
。Glob、Grep、Explore均被禁用。

BROWSER DEBUGGING

浏览器调试

Invoke
agent-browser
skill. Escalation: (1)
exec:agent-browser\n<js>
→ (2) skill +
__gm
globals → (3) navigate/click → (4) screenshot last resort.
调用
agent-browser
skill。升级步骤:(1)
exec:agent-browser\n<js>
→ (2) skill +
__gm
全局变量 → (3) 导航/点击 → (4) 最后手段是截图。

SELF-CHECK (before and after each file)

自我检查(每个文件写入前后)

File ≤200 lines | No duplication | Pre-emit passed | No mocks | No comments | Docs match | All spotted issues fixed
文件行数≤200 | 无重复代码 | 预发射调试通过 | 无模拟 | 无注释 | 文档与实际匹配 | 所有发现的问题已修复

CONSTRAINTS

约束条件

Never: write before pre-emit passes | advance with post-emit variance | absorb surprises silently | comments | hardcoded values | defer spotted issues
Always: pre-emit debug before writing | post-emit verify from disk | snake to planning on any new unknown | fix immediately

→ FORWARD: All gates pass → invoke
gm-complete
skill. ↺ SELF-LOOP: Known post-emit variance → fix, re-verify. ↩ SNAKE to EXECUTE: Known logic error → invoke
gm-execute
skill. ↩ SNAKE to PLAN: Any new unknown → invoke
planning
skill, restart chain.
禁止:预发射调试通过前写入文件 | 存在发射后差异时推进 | 默默忽略意外情况 | 添加注释 | 硬编码值 | 推迟修复已发现的问题 必须:写入前进行预发射调试 | 从磁盘进行发射后验证 | 出现任何新的未知情况时回溯至规划阶段 | 立即修复问题

→ 向前推进:所有准入条件满足 → 调用
gm-complete
skill。 ↺ 自循环:发射后出现已知差异 → 修复,重新验证。 ↩ 回溯至EXECUTE:发现已知逻辑错误 → 调用
gm-execute
skill。 ↩ 回溯至PLAN:出现任何新的未知情况 → 调用
planning
skill,重启流程链。