Loading...
Loading...
Compare original and translation side by side
instruction.gm/exec-spool/in/instruction/<N>.txtinstructionprd_itemsmutables_pendingrecall_hitstransitioninstructioninstructionbrowser.md.txtmemorize-firegit logdocs/residual-scaninstructionupdate_availablebun x gm-plugkit@latestnpx -y gm-plugkit@latestrunning_taskstask-stop.gm/exec-spool/in/task-stop/<N>.txt{id: "t<n>"}stuck_spool.watcher.logtask-spawntask_idnodejsbashpythonshould_residual_scanresidual-scanunsupervised_watcherprd-addblockedBy: [external]blockedBy: [out-of-reach]~/.claude/gm-tools/plugkit.wasm.gm/exec-spool/.watcher.log.gm/exec-spool/.unplanned-restart.json.watcher.loggm-log/<day>/plugkit.jsonlsupervisor.watcher-exited-unexpectedlysupervisor.heartbeat-staleinstruction.gm/exec-spool/in/instruction/<N>.txtinstructionprd_itemsmutables_pendingrecall_hitstransitioninstructioninstructionbrowser.md.txtmemorize-firegit logdocs/residual-scaninstructionupdate_availablebun x gm-plugkit@latestnpx -y gm-plugkit@latestrunning_taskstask-stop.gm/exec-spool/in/task-stop/<N>.txt{id: "t<n>"}stuck_spool.watcher.logtask-spawntask_idnodejsbashpythonshould_residual_scanresidual-scanunsupervised_watcherprd-addblockedBy: [external]blockedBy: [out-of-reach]~/.claude/gm-tools/plugkit.wasm.gm/exec-spool/.watcher.log.gm/exec-spool/.unplanned-restart.json.watcher.loggm-log/<day>/plugkit.jsonlsupervisor.watcher-exited-unexpectedlysupervisor.heartbeat-stale.gm/exec-spool/.status.jsontsbun x gm-plugkit@latest spool~/.claude/gm-tools/bun x gm-plugkit@latest spool > /dev/null 2>&1 &bunnpx -y gm-plugkit@latest spool > /dev/null 2>&1 &node ~/.claude/gm-tools/plugkit-wasm-wrapper.js spool > /dev/null 2>&1 &LinkError.gm/exec-spool/.cli-status.jsonstartingbootstrappedreadyphase: "ready".gm/exec-spool/.status.jsonts.cli-status.json.gm/exec-spool/.bootstrap-error.json{error_phase, error_message, stack}/dev/null.gm/exec-spool/.watcher.log.gm/exec-spool/.status.jsontsbun x gm-plugkit@latest spool~/.claude/gm-tools/bun x gm-plugkit@latest spool > /dev/null 2>&1 &bunnpx -y gm-plugkit@latest spool > /dev/null 2>&1 &node ~/.claude/gm-tools/plugkit-wasm-wrapper.js spool > /dev/null 2>&1 &LinkError.gm/exec-spool/.cli-status.jsonstartingbootstrappedreadyphase: "ready".gm/exec-spool/.status.jsonts.cli-status.json.gm/exec-spool/.bootstrap-error.json/dev/null{error_phase, error_message, stack}.gm/exec-spool/.watcher.log.gm/exec-spool/.update-available.json{installed, latest, instruction, update_url}bootstrapPlugkit({latest: true}){latest: true}.gm/exec-spool/.update-available.json{installed, latest, instruction, update_url}bootstrapPlugkit({latest: true}){latest: true}.gm/exec-spool/in/<verb>/<N>.txt.gm/exec-spool/out/<verb>-<N>.jsonout/<N>.json.gm/exec-spool/in/<verb>/<N>.txt.gm/exec-spool/out/<verb>-<N>.jsonout/<N>.jsonWrite .gm/exec-spool/in/recall/1.txt body: {"query":"<noun A>"}
Write .gm/exec-spool/in/recall/2.txt body: {"query":"<noun B>"}
Write .gm/exec-spool/in/recall/3.txt body: {"query":"<noun C>"}
Write .gm/exec-spool/in/codesearch/1.txt body: {"query":"<phrase X>"}
Write .gm/exec-spool/in/codesearch/2.txt body: {"query":"<phrase Y>"}
Write .gm/exec-spool/in/codesearch/3.txt body: {"query":"<phrase Z>"}Write .gm/exec-spool/in/recall/1.txt body: {"query":"<noun A>"}
Write .gm/exec-spool/in/recall/2.txt body: {"query":"<noun B>"}
Write .gm/exec-spool/in/recall/3.txt body: {"query":"<noun C>"}
Write .gm/exec-spool/in/codesearch/1.txt body: {"query":"<phrase X>"}
Write .gm/exec-spool/in/codesearch/2.txt body: {"query":"<phrase Y>"}
Write .gm/exec-spool/in/codesearch/3.txt body: {"query":"<phrase Z>"}.gm/prd.yml.gm/mutables.ymlinstruction{
phase, // current phase
instruction, // phase prose (the active discipline)
prd_items: [...], // full PRD items with id, subject, status, fields
prd_pending_count,
mutables_pending: [{id, claim, witness_method, witness_evidence, status}, ...],
recall_hits: [...], // auto-fired against phase + first pending PRD subject
next_phase_hint
}.gm/prd.yml.gm/mutables.ymlinstruction{
phase, // 当前阶段
instruction, // 阶段执行说明(当前规则)
prd_items: [...], // 完整PRD项,包含id、主题、状态、字段
prd_pending_count,
mutables_pending: [{id, claim, witness_method, witness_evidence, status}, ...],
recall_hits: [...], // 根据阶段+首个待处理PRD主题自动触发的记忆内容
next_phase_hint
}println!eprintln!.gm/exec-spool/.watcher.log[dispatch] ← verb=X ms=N[retention][stale-sweep]--- watcher boot ... ---offsetRead .gm/exec-spool/.watcher.log offset=<last-known-line>.watcher.log.1println!eprintln!.gm/exec-spool/.watcher.log[dispatch] ← verb=X ms=N[retention][stale-sweep]--- watcher boot ... ---offsetRead .gm/exec-spool/.watcher.log offset=<last-known-line>.watcher.log.1prd-addprd-resolvemutable-addmutable-resolvewitness_evidencemutable-resolvemutables_pendingtransitionrecall_hitsphaseCOMPLETEresidual-scanprd-addprd-resolvemutable-addwitness_evidencemutable-resolvemutable-resolvemutables_pendingtransitionrecall_hitsphaseCOMPLETEresidual-scaninstructiontransitionphase-statusprd-addprd-resolveprd-listmutable-addmutable-resolvemutable-listmemorize-fireresidual-scanauto-recalltask-spawntask-listtask-stoptask-outputinstructiontransitionphase-statusprd-addprd-resolveprd-listmutable-addmutable-resolvemutable-listmemorize-fireresidual-scanauto-recalltask-spawntask-listtask-stoptask-outputfs_readfs_writefs_statfs_readdirkv_getkv_putkv_queryfetchexec_jsenv_getrecallcodesearchmemorizehealthstatuswaitsleepclosekill-portforgetfeedbacklearn-statuslearn-debuglearn-builddisciplinepauserunnerinferencebrowserfs_readfs_writefs_statfs_readdirkv_getkv_putkv_queryfetchexec_jsenv_getrecallcodesearchmemorizehealthstatuswaitsleepclosekill-portforgetfeedbacklearn-statuslearn-debuglearn-builddisciplinepauserunnerinferencebrowsernodejspythonbashpowershellsshgorustccppjavadenonodejspythonbashpowershellsshgorustccppjavadenobrowser.gm/exec-spool/in/browser/<N>.txt<cwd>/.gm/browser-profile/pageawait page.goto(...)await page.evaluate(...)snapshotscreenshotWithAccessibilityLabelsstatesession session newsession listsession close <id>node test.js passespage.evaluatebrowser.gm/exec-spool/in/browser/<N>.txt<cwd>/.gm/browser-profile/pageawait page.goto(...)await page.evaluate(...)snapshotscreenshotWithAccessibilityLabelsstatesession session newsession listsession close <id>node test.js passeslive page.evaluate