pomaster 0.1.0 → 0.2.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 +393 -396
- package/TRADEMARKS.md +2 -2
- package/catalog/archetypes/archetype.api.error.json +55 -0
- package/catalog/archetypes/archetype.api.pagination.json +68 -0
- package/catalog/archetypes/archetype.api.resource.json +45 -0
- package/catalog/archetypes/archetype.backend.approval_workflow.json +63 -0
- package/catalog/archetypes/archetype.backend.audit.json +44 -0
- package/catalog/archetypes/archetype.backend.crud_resource.json +56 -0
- package/catalog/archetypes/archetype.backend.export.json +40 -0
- package/catalog/archetypes/archetype.backend.external_integration.json +89 -0
- package/catalog/archetypes/archetype.backend.idempotent_command.json +65 -0
- package/catalog/archetypes/archetype.backend.import.json +47 -0
- package/catalog/archetypes/archetype.backend.master_data.json +45 -0
- package/catalog/archetypes/archetype.backend.outbox_event.json +80 -0
- package/catalog/archetypes/archetype.backend.query_resource.json +40 -0
- package/catalog/archetypes/archetype.backend.scheduled_job.json +69 -0
- package/catalog/archetypes/archetype.backend.transactional_write.json +79 -0
- package/catalog/archetypes/archetype.component.button.json +53 -0
- package/catalog/archetypes/archetype.component.data_grid.json +78 -0
- package/catalog/archetypes/archetype.component.dialog.json +52 -0
- package/catalog/archetypes/archetype.component.search_input.json +34 -0
- package/catalog/archetypes/archetype.component.search_select.json +77 -0
- package/catalog/archetypes/archetype.data.hierarchy.json +71 -0
- package/catalog/archetypes/archetype.data.ledger.json +40 -0
- package/catalog/archetypes/archetype.data.master_data.json +43 -0
- package/catalog/archetypes/archetype.data.transaction.json +42 -0
- package/catalog/archetypes/archetype.data.versioned.json +43 -0
- package/catalog/archetypes/archetype.frontend.error_taxonomy.json +99 -0
- package/catalog/archetypes/archetype.frontend.feature_oriented.json +59 -0
- package/catalog/archetypes/archetype.frontend.modular.json +37 -0
- package/catalog/archetypes/archetype.frontend.spa_layered.json +48 -0
- package/catalog/archetypes/archetype.page.analysis.json +39 -0
- package/catalog/archetypes/archetype.page.master_data.json +63 -0
- package/catalog/archetypes/archetype.runtime.environment_parity.json +178 -0
- package/catalog/archetypes/archetype.runtime.observability_binding.json +93 -0
- package/catalog/archetypes/archetype.state.async_command.json +63 -0
- package/catalog/archetypes/archetype.state.background_refresh.json +45 -0
- package/catalog/archetypes/archetype.state.form_edit.json +45 -0
- package/catalog/archetypes/archetype.state.optimistic_mutation.json +48 -0
- package/catalog/archetypes/archetype.state.selection.json +35 -0
- package/catalog/archetypes/archetype.state.server_query.json +60 -0
- package/catalog/archetypes/archetype.state.url_filter.json +47 -0
- package/catalog/archetypes/archetype.state.wizard.json +46 -0
- package/catalog/catalog-lock.draft.json +349 -5
- package/catalog/gates/gate.new-entity.checks.json +106 -0
- package/catalog/knowledge/knowledge.web.browser.mcp_eyes.json +99 -0
- package/catalog/sensors/sensor.browser.deterministic.json +17 -6
- package/catalog/sensors/sensor.browser.interactive.json +16 -6
- package/catalog/tools/materialize_v06_relock.py +218 -0
- package/catalog/tools/seed_v06_archetypes.py +283 -0
- package/catalog/tools/seed_v06_batch2_materials.py +504 -0
- package/catalog/tools/seed_v06_batch3_materials.py +756 -0
- package/catalog/tools/seed_v06_batch4_materials.py +353 -0
- package/dist/bin.js +2920 -331
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,396 +1,393 @@
|
|
|
1
|
-
# POMaster
|
|
2
|
-
|
|
3
|
-
> **AI 软件工程的 Governed Software State Control Plane。**
|
|
4
|
-
> 管理系统当前可信状态、为每个 Agent 投影最小充分上下文、控制允许发生的变化、并要求一切变化被证据证明。
|
|
5
|
-
|
|
6
|
-
[](https://github.com/River-Singer/POMaster_VNext/actions/workflows/ci.yml)
|
|
7
|
-
[](./LICENSE)
|
|
8
|
-
|
|
9
|
-
```text
|
|
10
|
-
POMaster = State + Context + Transition + Evidence,在 Authority 与 Adaptive Governance 下运行
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## 快速上手
|
|
14
|
-
|
|
15
|
-
POMaster 的全部能力收敛在一条 CLI(`pomaster`)——八拍 Change Loop 的每一拍都有对应命令面。先给一张**命令全景**(机器钉版,与 `pomaster --help` 零漂移;`#` 分节注释仅人读)。第一次使用?直接看下面 [install → init → 第一个 Change](#1-安装) 的全流程。
|
|
16
|
-
|
|
17
|
-
```text
|
|
18
|
-
# 0 BOOTSTRAP —— 建基线 / 速览 / 装眼睛 / 可移植性
|
|
19
|
-
pomaster init
|
|
20
|
-
pomaster status
|
|
21
|
-
pomaster doctor
|
|
22
|
-
pomaster portability bootstrap/check
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
pomaster
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
pomaster
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
pomaster
|
|
44
|
-
pomaster
|
|
45
|
-
pomaster
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
pomaster
|
|
50
|
-
pomaster
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
pomaster
|
|
58
|
-
pomaster
|
|
59
|
-
pomaster
|
|
60
|
-
pomaster
|
|
61
|
-
pomaster
|
|
62
|
-
pomaster
|
|
63
|
-
pomaster
|
|
64
|
-
pomaster
|
|
65
|
-
pomaster
|
|
66
|
-
pomaster
|
|
67
|
-
pomaster
|
|
68
|
-
pomaster
|
|
69
|
-
pomaster
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
|
97
|
-
|
|
98
|
-
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
pomaster
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
Agent
|
|
229
|
-
CLI
|
|
230
|
-
Kernel
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
Agent->>CLI:
|
|
239
|
-
CLI->>
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
subgraph
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
end
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
商业授权联系:TODO(Owner): 填联系邮箱/渠道
|
|
395
|
-
|
|
396
|
-
> 正式公开发布前需完成法律专业人士复核。Trellis 仅作机制研究对照,零代码继承。
|
|
1
|
+
# POMaster
|
|
2
|
+
|
|
3
|
+
> **AI 软件工程的 Governed Software State Control Plane。**
|
|
4
|
+
> 管理系统当前可信状态、为每个 Agent 投影最小充分上下文、控制允许发生的变化、并要求一切变化被证据证明。
|
|
5
|
+
|
|
6
|
+
[](https://github.com/River-Singer/POMaster_VNext/actions/workflows/ci.yml)
|
|
7
|
+
[](./LICENSE)
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
POMaster = State + Context + Transition + Evidence,在 Authority 与 Adaptive Governance 下运行
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 快速上手
|
|
14
|
+
|
|
15
|
+
POMaster 的全部能力收敛在一条 CLI(`pomaster`)——八拍 Change Loop 的每一拍都有对应命令面。先给一张**命令全景**(机器钉版,与 `pomaster --help` 零漂移;`#` 分节注释仅人读)。第一次使用?直接看下面 [install → init → 第一个 Change](#1-安装) 的全流程。
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
# 0 BOOTSTRAP —— 建基线 / 速览 / 装眼睛 / 可移植性 / 自更新
|
|
19
|
+
pomaster init
|
|
20
|
+
pomaster status
|
|
21
|
+
pomaster doctor
|
|
22
|
+
pomaster portability bootstrap/check
|
|
23
|
+
pomaster update --check/--yes
|
|
24
|
+
|
|
25
|
+
# ① TRIAGE —— 秒级判档(MINIMAL/LIGHT/STANDARD;NO-OP 合法)
|
|
26
|
+
pomaster triage "<request>"
|
|
27
|
+
|
|
28
|
+
# ② FRAMEWORK —— 许可签发/判卷/显式接管/台账
|
|
29
|
+
pomaster permit issue/check/steal/list
|
|
30
|
+
|
|
31
|
+
# ③ PROJECTION —— 最小充分上下文投影
|
|
32
|
+
pomaster context compile/explain
|
|
33
|
+
|
|
34
|
+
# ④ EXECUTE —— 写路径机器执行点 / 受控变更
|
|
35
|
+
pomaster exec-guard --attempt <file|->
|
|
36
|
+
pomaster maintain <change-or-task> --ops <tx>
|
|
37
|
+
|
|
38
|
+
# ⑤ VERIFY —— FAST gate / gate recipes 派发 / 证据入账
|
|
39
|
+
pomaster check --fast/--gates
|
|
40
|
+
pomaster record gate-run/claim
|
|
41
|
+
|
|
42
|
+
# ⑥ RECONCILE —— delta 三方对账 / 投影视图 / 审计 / 例外台账
|
|
43
|
+
pomaster reconcile --permit <PERMIT.*>
|
|
44
|
+
pomaster view blueprint/task
|
|
45
|
+
pomaster audit blueprint/task
|
|
46
|
+
pomaster ledger record/list
|
|
47
|
+
|
|
48
|
+
# ⑦ COMPACT —— 折叠入账 / 知识生命周期 / 记忆收割
|
|
49
|
+
pomaster compact
|
|
50
|
+
pomaster knowledge search/inspect/record/review-candidates/promote/demote
|
|
51
|
+
pomaster memory capture/inspect/harvest/review/promote/audit
|
|
52
|
+
|
|
53
|
+
# ⑧ CARRY —— DoD 判卷收口
|
|
54
|
+
pomaster closeout <task-id>
|
|
55
|
+
|
|
56
|
+
# 横切 —— 对象检视 / 图视图 / Discovery / Research / Eval / Catalog / 迁移 / 生产反馈 / 多 Agent / 执行身份
|
|
57
|
+
pomaster resolve "<need>" [--hints ...]
|
|
58
|
+
pomaster inspect <governed-id>
|
|
59
|
+
pomaster graph <governed-id> [--view impact]
|
|
60
|
+
pomaster brainstorm start/status/promote
|
|
61
|
+
pomaster research list/inspect
|
|
62
|
+
pomaster eval --suite behavioral
|
|
63
|
+
pomaster catalog status/explain/relock
|
|
64
|
+
pomaster migrate trellis-spec --analyze --spec-root <dir>
|
|
65
|
+
pomaster production band/evaluate/challenge/diagnose/metrics/self-improvement
|
|
66
|
+
pomaster agents status
|
|
67
|
+
pomaster run <task>
|
|
68
|
+
pomaster handoff <task> --to <role>
|
|
69
|
+
pomaster session attach/refresh/list
|
|
70
|
+
pomaster lock acquire/heartbeat/release/steal/list
|
|
71
|
+
pomaster execution begin/end/list
|
|
72
|
+
pomaster trace show/list
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 1. 安装
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Node ≥ 22
|
|
79
|
+
npm install -g pomaster # 全局安装(推荐)
|
|
80
|
+
# 或项目内:
|
|
81
|
+
npm install --save-dev pomaster
|
|
82
|
+
npx pomaster --help
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 2. 初始化治理基线:`pomaster init`
|
|
86
|
+
|
|
87
|
+
在项目根执行(幂等——重复执行第二次起 NO_CHANGE,零字节写入;已存在的人类文件一律不覆盖):
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
cd your-project
|
|
91
|
+
pomaster init
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
它做四件事:
|
|
95
|
+
|
|
96
|
+
| 产物 | 作用 | 会被覆盖吗 |
|
|
97
|
+
|---|---|---|
|
|
98
|
+
| `.pomaster/state/truth-index.json` | Canonical State 唯一事实源(空账本起点) | 否(存在即跳过;损坏显式报错,绝不静默重建) |
|
|
99
|
+
| `.pomaster/state/authority.json` | Authority Map 骨架(默认登记 `BOOTSTRAP_OWNER`) | 否(人类加注的 owner 一律不动) |
|
|
100
|
+
| `.pomaster/config.yaml` | 治理配置(人类可编辑) | 否(只在缺失时创建) |
|
|
101
|
+
| `AGENTS.md` / `CLAUDE.md` | Agent 轻入口(profile + 状态速览 + 常用命令) | 仅带生成标记的(`CLAUDE.md` 通过 `@AGENTS.md` 导入共享) |
|
|
102
|
+
|
|
103
|
+
**多平台适配器**:`AGENTS.md` 恒为唯一事实源;`--platforms claude,codex,cursor,qoder` 追加各平台的细指针适配器(`CLAUDE.md` / 根 `AGENTS.md` 即 codex 原生入口 / `.cursor/rules/pomaster.mdc` / `.qoder/rules/pomaster.md`,已存在一律不覆盖);`--platforms none` 只建 AGENTS.md + 状态骨架。TTY 交互终端直接 `pomaster init` 会出复选清单(◉/◯ 空格勾选 / ↑↓ 移动 / 回车确认;raw 模式不可用时降级为编号输入);`--json` 恒走确定性缺省(claude)。
|
|
104
|
+
|
|
105
|
+
### 3. init 之后该配置什么(config.yaml)
|
|
106
|
+
|
|
107
|
+
```yaml
|
|
108
|
+
version: 1
|
|
109
|
+
profile: LIGHT # 治理档位:MINIMAL | LIGHT | STANDARD
|
|
110
|
+
triage:
|
|
111
|
+
ttl_hours: 168 # triage 结果有效期,过期必须 re-triage
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**profile 三档怎么选**:
|
|
115
|
+
|
|
116
|
+
| 档位 | 适合 | 体感 |
|
|
117
|
+
|---|---|---|
|
|
118
|
+
| `MINIMAL` | 脚手架/原型/个人实验 | 几乎感觉不到 POMaster(文案改动→一行 gate) |
|
|
119
|
+
| `LIGHT`(默认) | 正常业务迭代 | 秒级判档 + FAST gate 内循环 + delta 审查 |
|
|
120
|
+
| `STANDARD` | 核心链路/多角色协作 | 全 gate 矩阵 + 浏览器双通道证据 + 抽样复核 |
|
|
121
|
+
|
|
122
|
+
**Authority(谁说了算)**:`.pomaster/state/authority.json` 默认单人形态(一切 authority 位置由项目 Owner 应答);多人协作出现信号后再演化细粒度 owner——`owner_registry` 数组逐个登记即可,kernel 零配置变更。
|
|
123
|
+
|
|
124
|
+
### 4. 第一个 Change:走一遍八拍
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
pomaster triage "给用户列表页加一个导出按钮" # ① 秒级判档
|
|
128
|
+
pomaster maintain <task> --phase pre-dev … # ②③ permit 签发 + 上下文投影
|
|
129
|
+
# ……在你的 Agent harness(Claude Code 等)里实现代码……
|
|
130
|
+
pomaster check --fast # ⑤ FAST gate(BUILD 腿)
|
|
131
|
+
pomaster closeout <task-id> # ⑧ DoD 判卷收口
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 5. 装齐眼睛(可选,按需)
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
pomaster doctor # 工具/MCP 探测:缺什么提示装什么
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
doctor 探针覆盖:内核 / BUILD(tsc·eslint)/ CONTRACT(oasdiff·schemathesis)/ ARCHITECTURE(depcruise·import-linter)/ COVERAGE(c8·pytest-cov)/ MUTATION(mutmut·StrykerJS)/ SECURITY(gitleaks·pip-audit·semgrep)/ BROWSER(playwright·chrome-devtools MCP)/ PERFORMANCE(lighthouse·web-vitals)/ portability。**工具缺席=显式 NOT_RUN(非绿非红),绝不假绿**。
|
|
141
|
+
|
|
142
|
+
**浏览器双眼(Browser Eyes)**:`chrome-devtools` MCP 是观测诊断面——页面慢/报错/卡住时直接读真实浏览器(性能 trace / 网络瀑布 / console),禁只看代码推断;`playwright` MCP 是确定性 E2E smoke 与交互验证面。两边产物都是证据链输入(perception receipt / BROWSER gate GRN)。`pomaster doctor` 对两个 MCP 各自出四态探针(未配置 → MISSING_CONFIGURATION + 一键安装路标);`init` 生成的 AGENTS.md 已内置该分工引导。
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 为什么存在(三行读完的来历)
|
|
147
|
+
|
|
148
|
+
1. **旧模式治理的是文档**:把几百份 Markdown 规范播进项目、靠 Agent 自觉遵守——结果错误事实被继承放大(上个会话说"27 页开发完了",实际半数是脚手架)、技术基线静默漂移、规范越堆越多直到没人看。
|
|
149
|
+
2. **血泪换来的第一定律**:*报绿的治理工具比没有工具更危险——它把「未知」转换成「已验证干净」。* 所以本项目的核心不是"更多门禁",而是**可信的证据**。
|
|
150
|
+
3. **vNext 换掉治理对象**:不再治理文档,改为治理**状态本身**。文档只是状态的投影;事实必须带 Authority、Evidence 与完整生命周期。
|
|
151
|
+
|
|
152
|
+
## 运行机制:State Control Plane
|
|
153
|
+
|
|
154
|
+
POMaster 不是又一层 prompt 工程或 skill 包,而是一个**状态控制平面**——它把「软件项目当前可信的状态」作为一等公民管理起来:
|
|
155
|
+
|
|
156
|
+
```mermaid
|
|
157
|
+
flowchart TB
|
|
158
|
+
subgraph PLANE["POMaster State Control Plane(.pomaster/ store)"]
|
|
159
|
+
STATE["Canonical State<br/>truth-index + objects<br/>四轴状态"]:::core
|
|
160
|
+
PERMIT["Permit / Transition<br/>谁有权改什么"]:::core
|
|
161
|
+
EVI["Evidence 平面<br/>GRN / blobs / claims"]:::core
|
|
162
|
+
PROJ["Context Projection<br/>MUST/ADVISORY/KNOWLEDGE/<br/>CATALOG/LAZY TOOLS"]:::core
|
|
163
|
+
end
|
|
164
|
+
subgraph CAT["Engineering Catalog(随包分发)"]
|
|
165
|
+
POL["policies 79"]:::cat
|
|
166
|
+
KN["knowledge 11"]:::cat
|
|
167
|
+
GT["gates 6"]:::cat
|
|
168
|
+
SEN["sensors 6"]:::cat
|
|
169
|
+
ARC["archetypes 41"]:::cat
|
|
170
|
+
TOO["tools 8"]:::cat
|
|
171
|
+
end
|
|
172
|
+
AGENT["Agent Harness<br/>(Claude Code / Codex / …)"]:::ext
|
|
173
|
+
HUMAN["Human Authority<br/>(Owner)"]:::ext
|
|
174
|
+
|
|
175
|
+
HUMAN -- Authority 决议 --> PLANE
|
|
176
|
+
PLANE -- compile --> AGENT
|
|
177
|
+
AGENT -- maintain/record --> PLANE
|
|
178
|
+
CAT -- applicability 筛选 --> PROJ
|
|
179
|
+
EVI -- gate 判卷 --> STATE
|
|
180
|
+
classDef core fill:#e8f0fe,stroke:#1a73e8
|
|
181
|
+
classDef cat fill:#fef7e0,stroke:#f9ab00
|
|
182
|
+
classDef ext fill:#e6f4ea,stroke:#188038
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
三个关键设计:
|
|
186
|
+
|
|
187
|
+
- **Canonical State 是唯一事实源**:一切对象(PAGE/CAPABILITY/CHANGE/TASK…)带四轴状态(lifecycle/confidence/evidence/change)+ Authority + 完整生命周期。Markdown 文档只是它的投影。
|
|
188
|
+
- **Agent 不直接写状态**:一切写经 `maintain <id> --ops <tx>` 显式事务 → kernel `applyTransaction` 判卷(写路径机器执行点 `exec-guard` 判卷器非写入器)。
|
|
189
|
+
- **证据先于结论**:gate 运行结果走 `record gate-run` 产 GRN 收据入 evidence 平面;claim 必须显式绑定 GRN 分母——「证据缺失伪装完成」会被 closeout 硬阻断。
|
|
190
|
+
- **先画靶子,再射箭(v0.6)**:随包分发 41 份 archetype 标准件(页面/组件/后端/数据/运行时,语义全部锚定官方文档实抓)——`pomaster resolve` 先在标准件与已有对象里选/配/组(EXACT/CONFIGURABLE/COMPOSABLE/EXTENSIBLE 确定性分类),真没有才设计新的,且新建必过 New Entity Gate 五否机判;`pomaster graph` 把对象图(采纳边/依赖/影响闭包)变成人看得见的投影。
|
|
191
|
+
|
|
192
|
+
## SOP 编排:项目生命周期五段式
|
|
193
|
+
|
|
194
|
+
```text
|
|
195
|
+
0 BOOTSTRAP ──── init 扫描 / Authority Map / catalog-lock / 轻入口生成
|
|
196
|
+
(有原型→活体走查提五件套;存量项目→纳管已有 registry/spec/记忆)
|
|
197
|
+
1 主循环 ─────── N 次 Change,每次跑下面的八拍 Loop(项目的日常形态)
|
|
198
|
+
2 周期事件 ────── 全量对账 / 紧缩 / 经验入库 / catalog 升级 diff / 自托管基准
|
|
199
|
+
3 架构演化 ────── Challenge → ACR → 受控迁移 → Deviation 到期清算
|
|
200
|
+
4 生产反馈 ────── SLO 击穿 → State Challenge → 新 Change(闭环)
|
|
201
|
+
5 退役归档 ────── deprecation → retirement → history
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### THE LOOP:每一次 Change 的八拍
|
|
205
|
+
|
|
206
|
+
> **Agent 的 loop 在上下文窗口内收敛,POMaster 的 loop 在 git 仓库里收敛。**
|
|
207
|
+
> 前者每圈归零,后者每圈复利。
|
|
208
|
+
|
|
209
|
+
```text
|
|
210
|
+
① TRIAGE Router 判档(MINIMAL/LIGHT/STANDARD…)秒级分流;NO-OP 是合法成功
|
|
211
|
+
② FRAMEWORK ← 人唯一主场:只锁五件套(身份/Capability/契约引用/Permit范围/验收形状)
|
|
212
|
+
条件接受即可开工,逐行签核制度已废除
|
|
213
|
+
③ PROJECTION 最小充分上下文投影;经验按触发条件注入 ADVISORY 区
|
|
214
|
+
④ EXECUTE Permit 内实现免检;FAST gate 内循环自检;偏差走显式 Challenge
|
|
215
|
+
⑤ VERIFY 确定性 Gate 判卷:四态判定+盲区计数+not-applicable 清点;
|
|
216
|
+
浏览器双通道证据(Playwright 断言 ∥ chrome-devtools 实时对账)
|
|
217
|
+
⑥ RECONCILE 所见即所得:人只审 delta(框架偏离)/例外清单/抽样点
|
|
218
|
+
⑦ COMPACT Current Truth 更新或 NO_CHANGE;经验入账;任务归档
|
|
219
|
+
⑧ → 下一轮 携带更准的 Truth 重进①——开局一次比一次便宜
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### 八拍时序图(Agent 交互序列)
|
|
223
|
+
|
|
224
|
+
```mermaid
|
|
225
|
+
sequenceDiagram
|
|
226
|
+
autonumber
|
|
227
|
+
actor Owner
|
|
228
|
+
participant Agent as Agent (harness)
|
|
229
|
+
participant CLI as pomaster CLI
|
|
230
|
+
participant Kernel as kernel (store)
|
|
231
|
+
participant Gate as gauntlet legs
|
|
232
|
+
participant Ev as evidence 平面
|
|
233
|
+
|
|
234
|
+
Owner->>Agent: 描述意图 / task delta
|
|
235
|
+
Agent->>CLI: triage "<request>"
|
|
236
|
+
CLI->>Kernel: Router 判档(词表闭包)
|
|
237
|
+
Kernel-->>Agent: triage envelope(profile + TTL)
|
|
238
|
+
Agent->>CLI: maintain --phase pre-dev
|
|
239
|
+
CLI->>Kernel: permit issue + context compile
|
|
240
|
+
Kernel-->>Agent: PERMIT.* + 五分区 markdown(MUST/ADVISORY/…)
|
|
241
|
+
Note over Agent: Permit 范围内实现(免检)+ FAST gate 内循环
|
|
242
|
+
Agent->>CLI: check --fast / check --gates
|
|
243
|
+
CLI->>Gate: 派发 gate recipes
|
|
244
|
+
Gate->>Ev: GRN 收据逐条入账(四态判定)
|
|
245
|
+
Gate-->>Agent: verdict(passed/failed/not_run + 盲区计数)
|
|
246
|
+
Agent->>CLI: maintain --ops <tx> / compact
|
|
247
|
+
CLI->>Kernel: applyTransaction(判卷权威)
|
|
248
|
+
Agent->>CLI: closeout <task-id>
|
|
249
|
+
CLI->>Ev: DoD 判卷(claims×GRN 硬绑)
|
|
250
|
+
CLI-->>Owner: delta 审查面(人只看差异)
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### 证据入账时序(防假绿的核心通路)
|
|
254
|
+
|
|
255
|
+
```mermaid
|
|
256
|
+
sequenceDiagram
|
|
257
|
+
autonumber
|
|
258
|
+
participant Runner as gate runner
|
|
259
|
+
participant Adapter as 腿 adapter
|
|
260
|
+
participant Store as kernel store
|
|
261
|
+
participant Blob as evidence blobs
|
|
262
|
+
Runner->>Adapter: gate recipe 派发
|
|
263
|
+
Adapter-->>Runner: 原始报告(官方词形)
|
|
264
|
+
Adapter->>Blob: persistEvidenceArtifact(内容寻址 sha256)
|
|
265
|
+
Blob-->>Adapter: artifact_ref
|
|
266
|
+
Adapter->>Store: record gate-run(GRN + artifact_refs)
|
|
267
|
+
Store->>Store: journal TX_APPLIED(ran_at_seq 锚)
|
|
268
|
+
Note over Store,Blob: 读侧 verifyEvidenceBinding:<br/>判卷字节 == 落盘字节 == GRN 引用字节<br/>失配 = EVIDENCE_BINDING_INCOMPLETE 判红
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### 生产反馈时序(SLO 击穿闭环)
|
|
272
|
+
|
|
273
|
+
```mermaid
|
|
274
|
+
sequenceDiagram
|
|
275
|
+
autonumber
|
|
276
|
+
participant Prod as 生产监控
|
|
277
|
+
participant P as pomaster production
|
|
278
|
+
participant K as kernel store
|
|
279
|
+
Prod->>P: ControlBand 定义(谓词机校验,自由文本不存在)
|
|
280
|
+
P->>P: evaluate(三态:OK/BREACHED/NOT_EVALUABLE)
|
|
281
|
+
alt BREACHED
|
|
282
|
+
P->>K: evidence(detected_by=tool_signal)
|
|
283
|
+
P->>K: challenge → change 轴 CHALLENGED
|
|
284
|
+
P->>P: diagnose(三分类,必须引用 breach evidence)
|
|
285
|
+
P-->>Prod: 新 Change 进入主循环(闭环)
|
|
286
|
+
end
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Memory Harvest 时序(COMPATIBILITY 路线)
|
|
290
|
+
|
|
291
|
+
```mermaid
|
|
292
|
+
sequenceDiagram
|
|
293
|
+
autonumber
|
|
294
|
+
participant H as harness 自动记忆
|
|
295
|
+
participant M as pomaster memory
|
|
296
|
+
participant Inbox as inbox(PENDING)
|
|
297
|
+
participant Owner2 as Owner(batch review)
|
|
298
|
+
H->>M: harvest claude --harness-dir <dir>
|
|
299
|
+
M->>Inbox: 四桶初筛(TRUTH/KNOWLEDGE/EPISODE/PREFERENCE)
|
|
300
|
+
Owner2->>M: review --decide <id> --promote|--reject --note <必填>
|
|
301
|
+
M->>M: 分桶路由(KNOWLEDGE→恒 CANDIDATE+ADVISORY;TRUTH/DECISION/EVIDENCE→OWNER_ESCALATION)
|
|
302
|
+
M->>M: audit(MEMORY_DRIFT 探测 fail-closed)
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
## 类 Agent 架构
|
|
306
|
+
|
|
307
|
+
POMaster 不内置 daemon,也不托管 Agent——它给「在 harness 里跑的主 Agent」提供状态平面 + 执行身份 + 观测器:
|
|
308
|
+
|
|
309
|
+
```mermaid
|
|
310
|
+
flowchart LR
|
|
311
|
+
subgraph HARNESS["Agent Harness(Claude Code / Codex / …)"]
|
|
312
|
+
MAIN["Main Agent<br/>(solo 直连形态)"]:::agent
|
|
313
|
+
SUB["Sub-agent / Role"]:::agent
|
|
314
|
+
end
|
|
315
|
+
subgraph POM["POMaster kernel"]
|
|
316
|
+
SESS["sessions(liveness 侧车)"]:::k
|
|
317
|
+
LOCK["locks(change/task/unit 三粒度互斥)"]:::k
|
|
318
|
+
AGX["Execution Identity(AGX-n)"]:::k
|
|
319
|
+
RT["AgentRuntime 契约<br/>(§58 四方法三探针)"]:::k
|
|
320
|
+
end
|
|
321
|
+
subgraph OBS["观测器(fail-closed 信号)"]
|
|
322
|
+
GK["DEF-GATEKEEPER<br/>分身漂移检测"]:::obs
|
|
323
|
+
SUP["DEF-SUP<br/>SOP 链触发观测"]:::obs
|
|
324
|
+
end
|
|
325
|
+
MAIN -- "begin/end execution" --> AGX
|
|
326
|
+
MAIN -- "attach/refresh" --> SESS
|
|
327
|
+
MAIN -- "acquire/heartbeat/steal" --> LOCK
|
|
328
|
+
SUB -- run/handoff(DEF-SUP 触发制,deferred) --> RT
|
|
329
|
+
AGX --> GK
|
|
330
|
+
SESS --> SUP
|
|
331
|
+
classDef agent fill:#e8f0fe,stroke:#1a73e8
|
|
332
|
+
classDef k fill:#fce8e6,stroke:#d93025
|
|
333
|
+
classDef obs fill:#fef7e0,stroke:#f9ab00
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
要点:
|
|
337
|
+
|
|
338
|
+
- **Execution Identity ≠ Execution Trace ≠ Evidence**:AGX-n 是短小稳定的执行身份(runtime/model/permit 快照);Trace 是行为侧车(writes/tool_receipts/evidence_refs,retention 四档);Evidence 是可验证证明。三者分离(A19 美学)。
|
|
339
|
+
- **Gatekeeper 防分身**:同一 execution 既提 proposal 又 ALLOW → drift 观测器亮灯——「系统永不自我批准」的机器面。
|
|
340
|
+
- **托管编排受 DEF-SUP 触发制门槛**:solo 直连是默认形态;run/handoff 等 SOP 编排在触发条件(重复链/第二贡献者/headless-CI)出现前显式 deferred——治理开销与风险成比例(Minimum Sufficient Governance)。
|
|
341
|
+
|
|
342
|
+
## 五原语:一切能力的唯一来源
|
|
343
|
+
|
|
344
|
+
| 原语 | 回答的问题 |
|
|
345
|
+
|---|---|
|
|
346
|
+
| **Governed Object** | 系统里有什么值得长期识别的东西 |
|
|
347
|
+
| **State**(四轴:lifecycle/confidence/evidence/change) | 它现在处于什么状态、可信到什么程度 |
|
|
348
|
+
| **Context Projection** | 这个角色此刻应该看见什么 |
|
|
349
|
+
| **Transition / Permit** | 谁有权、凭什么条件允许它变化 |
|
|
350
|
+
| **Evidence** | 变化的证明由谁产出、如何防止假绿 |
|
|
351
|
+
|
|
352
|
+
Spec、Task、Gate、Knowledge、Brainstorm……全部是这五个原语的派生视图。
|
|
353
|
+
三个新一等公民对象族(从旧体系教训中诞生):**分母 DENOMINATOR**(覆盖率的账本不许悄悄消失)、**键绑定 KEYBINDING**(治理 ID ↔ 代码路径的机器映射)、**producer 活性**(声明对象必须有人生产它)。
|
|
354
|
+
|
|
355
|
+
## 哲学宪法(违者即是 bug)
|
|
356
|
+
|
|
357
|
+
- Small Constitution:硬约束极少而精——不伪造事实、不越权、不静默冲突、不无证据宣称完成
|
|
358
|
+
- No-op is elegant:没有必要的治理动作,零变化就是成功
|
|
359
|
+
- Framework as Review Surface:框架约束好了的人,不需要读 AI 写的每一行代码——但前提是判卷器诚实,所以我们用对抗性用例持续攻击自己的 gate
|
|
360
|
+
- Minimum Sufficient Governance:治理开销必须与变更风险成比例;小改动的体验是"几乎感觉不到 POMaster"
|
|
361
|
+
- Memory Sovereignty:删掉本机缓存 + fresh clone + bootstrap ≈ 项目认知完全恢复
|
|
362
|
+
|
|
363
|
+
## 项目结构
|
|
364
|
+
|
|
365
|
+
```text
|
|
366
|
+
packages/ kernel(状态与判卷权威)· cli(命令面)· gauntlet-lite(确定性 gate 腿)· schemas(FROZEN 词表 schema)
|
|
367
|
+
catalog/ policies · knowledge · gates · sensors · archetypes · tools——随包分发的工程策展物料(catalog-lock 逐字节对账;手补物料后 `pomaster catalog relock` 一键重锁)
|
|
368
|
+
references/ concept-ledger(治理概念账本)· external-sites-index(外部参照站点索引)
|
|
369
|
+
tests/ 单元 / 集成 / Golden / 对抗 / 行为 / 自托管基准(数量下限进 CI 棘轮,只升不降)
|
|
370
|
+
benchmarks/ mutation-kill · constitutional · run-all
|
|
371
|
+
legal/ THIRD_PARTY_NOTICES · PROVENANCE
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
技术栈:TypeScript · Node ≥ 22 · pnpm monorepo · Canonical State 为 JSON · Git 为版本与回滚底座 · 外部测试工具一律走 Adapter(绝不进核心)。
|
|
375
|
+
|
|
376
|
+
## License
|
|
377
|
+
|
|
378
|
+
POMaster 采用**双许可**发布(Owner 决议 2026-09-01):
|
|
379
|
+
|
|
380
|
+
- **PolyForm Noncommercial 1.0.0**(默认公共许可,仅授权非商业使用):全文见 [`LICENSE`](./LICENSE),官方标准文本逐字落盘;
|
|
381
|
+
- **Commercial**(独立商业授权):任何商业使用(含企业内部商用、小企业商用)均不在公共许可范围内、不豁免,需另行签署书面商业授权——说明见 [`COMMERCIAL_LICENSE.md`](./COMMERCIAL_LICENSE.md)。
|
|
382
|
+
|
|
383
|
+
该组合为 source-available 双许可,不应宣传为 OSI Open Source。商标与项目标识归属见 [`TRADEMARKS.md`](./TRADEMARKS.md);贡献授权条款见 [`CONTRIBUTING.md`](./CONTRIBUTING.md);安全漏洞报告渠道见 [`SECURITY.md`](./SECURITY.md);第三方依赖许可与 notice 义务见 [`legal/THIRD_PARTY_NOTICES.md`](./legal/THIRD_PARTY_NOTICES.md)。
|
|
384
|
+
|
|
385
|
+
商业授权联系:**allenxujianyang@outlook.com**
|
|
386
|
+
|
|
387
|
+
> 正式公开发布前需完成法律专业人士复核。Trellis 仅作机制研究对照,零代码继承。
|
|
388
|
+
|
|
389
|
+
## 联系方式
|
|
390
|
+
|
|
391
|
+
- **商业授权 / 合作**:[allenxujianyang@outlook.com](mailto:allenxujianyang@outlook.com)
|
|
392
|
+
- **问题反馈**:[GitHub Issues](https://github.com/River-Singer/POMaster_VNext/issues)
|
|
393
|
+
- **安全漏洞**:见 [`SECURITY.md`](./SECURITY.md)(不走公开 issue)
|