pomaster 0.5.3 → 0.6.1
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 +20 -6
- package/dist/bin.js +2354 -281
- package/legal/THIRD_PARTY_NOTICES.md +2 -2
- package/package.json +1 -1
- package/seeds/baseline/frontend/design-tokens.yaml +129 -0
- package/seeds/manifest.json +18 -3
package/README.md
CHANGED
|
@@ -56,8 +56,8 @@ corepack pnpm studio:react:dev # React sidecar(antd 对照浏览,端口 600
|
|
|
56
56
|
|
|
57
57
|
- init 的**技术栈问卷** 14 键逐项必答(前端 9 + 后端 5),答完写回 `baseline/<lane>/stack.yaml`;
|
|
58
58
|
- 选型落定后自动生成 **PRESET-DRAFT 预置草案**——逐条溯源到主题文档与 overlay,Owner 可改;业务实体/接口/数据模型零预置;
|
|
59
|
-
- `pomaster baseline confirm` 以 **sha256
|
|
60
|
-
- closeout 双重阻断:未确认 → `BASELINE_NOT_CONFIRMED`;确认后改动 → `BASELINE_DRIFT
|
|
59
|
+
- `pomaster baseline confirm` 以 **sha256 快照烙印**基线——快照分母 = 25 文件确认资产清单(2 stack.yaml + 22 份基线 md + design-tokens.yaml);确认前提是**阻塞集清零**(未销账且未豁免的键才阻塞——Owner 可在 manifest unknowns 台账登记豁免行,登记行不阻塞;doctor/status 呈现阻塞余量);
|
|
60
|
+
- closeout 双重阻断:未确认 → `BASELINE_NOT_CONFIRMED`;确认后改动 → `BASELINE_DRIFT`(检出谁改了架构)。漂移的消解必须显式留痕——重确认三通道:`--change <CHANGE-id>` 治理通路 / `--ack-drifted --note "<理由>"` Owner 手改声明(AI 代跑须持 Owner 指示)/ 裸重确认显式拒绝。
|
|
61
61
|
|
|
62
62
|
### ④ 证据链:一切结论带收据
|
|
63
63
|
|
|
@@ -75,7 +75,7 @@ pomaster alerts
|
|
|
75
75
|
pomaster doctor
|
|
76
76
|
pomaster portability bootstrap/check
|
|
77
77
|
pomaster update --check/--yes
|
|
78
|
-
pomaster baseline set/confirm # set =
|
|
78
|
+
pomaster baseline set/confirm # set = 单键销账(确认态在座改型须持 --change——写入转 pending-change 批,同 ref confirm 终结);confirm = 基线确认 gate(前提 = 阻塞集清零:未销账且未豁免的键,manifest 豁免登记行不阻塞;快照 = 25 文件确认资产清单 sha256;重确认三通道 --change / --ack-drifted --note / 裸重确认拒绝;doctor/status 呈现确认态与阻塞余量——closeout 阻断码的消费源)
|
|
79
79
|
|
|
80
80
|
# ① DISCOVERY —— 需求拷问/问题闸/决议图(Brainstorm/Question Gate)
|
|
81
81
|
pomaster brainstorm start/question-gate/status/decide/promote
|
|
@@ -113,6 +113,7 @@ pomaster resolve "<need>" [--hints ...]
|
|
|
113
113
|
pomaster new-entity check <governed-id> [--need ...]
|
|
114
114
|
pomaster inspect <governed-id>
|
|
115
115
|
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 平面零权威写口
|
|
116
117
|
pomaster research list/inspect/request/handoff
|
|
117
118
|
pomaster eval --suite behavioral
|
|
118
119
|
pomaster catalog status/explain/relock
|
|
@@ -123,7 +124,7 @@ pomaster run <task>
|
|
|
123
124
|
pomaster handoff <task> --to <role>
|
|
124
125
|
pomaster session attach/refresh/list
|
|
125
126
|
pomaster lock acquire/heartbeat/release/steal/list
|
|
126
|
-
pomaster execution begin/end/list
|
|
127
|
+
pomaster execution begin/end/list/audit # audit = 变更越界审计(--execution-id + --diff-base:git diff 起始锚变更集 → KEYBINDING 解析 → permit scope 判 in/out → OBS 回执 sidecar + 越界明细;越界 exit 1——Detection 半边,纯读零权威写口)
|
|
127
128
|
pomaster trace show/list
|
|
128
129
|
# pomaster session(不带子命令)= 治理速览投影(SessionStart 注入源;≤10k 字符,恒 exit 0;尾部带首答确认协议指令段)
|
|
129
130
|
# pomaster alerts(重入口 UserPromptSubmit 源)= 可行动项过滤器 + workflow 路由段(干净=非空但极简,恒 exit 0)
|
|
@@ -146,7 +147,7 @@ cd your-project
|
|
|
146
147
|
pomaster init
|
|
147
148
|
```
|
|
148
149
|
|
|
149
|
-
一条命令,幂等(重复执行 NO_CHANGE,人类文件一律不覆盖):铺出 `.pomaster/` 治理目录树、登记 19 份 SPEC 预植对象、生成 `AGENTS.md` 重入口(
|
|
150
|
+
一条命令,幂等(重复执行 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 键逐项必答(中断 = 零写入)。
|
|
150
151
|
|
|
151
152
|
**组件画廊**:[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 组件真渲染对照);未确认前仅作了解,不作为动手前置。
|
|
152
153
|
|
|
@@ -187,7 +188,7 @@ pomaster brainstorm promote idea-export-btn --to TASK --basis msd_reached --appl
|
|
|
187
188
|
# —— 八拍推进:next-action 会逐拍给唯一建议命令 ——
|
|
188
189
|
pomaster status # R_PERMIT_MISSING(--subject 为 affected_objects 派生建议)
|
|
189
190
|
pomaster permit issue --subject PAGE.USER_LIST --actor human:owner --change-ref TASK.IDEA_EXPORT_BTN
|
|
190
|
-
pomaster baseline confirm # R_BASELINE_NOT_READY
|
|
191
|
+
pomaster baseline confirm # R_BASELINE_NOT_READY(阻塞集清零后的一次性收口账)
|
|
191
192
|
pomaster context compile --role frontend --change TASK.IDEA_EXPORT_BTN # ③ 投影
|
|
192
193
|
pomaster execution begin --role implementer --runtime script --identity-kind script --task-id TASK.IDEA_EXPORT_BTN # ④ 执行身份
|
|
193
194
|
# ……在你的 Agent harness(Claude Code 等)里实现代码……
|
|
@@ -304,6 +305,19 @@ Spec、Task、Gate、Knowledge、Brainstorm……全部是这五个原语的派
|
|
|
304
305
|
- Minimum Sufficient Governance:治理开销必须与变更风险成比例;小改动的体验是"几乎感觉不到 POMaster"
|
|
305
306
|
- Memory Sovereignty:删掉本机缓存 + fresh clone + bootstrap ≈ 项目认知完全恢复
|
|
306
307
|
|
|
308
|
+
## 自举(Self-Hosting):本仓被自家治理
|
|
309
|
+
|
|
310
|
+
POMaster 的开发仓自己吃自己的治理:仓库根本机台账 `.pomaster/`(入 `.gitignore`,治理态不入库)由 `createStore` 骨架语义重建——`loadStoreReadOnly` 与 doctor 五探针全绿(2026-09-11 自举审计 F1「vocab 指纹过期空骨架」由此根治:重建后 `vocab_lock.prefixes` 恒等于当前词表镜像)。本工作区(仓库上层宿主目录)的 Claude Code 已注册 **PreToolUse 写前拦截 hook**:`Edit|Write|NotebookEdit|Bash` 工具调用先经 `hooks/exec-guard-hook.py`(判卷逻辑单一源,git 跟踪;运行时面 `.claude/hooks/` 内为同名词形转发 shim)解析目标路径 → KEYBINDING 映射 governed id → 调 `pomaster exec-guard` 对照活跃 execution 的 permit scope 判卷:
|
|
311
|
+
|
|
312
|
+
| 判定 | 行为 | 条件 |
|
|
313
|
+
|---|---|---|
|
|
314
|
+
| (a) 透传放行 | exit 0 + stderr 一行注记 | store 未初始化 / 无活跃 execution / 目标无 KEYBINDING 绑定(unmapped)/ Bash 命令无路径词形——条件激活语义,非治理态日常操作不堵 |
|
|
315
|
+
| ALLOW | exit 0 + stderr 注记 | 活跃 execution 的任一 permit scope.subject_ids 覆盖映射 id(多 permit 并集,`kernel checkPermit` 唯一判卷权威) |
|
|
316
|
+
| (b) DENY | exit 2 阻断 + stderr 指路正确 permit 面 | 映射 id ∉ scope(PERMIT_SCOPE_DENIED)/ execution 显式无 permit / permit 引用不存在(PERMIT_UNKNOWN) |
|
|
317
|
+
| (c) fail-open | exit 0 + stderr 显式声明 | 判卷器自身故障(CLI 入口缺席 / 进程故障 / 台账损坏)——防 hook 卡死开发流,审计线索由 Detection 半边 `pomaster execution audit`(①号切片)兜底复查 |
|
|
318
|
+
|
|
319
|
+
如实边界:Bash matcher 只做路径词形粗筛不做 shell 语义分析(op 恒按写语义 `upsert_object` 判卷,读命令提及 mapped 路径会误报 DENY);「不 begin execution 就没有判卷」是条件激活语义的既定开口(未审计会话由 execution audit 呈报);permit 仍走 Owner 既有通路,hook 不签发。三态各有确定性测试(`packages/cli/tests/exec-guard-hook.spec.ts`,端到端真跑 `exec-guard`)。
|
|
320
|
+
|
|
307
321
|
## 深入阅读
|
|
308
322
|
|
|
309
323
|
- [`docs/init-reference.md`](docs/init-reference.md) — `pomaster init` 全机制:产物表 / 目录宪法全树 / 播种语义 / 重入口三件套 / 技术栈问卷 / 基线确认 gate / 预置草案 / doctor 探针矩阵
|