pomaster 0.6.1 → 0.8.0

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/README.md CHANGED
@@ -63,6 +63,212 @@ corepack pnpm studio:react:dev # React sidecar(antd 对照浏览,端口 600
63
63
 
64
64
  gate 运行结果走 `record gate-run` 产 **GRN 回执**入 evidence 平面;claim 必须显式绑定 GRN 分母;`record verification` 把 claim 推到 VERIFIED;closeout 判卷「claims × GRN 硬绑」——证据缺失伪装完成会被**阻断码**硬拦。读侧字节级核验:判卷字节 == 落盘字节 == GRN 引用字节,失配即判红。
65
65
 
66
+ ## 架构总览:点线面
67
+
68
+ > 面=组成块;线=块之间的数据/控制流;块内是工作流(SOP);工作流由节点组成;节点上挂着工具与功能。本节是全景地图——每个节点都能在下方《命令全景》里找到对应命令。
69
+
70
+ ### 一、面:九大组成块
71
+
72
+ ```mermaid
73
+ graph TB
74
+ subgraph CORPUS["📜 Corpus 文档真理面"]
75
+ C1["PRD 语料 + Owner 裁决台账<br/>owner-adjudications.md"]
76
+ C2["派生 views(构建期生成,--check 防漂移)"]
77
+ end
78
+
79
+ subgraph KERNEL["🏛️ Kernel 治理内核"]
80
+ K1["store:applyTransaction 唯一写入权威"]
81
+ K2["五原语:Object · State · Authority<br/>· Transition · Projection"]
82
+ K3["决策图 / 许可 / 锁 / 执行台账"]
83
+ K4["投影编译 / 计划编译器 / 证据资格链"]
84
+ K5["Steering · Checkpoint · Telemetry"]
85
+ end
86
+
87
+ subgraph SCHEMAS["📐 Schemas 契约面"]
88
+ S1["23 份 JSON Schema 资产 + 词表"]
89
+ end
90
+
91
+ subgraph CLI["🎛️ CLI 命令面"]
92
+ L1["八拍命令链"]
93
+ L2["横切命令:audit · doctor · view<br/>· diagnose · telemetry · tools · provider"]
94
+ end
95
+
96
+ subgraph GAUNTLET["⚔️ Gauntlet-lite 验证工具面"]
97
+ G1["四段 Adapter:detect→prepare→run→normalize"]
98
+ G2["ToolBinding 注册面:六分态"]
99
+ G3["TYPECHECK / LINT / CONTRACT / BUILD 腿"]
100
+ end
101
+
102
+ subgraph HOOKS["🪝 Hooks 宿主拦截面"]
103
+ H1["exec-guard(PreToolUse 写前拦截)"]
104
+ end
105
+
106
+ subgraph STUDIO["🖼️ Studio 双画廊"]
107
+ D1["packages/studio(Vue3 主实例)"]
108
+ D2["packages/studio-react(React18 sidecar)"]
109
+ end
110
+
111
+ subgraph STATE["💾 .pomaster 状态面(自托管)"]
112
+ T1["truth-index + objects(治理事实)"]
113
+ T2["evidence:CLM / GRN / blob / OBS"]
114
+ T3["state:permits / sessions / contexts<br/>/ steering-log / authority"]
115
+ T4["discovery / traces / checkpoints"]
116
+ end
117
+
118
+ CORPUS -->|"裁定与语料(构建期灌装)"| KERNEL
119
+ SCHEMAS -->|"契约校验(ajv)"| KERNEL
120
+ KERNEL -->|"类型与判卷函数"| CLI
121
+ GAUNTLET -->|"GateResult 归一形态"| CLI
122
+ CLI -->|"唯一写入:applyTransaction"| STATE
123
+ HOOKS -->|"PreToolUse 判卷 checkPermit"| STATE
124
+ CLI -->|"命令编排"| GAUNTLET
125
+ STATE -->|"seed 只读装载 origin=preset"| STUDIO
126
+ ```
127
+
128
+ 九块一句话:**Corpus** 说"为什么这样设计、Owner 裁了什么";**Kernel** 是唯一能改治理事实的地方;**Schemas** 是一切落盘物的契约;**CLI** 是人机接口;**Gauntlet-lite** 是"跑工具、算证据"的手;**Hooks** 是宿主(Claude Code 等)每次写文件前的机器关卡;**Studio** 是可视化画廊(只读呈现,非规范);**.pomaster** 是项目自己的治理状态库。
129
+
130
+ ### 二、线:治理主循环(Expected → Observed → Reconcile → Accepted)
131
+
132
+ 一切工作都在这条主循环上,八拍是它的命令化表达:
133
+
134
+ ```mermaid
135
+ flowchart LR
136
+ A["Ground<br/>需求拷问<br/>brainstorm"] --> B["Expect<br/>合同与验收<br/>promote"]
137
+ B --> C["Act<br/>受控写入<br/>maintain / exec-guard"]
138
+ C --> D["Verify<br/>计划+执行<br/>plan compile / check"]
139
+ D --> E["Reconcile<br/>delta 对账<br/>reconcile"]
140
+ E --> F["Audit<br/>越界/弱化审计<br/>audit test-weakening"]
141
+ F --> G["Carry<br/>DoD 五闸收口<br/>closeout"]
142
+ G --> H["Learn<br/>知识/记忆候选<br/>memory / knowledge"]
143
+ H -.->|"经验反哺下一轮"| A
144
+ ```
145
+
146
+ 三条铁律贯穿全循环(fail-closed):
147
+
148
+ 1. **一切落库必经 `applyTransaction`**——CLI 没有任何旁路写。
149
+ 2. **声称方不可自填 VERIFIED**——claim 恒 UNVERIFIED 起步,独立验证流回写。
150
+ 3. **机器验证 ≠ 成果接受**——closeout 前必须有绑定 task 的 Human ACCEPT 决议(裁决 20②)。
151
+
152
+ ### 三、线:一次写入的完整旅程(写路径时序)
153
+
154
+ ```mermaid
155
+ sequenceDiagram
156
+ participant Agent as AI/人
157
+ participant Hook as exec-guard hook
158
+ participant CLI as CLI 命令
159
+ participant Kernel as Kernel 判卷
160
+ participant Disk as .pomaster
161
+
162
+ Agent->>Hook: Edit/Write/Bash 写前
163
+ Hook->>Kernel: checkPermit(KEYBINDING→映射→scope)
164
+ alt 无绑定/无活跃 execution
165
+ Hook-->>Agent: 透传(条件激活,非授权)
166
+ else 越界(跨目标全称判卷)
167
+ Hook-->>Agent: DENY exit 2 + 枚举越界目标
168
+ else 许可覆盖
169
+ Hook-->>Agent: ALLOW(留痕)
170
+ end
171
+ Agent->>CLI: pomaster maintain --ops(显式事务)
172
+ CLI->>Kernel: applyTransaction(D-4 权威闸 + source_refs 判卷)
173
+ Kernel->>Disk: 原子落库 + journal TX_APPLIED
174
+ Note over Disk: 事后 execution-audit 逐路径 scope 审计<br/>(越界 exit 1 + OBS 回执 → view review 呈现)
175
+ ```
176
+
177
+ ### 四、线:证据链(从工具跑到成果接受)
178
+
179
+ ```mermaid
180
+ flowchart TB
181
+ T["真实工具执行<br/>ToolBinding:registered→validated<br/>→available→selected"] -->|"run→normalize"| GRN["GRN GateRun 台账<br/>verdict 七态,假绿封死"]
182
+ GRN --> V["record verification<br/>独立 verifier,自批拒绝"]
183
+ A["Acceptance 验收行"] -->|"record claim"| CLM["CLM Claim<br/>UNVERIFIED 起步"]
184
+ V --> CLM
185
+ CLM -->|"verification=VERIFIED"| CO["closeout 五闸"]
186
+ subgraph 五闸["closeout 判卷五闸(全绿才施断)"]
187
+ G1["① DoD 分母<br/>悬空/自批/资格链拒绝"]
188
+ G2["② Evidence Spec 资格"]
189
+ G3["③ Gate 记录 passed"]
190
+ G4["④ Baseline 确认态"]
191
+ G5["⑤ ACCEPT 回执闸<br/>绑定 task 的 Human 决议"]
192
+ end
193
+ CO -->|"全绿"| DONE["evidence=VERIFIED(成果施断)"]
194
+ CO -->|"任一不过"| BLOCK["显式失败码 + 零写入<br/>REWORK/REJECT 天然阻断"]
195
+ ```
196
+
197
+ ### 五、面内工作流 × 节点 × 点
198
+
199
+ 每行=一个 SOP;节点是工作流步骤;点是步骤上的命令/闸/功能。
200
+
201
+ | 面 | 工作流(SOP) | 节点 → 点 |
202
+ |---|---|---|
203
+ | **Kernel 治理内核** | 受控写入 SOP | `applyTransaction`(唯一写权威)→ D-4 权威维度闸 → source_refs 判卷 → 幂等短路/冲突拒绝 → journal |
204
+ | | 生命周期 SOP | `transition_object`:PROPOSED→CURRENT(authority_approval)→ SUPERSEDED(successor_ref 必填) |
205
+ | | 投影编译 SOP | projection 确定性 applicability(lanes→capabilities→change_class→object_kinds;governance_profile 解除判卷力)→ must/advisory 分区 |
206
+ | | 决策 SOP | decision-graph:build→grounding;ACCEPT/CHANGE 需 READY_FOR_DECISION,UNKNOWN/DEFER 可记录未决处置并保留冲突;UNKNOWN 仍需六问 triage,--ready 独立判定充分性;outcome_binding 保留成果绑定 |
207
+ | **CLI 八拍** | Discovery | `brainstorm start / question-gate / decide --set --answer --ready / promote` |
208
+ | | Framework | `permit issue/check/steal`、`baseline set/confirm/--ack-drifted` |
209
+ | | Projection | `context compile`(must/advisory 分区 + Steering/negative-history 投影 + 指纹) |
210
+ | | Execute | `maintain --ops`、`new-entity`、exec-guard 拦截 |
211
+ | | Verify | `plan compile`(Evidence Plan)、`check --fast/--gates`、`record gate-run` |
212
+ | | Reconcile | `reconcile --permit`(八拍 delta)、`session attach --reconcile`(恢复对账闸) |
213
+ | | Compact | `compact`、`knowledge record/validate/promote`、`memory capture/harvest/review --actor/promote` |
214
+ | | Carry | `record claim/verification`、`closeout`(五闸)、`view review`(八分区终审包) |
215
+ | **横切命令** | 诊断 | `diagnose`(六失败域判定核)、`production diagnose`(同核,breach 前置) |
216
+ | | 审计 | `audit blueprint/task/test-weakening`、`execution audit`(事后 scope)、`ledger record` |
217
+ | | 观测 | `telemetry task`(六指标,零分母显式 NOT_COMPUTABLE)、`view`(status/attention/decision/review)、`alerts` |
218
+ | | 运行时 | `session attach(--reconcile)`、`checkpoint save/show`、execution 查询(在途 recorded/none 分态) |
219
+ | | Provider | `provider capabilities`(四维度×三值探针报告 + 降级语义) |
220
+ | **Gauntlet-lite 验证** | 工具接入 SOP | ToolBinding 六分态:detect→registered→validated→available→selected→executed(`tools list/validate`) |
221
+ | | 验证执行 SOP | 四段 adapter:detect→prepare→run→normalize(BUILD/TYPECHECK/LINT/CONTRACT 受信闭包) |
222
+ | | 浏览器双腿 | playwright 确定性腿 + chrome-devtools MCP 交互腿(环境回执九项门) |
223
+ | | 报告判卷 SOP | 逐断言重算(自报 vs recomputed 孪生)、零分母 cap、截断披露、not_run 诚实缺席 |
224
+ | **Hooks 拦截** | 写前判定 SOP | 词形粗筛→KEYBINDING 映射→permit 判卷→跨目标全称汇总(DENY 枚举全部越界)→ALLOW/透传/fail-open 三态如实 |
225
+ | **Studio 双画廊** | 生成 SOP | seed 单一源(origin=preset)→ 生成器(KNOWN_HINTS fail-closed)→ generated stories → 钉测(58 叶/133 分母对账) |
226
+ | | 呈现 | archetype 41 卡 / 71 组件 story / design-tokens 组筛选页(组筛选=seed 派生真值分母) |
227
+ | **Corpus 真理** | 裁定 SOP | Owner 裁决 → owner-adjudications.md 台账 → 派生 views(--check 防漂移) |
228
+ | **.pomaster 自托管** | 恢复 SOP | `checkpoint save`(引用快照)→ 中断 → `session attach --reconcile`(新鲜度判定)→ `checkpoint show`(引用面可见) |
229
+ | | 学习 SOP | negative-history record/search(已否定方案)、steering record/search(约束事件) |
230
+
231
+ ### 六、点:fail-closed 错误码家族(闸的语言)
232
+
233
+ 每个闸失败都给**稳定错误码**(机器可断言)+ 人读 hint(含确切可用命令词形)。代表性家族:
234
+
235
+ | 家族 | 码 | 语义 |
236
+ |---|---|---|
237
+ | 权威 | `AUTHORITY_BOUNDARY_DENY` / `GHOST_AUTHORITY_OWNER` | 非权威来源驱动写入 / owner 未登记(FATAL) |
238
+ | 许可 | `PERMIT_SCOPE_DENIED` / `PERMIT_EXPIRED_OBSERVED` / `PERMIT_UNKNOWN` | 越界 / 到期 / 引用不存在 |
239
+ | 证据 | `EVIDENCE_ALREADY_EXISTS` / `EVIDENCE_MALFORMED` / `EVIDENCE_BINDING_INCOMPLETE` | 同号异内容 / 损坏 / 绑定不全 |
240
+ | 判卷 | `CLAIM_ALREADY_ADJUDICATED` / `CLAIM_SELF_APPROVAL` / `DOD_CLAIM_SELF_APPROVED` / `DOD_CLAIM_EVIDENCE_UNQUALIFIED` | 已判定禁改判 / 自批警告 / closeout 拒自批 / 证据资格否决 |
241
+ | 收口 | `CLOSEOUT_ACCEPT_MISSING` / `CLOSEOUT_ACCEPT_STALE` / `CLOSEOUT_ACCEPT_DAMAGED` / `GATE_EVIDENCE_MISSING` / `BASELINE_NOT_CONFIRMED` | 无回执 / 内容漂移 / 图损坏 / 缺 gate / 基线未确认 |
242
+ | 投影 | `STALE_GROUNDING` / `RECONCILE_DIRTY` / `BASELINE_MISSING` / `SCHEMA_INVALID` | 指纹漂移 / 对象漂移 / 基线缺席 / 结构非法 |
243
+ | 执行 | `EXECUTION_ALREADY_EXISTS` / `EXECUTION_INTERRUPTED` / `CHECKPOINT_ALREADY_EXISTS` / `TOOLBINDING_REGISTRY_ABSENT` | 重试须新 id / 被接管封口 / checkpoint 冲突 / 注册面缺席 |
244
+
245
+ ### 七、长时程运行面(Durable Runtime)
246
+
247
+ ```mermaid
248
+ graph LR
249
+ subgraph SAVE["保存时点"]
250
+ CP["checkpoint save<br/>11 键引用快照"]
251
+ end
252
+ subgraph INTERRUPT["中断"]
253
+ INT["在途 execution<br/>recorded / none 分态"]
254
+ end
255
+ subgraph RESUME["恢复时点"]
256
+ R["session attach --reconcile<br/>新鲜度判定"]
257
+ R1["clean → 放行"]
258
+ R2["dirty / 缺基线 → attach + 告警<br/>clean=false 保留"]
259
+ end
260
+ CP --> INTERRUPT --> RESUME
261
+ STE["steering record<br/>约束事件 declared 申报面"] -.->|"下一编译边界生效"| R
262
+ TEL["telemetry task<br/>六指标派生评估"] -.->|"只读聚合"| STATE2[(".pomaster")]
263
+ ```
264
+
265
+ `session attach --reconcile` 恢复上下文,不建立强制只读会话。既有 Permit 范围内写入仍可能获准,权限检查通过不等于漂移已处置;attach 不扩大授权。判卷失败和活会话所有权保护仍保留,独立 `reconcile` 仍严格失败。`--reconcile-force` 仅兼容回显非 clean 时的 `overridden=true`,不是持久处置回执。
266
+
267
+ Provider 无原生 async/steering/取消时的降级语义是**声明面**(`provider capabilities`):同步步骤+持久记录 / 下一派发边界应用约束 / 在途状态明确+冲突隔离 / 预编译较小工具集——全部映射到仓内已就位载体,不是假想 API。
268
+
269
+ ---
270
+
271
+
66
272
  ## 快速上手
67
273
 
68
274
  POMaster 的全部能力收敛在一条 CLI(`pomaster`)——八拍 Change Loop 的每一拍都有对应命令面。先上**命令全景**(与 `pomaster --help` 对账零漂移;`#` 分节注释仅人读)。第一次使用?直接看 [安装 → init → 第一个 Change](#1-安装) 的全流程。
@@ -83,27 +289,34 @@ pomaster brainstorm start/question-gate/status/decide/promote
83
289
  # ② FRAMEWORK —— 许可签发/判卷/显式接管/台账
84
290
  pomaster permit issue/check/steal/list
85
291
 
86
- # ③ PROJECTION —— 最小充分上下文投影
292
+ # ③ PROJECTION —— 最小充分上下文投影(消费 confirmed baseline/tokens:确认态三态 + 25 资产 digest 摘要 +
293
+ # design-tokens 九组三态进 AUTHORITATIVE/ADVISORY 分区;baseline 漂移/改型 → --check STALE_GROUNDING 呈现)
87
294
  pomaster context compile/explain
88
295
 
89
296
  # ④ EXECUTE —— 写路径机器执行点 / 受控变更
90
297
  pomaster exec-guard --attempt <file|->
91
298
  pomaster maintain <change-or-task> --ops <tx>
92
299
 
93
- # ⑤ VERIFY —— FAST gate / gate recipes 派发 / 证据入账
300
+ # ⑤ VERIFY —— Verification Plan 编译 / FAST gate / gate recipes 派发 / 证据入账
301
+ pomaster plan compile # 证据计划编译(W1-R1-3):--task(payload.acceptance 纯读)或 --input 契约直传(互斥)→ 逐验收义务计划(applicability 三值各带依据;缺工具≠N/A 保持 REQUIRED+tool_gap;无法判断保留 unknown 禁默认 N/A;informational 档位零参与——A1 裁定;变更面 --face "kind=present|absent:<依据>" 显式申报禁猜测;词形=SP 提案待追认)
302
+ pomaster tools list/validate # ToolBinding 统一注册面六分态(W1-R1-4;SP 提案待追认):.pomaster/tools/bindings.json 在座即唯一工具事实源(detect/registered/validated/available/selected/executed 分态不可跃迁、缺口逐条显式;--plan 回喂计划工件对账 selected;executed 唯一事实源=GRN 真实回执——工具发现≠调用授权;registry 缺席时 plan compile 回退 legacy 探测)
94
303
  pomaster check --fast/--gates
95
304
  pomaster record gate-run/claim/verification
96
305
 
97
306
  # ⑥ RECONCILE —— delta 三方对账 / 投影视图 / 审计 / 例外台账
98
307
  pomaster reconcile --permit <PERMIT.*>
99
- pomaster view blueprint/task/attention/decision
100
- pomaster audit blueprint/task
308
+ pomaster view blueprint/task/attention/decision/review
309
+ pomaster audit blueprint/task/test-weakening
101
310
  pomaster ledger record/list
102
311
 
103
312
  # ⑦ COMPACT —— 折叠入账 / 知识生命周期 / 记忆收割
104
313
  pomaster compact
105
314
  pomaster knowledge search/inspect/record/review-candidates/promote/demote
106
315
  pomaster memory capture/inspect/harvest/review/promote/audit
316
+ pomaster negative-history record/search # 任务内已否定方案(W1-R1-7;REQ-03/AC-02):record 绑定 TASK.*(--approach/--reason 必填 + --evidence-ref 可选,数据住 task payload.negative_history——不建第二库);search 词级精确检索、未命中显式「无记录」;context compile 经 [ADVISORY KNOWLEDGE] 分区可见(重编译/rollover 仍可检索,不进 gate 判卷输入)
317
+ pomaster steering record/search # Steering 事件(W4-S3;REQ-08/AC-07;词形 SP 提案待追认):record = 有来源约束登记(--constraint/--source-ref 必填——无来源的纠偏不构成事件;--scope 可重复申报受影响对象/能力词形,缺席=全 task 显式申报;数据住 state/steering-log.json append-only 台账 + journal STEERING_RECORDED 词形——零 TransactionOp 零 canonical kind);search 词级精确检索、未命中显式「无记录」;constraint/affected_scope 是申报面(declared——机器不验证遵守,遵守判定归 exec-guard/audit);context compile 经 [ADVISORY] 分区 [STEERING] 词形可见、plan compile 经 changeSurface unknown 呈现——受影响工作下次编译带上约束(REQ-08 最小形态,不进 gate 判卷输入)
318
+ pomaster provider capabilities # Provider 能力映射(W4-S4;REQ-11/R §5.2;词形 SP 提案待追认):--runtime <名>(claude-code|codex|script——EXECUTION_RUNTIME_VALUES 闭包)出声明式能力报告——原生 async/steering/取消/工具发现四维支持度如实报告(三值词形 native|absent|unknown——探针结果驱动禁猜,零 Provider 型号断言)+ absent/unknown 逐维声明式降级语义(同步步骤+持久记录 / 下一派发边界应用约束 / 明确状态+隔离冲突结果 / 预编译较小工具集——锚定仓内已就位载体);未接入真实 Provider 时全部 unknown 是诚实缺省(report_source 显式区分 injected_probe/declarative_default);不把某 Provider API 叙述当跨 Provider 保证;纯报告零 store 依赖零写入
319
+ pomaster telemetry task # 任务级 reasoning/cost/Horizon 派生评估(W4-S5;REQ-11/§9;词形 SP 提案待追认):<task-id>(TASK.* 在册 task_object)出六指标只读聚合——verified_transition_rate(锚定本任务 claims 判定面 VERIFIED 施断/判定流转总数,转移时点 evidence 轴不可机算如实披露)/ rework_signal(negative_history+REJECTED claims 信号计数非评分)/ steering_count(declared 申报面计数)/ resume_reconcile_signals(checkpoint+执行中断载体强度计数——RECONCILE_DIRTY 阻断判卷零 journal 事件不可从 journal 计数)/ horizon(journal seq 跨度,open 执行 horizon_open 显式)/ cost_face(恒 NOT_MEASURABLE_YET——本仓无 token/费用计量源不虚构,Provider 接入后填充);每指标带分母与可计算性(MEASURED|NOT_COMPUTABLE|NOT_MEASURABLE_YET——零分母显式不冒充数值);诚实红线:无综合评分 / 不持久化私有思维链(输入面无思维链通道)/ 零阈值零阻断(预算不削弱证据/权限)/ 无跨 session 基线平面不输出提升百分比;纯读零写零落盘(inputs_fingerprint=快照等价物)
107
320
 
108
321
  # ⑧ CARRY —— DoD 判卷收口
109
322
  pomaster closeout <task-id>
@@ -112,8 +325,9 @@ pomaster closeout <task-id>
112
325
  pomaster resolve "<need>" [--hints ...]
113
326
  pomaster new-entity check <governed-id> [--need ...]
114
327
  pomaster inspect <governed-id>
328
+ pomaster preset preview/drift/applicability # 预设只读探测器三件套(W5;裁决 20⑥;词形 SP 提案待追认):--family <id>(wired 闭包 design-tokens | baseline-framework + 5 扩展位登记)——preview = 预设→项目状态差异预览(create/fill/overwrite/none 动作预告 + 确认链效果预告,不应用);drift = 当前值 vs 预设基准逐项对账(VALUE_DRIFT + verdict aligned|drifted|no_comparison——空分母显式,blindspot 纪律禁「没查就报干净」;漂移≠违规——Owner 定制合法);applicability = 适用 lane/栈/对象面声明(native|mismatch|unresolved 只读匹配,不改 ADR-4 判卷);预设值 governed 原地、ToolBinding 受信 adapter 执行表零注册;纯读零写入(探测≠写授权——写入唯一通路 = baseline set --change + confirm 确认链)
115
329
  pomaster graph <governed-id> [--view impact]
116
- pomaster recon import-graph|migrations|sbom # 宿主代码 recon(三子命令均必持 --execution-id <AGX-n>——execution begin 登记的执行身份锚,观察回执的身份证明):import 图静态扫描 → 17 观察回执 sidecar(unmapped 清单/externalImports/confidence)/ migration 目录五栈词形盘点(prisma/flyway/liquibase/alembic/django_style 纯读盘零工具执行 → ENVREC 回执)/ SBOM 依赖清单采集(cdxgen 腿——工具缺席 NOT_INSTALLED 显式缺席、解析失败 INCONCLUSIVE 兜底,components/dependencies 计数)——产物只落 evidence sidecar 平面零权威写口
330
+ pomaster recon import-graph|migrations|sbom|architecture-snapshot|token-sources|scripts|openapi # 宿主代码 recon(七子命令均必持 --execution-id <AGX-n>——execution begin 登记的执行身份锚,观察回执的身份证明):import 图静态扫描(unmapped 清单/externalImports/confidence → OBS 回执)/ migration 目录五栈词形盘点(prisma/flyway/liquibase/alembic/django_style 纯读盘零工具执行 → ENVREC 回执)/ SBOM 依赖清单采集(cdxgen 腿——工具缺席 NOT_INSTALLED、解析失败 INCONCLUSIVE 兜底)/ 架构快照(dependency-cruiser 巡报告落盘 + 官方 --baseline 存量底账增量 diff 三态 new/same/resolved;依赖边只计数零落盘提案)/ token 源词形枚举(DTCG/style-dictionary $value JSON + Tailwind v4 @theme/:root CSS 词法扫描 → readDesignTokens 权威面状态复用呈现;零值摘录零写口)/ package.json scripts 词面枚举(只枚举不执行 → ENVREC 回执)/ OpenAPI 运行时抓取(--url 探活 GET 落 blob——探活失败 NOT_INSTALLED 不降级;静态抽取保持 UNKNOWN)——全链 fail-closed(缺席 NOT_INSTALLED/NOT_RUN、解析失败 INCONCLUSIVE 负值兜底不伪造绿),产物只落 evidence sidecar 平面零权威写口
117
331
  pomaster research list/inspect/request/handoff
118
332
  pomaster eval --suite behavioral
119
333
  pomaster catalog status/explain/relock
@@ -126,6 +340,8 @@ pomaster session attach/refresh/list
126
340
  pomaster lock acquire/heartbeat/release/steal/list
127
341
  pomaster execution begin/end/list/audit # audit = 变更越界审计(--execution-id + --diff-base:git diff 起始锚变更集 → KEYBINDING 解析 → permit scope 判 in/out → OBS 回执 sidecar + 越界明细;越界 exit 1——Detection 半边,纯读零权威写口)
128
342
  pomaster trace show/list
343
+ pomaster checkpoint save/show # Checkpoint 恢复引用快照(W4-S2;词形 SP 提案待追认):save = 组装恢复所需引用集落盘(task 锚/--permit 对账判卷引用/--execution 在途清单/negative_history·unknowns 引用/封存 trace 引用/workspace git 锚——每项都是引用,引用逐项存在性校验 fail-closed;state/checkpoints/ 分区档案面,零新 canonical kind 零 journal 事件,不自动创建;--ckpt 同号重放同内容幂等零写入/异内容显式冲突;非 git 工区 anchor absent 显式申报)+ show = 引用面纯读呈现;与 session attach --reconcile 分层组合——checkpoint=引用快照(保存时点),reconcile=新鲜度判定(恢复时点)
344
+ pomaster diagnose "<症状>" # 通用 Diagnose 入口(W3-S3;C §26/§53-56 + Case H;SP 提案待追认):症状申报(位置 <report> ∥ --symptom 二选一)+ 可选 --evidence GRN-*/OBS-*/AGX-* 逐条实读证据平面(引用不存在 fail-closed 零写)→ 失败域六词闭包(tool_environment/product_assertion/fixture_data/environment_instance/dependency_external/unknown_insufficient_evidence)+ confidence_basis=evidence_chain|declaration_only(零百分比置信——§21 守护栏;申报与信号冲突呈报非改判;证据缺席 declaration_only 不虚构关联)→ 诊断计划建议(复用 plan-compiler 能力词位,§54 安全/只读先行);纯读零写不裁决不自动修复;与 production diagnose 共用同一判定核(BREACHED band 前置只是产线准入——单一判定事实源)
129
345
  # pomaster session(不带子命令)= 治理速览投影(SessionStart 注入源;≤10k 字符,恒 exit 0;尾部带首答确认协议指令段)
130
346
  # pomaster alerts(重入口 UserPromptSubmit 源)= 可行动项过滤器 + workflow 路由段(干净=非空但极简,恒 exit 0)
131
347
  ```
@@ -149,6 +365,8 @@ pomaster init
149
365
 
150
366
  一条命令,幂等(重复执行 NO_CHANGE,人类文件一律不覆盖):铺出 `.pomaster/` 治理目录树、登记 19 份 SPEC 预植对象、生成 `AGENTS.md` 重入口(14 份 skills 命令卡 + hooks 注入——Agent 开会话即自动看到治理状态)。init 还会**自动观察宿主 `package.json`**:框架/router/状态/Grid/UI 库/测试栈等可观察事实登记为**观察候选**(问卷题面标注 `[Observed: package.json]`)——候选只是题面参考注记,权威 stack.yaml 保持 UNKNOWN,直到 Owner 经问卷或 `pomaster baseline set` 逐键采纳;TTY 下技术栈问卷 14 键逐项必答(中断 = 零写入)。
151
367
 
368
+ **接手已有项目?init 自带 Brownfield 路径**:init 启动时检测宿主形态——干净目录(Greenfield)静默直入、已初始化重入口行为不变;检测到**已有项目**(worktree 非空且无 `.pomaster`)时呈现检测摘要(源文件数 / migration 词形面 / SBOM 工具在位性),并在 TTY 问卷首题**显式确认**是否走 Brownfield 路径(禁静默分叉;非交互通道不分支)。确认后 init 自动运行 **recon 三腿**采集宿主事实——`import-graph`(import 图静态扫描)/ `migrations`(五栈词形盘点)/ `sbom`(依赖清单,cdxgen 缺席时显式跳过)——产物落 `.pomaster/evidence/` 观察回执 sidecar(零权威写口;腿失败不阻塞 init),并在完成输出与问卷候选**合并呈现差距报告**:Owner 就地裁剪后照常走 `pomaster baseline confirm` 确认链。
369
+
152
370
  **组件画廊**:[river-singer.github.io/POMaster_VNext](https://river-singer.github.io/POMaster_VNext/)(在线版)· POMaster 仓库内 `corepack pnpm studio:dev`(Vue 主实例)/ `corepack pnpm studio:react:dev`(React sidecar 对照)——baseline 确认后按栈选择性参考(如 baseline.ui=ant-design-vue → antdv 组件真渲染对照);未确认前仅作了解,不作为动手前置。
153
371
 
154
372
  > 产物全表 / 目录宪法 / 播种语义 / 重入口细节 / 问卷与 confirm 机制 / doctor 探针矩阵:详见 [docs/init-reference.md](docs/init-reference.md)。
@@ -185,11 +403,11 @@ pomaster brainstorm decide idea-export-btn --ready \
185
403
  # —— 提升:promote 即建任务(自动 record claim 生成 CLM 绑入 acceptance) ——
186
404
  pomaster brainstorm promote idea-export-btn --to TASK --basis msd_reached --apply
187
405
 
188
- # —— 八拍推进:next-action 会逐拍给唯一建议命令 ——
406
+ # —— 八拍推进:next-action 给主建议,并列全局关注与任务侧建议 ——
189
407
  pomaster status # R_PERMIT_MISSING(--subject 为 affected_objects 派生建议)
190
408
  pomaster permit issue --subject PAGE.USER_LIST --actor human:owner --change-ref TASK.IDEA_EXPORT_BTN
191
- pomaster baseline confirm # R_BASELINE_NOT_READY(阻塞集清零后的一次性收口账)
192
- pomaster context compile --role frontend --change TASK.IDEA_EXPORT_BTN # ③ 投影
409
+ pomaster baseline confirm # R_BASELINE_NOT_READY(阻塞集清零后的一次性收口账;确认态随后进 ③ 投影)
410
+ pomaster context compile --role frontend --change TASK.IDEA_EXPORT_BTN # ③ 投影(含 baseline grounding:指纹绑定确认态,漂移即 STALE_GROUNDING)
193
411
  pomaster execution begin --role implementer --runtime script --identity-kind script --task-id TASK.IDEA_EXPORT_BTN # ④ 执行身份
194
412
  # ……在你的 Agent harness(Claude Code 等)里实现代码……
195
413
  pomaster check --fast # ⑤ FAST gate(BUILD 腿)
@@ -199,7 +417,10 @@ pomaster closeout TASK.IDEA_EXPORT_BTN # ⑧ DoD 判卷收口(对
199
417
  关键语义:`--ready` 的 goal/scope/acceptance 文本申报是 Task Contract——promote 编译投影进
200
418
  TASK 对象(intent/acceptance 挂锚/affected_objects/notesMd),验收条目自动挂 CLM,closeout
201
419
  判卷对得上最初 Expected State;中途任何一步不知道下一步做什么,问 `pomaster status`(或看
202
- alerts breadcrumb),路由表会给出唯一建议命令。
420
+ alerts breadcrumb),路由表会给出主建议。全局 baseline 关注不会遮住任务侧可并行准备的建议;
421
+ 具体命令仍独立检查权限、上下文和依赖,建议不等于获准写入或完成验证。
422
+ 报告与严格检查的退出码边界见 [诊断与建议契约](docs/diagnostic-reporting.md)。
423
+ 决策根、基线依赖、证据快照和可选诊断的输入及兼容规则见 [范围化人工决策](docs/scoped-human-decisions.md)。
203
424
 
204
425
  ### 5. 装齐眼睛(可选,按需)
205
426
 
@@ -320,7 +541,7 @@ POMaster 的开发仓自己吃自己的治理:仓库根本机台账 `.pomaster
320
541
 
321
542
  ## 深入阅读
322
543
 
323
- - [`docs/init-reference.md`](docs/init-reference.md) — `pomaster init` 全机制:产物表 / 目录宪法全树 / 播种语义 / 重入口三件套 / 技术栈问卷 / 基线确认 gate / 预置草案 / doctor 探针矩阵
544
+ - [`docs/init-reference.md`](docs/init-reference.md) — `pomaster init` 全机制:产物表 / 目录宪法全树 / 播种语义 / 重入口三件套 / 模式分叉(Greenfield / Brownfield recon 编排)/ 技术栈问卷 / 基线确认 gate / 预置草案 / doctor 探针矩阵
324
545
  - [`docs/kernel-api.md`](docs/kernel-api.md) — kernel API 参考
325
546
  - [组件画廊(在线版)](https://river-singer.github.io/POMaster_VNext/) — GitHub Pages;仓库源在 [`packages/studio`](packages/studio/)(Vue 主实例)与 [`packages/studio-react`](packages/studio-react/)(React sidecar,private 对照实例)
326
547
  - [`catalog/`](catalog/) — 随包分发的工程策展物料(policies / knowledge / gates / sensors / archetypes / tools)