frontend-project-context 1.0.1 → 1.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/CHANGELOG.md +18 -0
- package/README.md +104 -8
- package/UPGRADING.md +28 -0
- package/docs/00-PRODUCT-CONSTITUTION.md +42 -10
- package/docs/04-PROGRAM-DESIGN.md +76 -2
- package/docs/05-ACCEPTANCE-CONTRACT.md +35 -3
- package/docs/08-INSTALLATION-AND-DISTRIBUTION.md +27 -15
- package/docs/16-GUIDED-ONBOARDING-AND-AI-RECONCILIATION-DESIGN.md +469 -0
- package/docs/17-AI-EXCHANGE-BOUNDARY-DESIGN.md +268 -0
- package/docs/README.md +12 -4
- package/examples/README.md +15 -2
- package/examples/package.json +6 -2
- package/package.json +4 -3
- package/schemas/action-plan.schema.json +250 -0
- package/schemas/assist-bundle.schema.json +75 -0
- package/schemas/capabilities.schema.json +123 -0
- package/schemas/review-bundle.schema.json +109 -0
- package/src/project-context/assist.mjs +422 -0
- package/src/project-context/cli.mjs +143 -13
- package/src/project-context/exchange-schema.mjs +528 -0
- package/src/project-context/exchange.mjs +623 -0
- package/src/project-context/project-store.mjs +22 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.2.0 — unreleased
|
|
4
|
+
|
|
5
|
+
- 新增未初始化和已初始化项目均可使用的只读 `capabilities`,公开 package、exchange protocol、schema、command、八类 action 和永久边界。
|
|
6
|
+
- 新增 Action Plan schema 1 和只读 `preflight`,把 AI 建议规范化为带三个 snapshot、action 专属 baseline、精确 impact 与 blocker 的短生命周期输入。
|
|
7
|
+
- 新增 Review Bundle schema 1,稳定分组 current/proposed、item/source/path/projection 影响与结构化 `{ command, args }` invocation;invocation 不含 `--write` 或 `--by`。
|
|
8
|
+
- 发布 capabilities、Assist Bundle、Action Plan 与 Review Bundle 四份 JSON schema,并把 `schemas/` 加入 npm 白名单;动态项目状态继续排除。
|
|
9
|
+
- 八类 action 均复用现有 register/propose/review/accept/revise/deprecate/approve/publish 预检语义;不新增 `apply-plan`、Provider、Agent Runtime、Git、网络、依赖安装、自动批准或业务代码执行。
|
|
10
|
+
- A-56 至 A-63 与全部回归共 69/69 项本地验收通过;公共发布尚未授权。
|
|
11
|
+
|
|
12
|
+
## 1.1.0 — unreleased
|
|
13
|
+
|
|
14
|
+
- 新增 `setup`,在未初始化或已初始化项目中复用现有 discovery,输出不含自动批准的 Assist Bundle;显式写入只创建三个 store 和 create-only proposal。
|
|
15
|
+
- 新增永远只读的 `sync`,一次聚合来源漂移、精确 item 影响、调用方 changed path、投影路径、finding、read target 和稳定 work unit。
|
|
16
|
+
- Assist Bundle schema 1 默认不含来源正文和无关合同值;超过 100 个受影响 item 时保留全部 ID 与基本元数据、省略完整值并显式标记,不静默截断。
|
|
17
|
+
- 补齐 pending-review、projection-review、setup proposal artifact receipt 和目录型 file source 的后代 changed-path 映射。
|
|
18
|
+
- 保持人类为唯一批准者,不增加 Provider、Agent Runtime、网络、Git、依赖、后台服务、自动接受或自动发布能力。
|
|
19
|
+
- A-01 至 A-55、B0-01/B0-02、CLI 和发布工件共 61 项本地验收通过;公共发布尚未授权。
|
|
20
|
+
|
|
3
21
|
## 1.0.1 — release candidate
|
|
4
22
|
|
|
5
23
|
- 把 npm README 重写为面向使用者的中英双语安装、快速上手、工作流和命令入口。
|
package/README.md
CHANGED
|
@@ -14,6 +14,8 @@ AI coding tools often read only part of a repository. Important conventions may
|
|
|
14
14
|
|
|
15
15
|
- selects the approved guidance that applies to a file or directory;
|
|
16
16
|
- renders focused context for existing coding agents;
|
|
17
|
+
- exposes versioned machine capabilities and schemas for model-neutral hosts;
|
|
18
|
+
- converts AI suggestions into authority-free Action Plans and read-only Review Bundles;
|
|
17
19
|
- publishes managed Markdown, AGENTS, or Ruler-compatible projections;
|
|
18
20
|
- reports source, contract, and projection drift;
|
|
19
21
|
- keeps every persistent write and approval under explicit human control.
|
|
@@ -30,23 +32,28 @@ It does **not** call an AI provider, edit business code, manage Git, install dep
|
|
|
30
32
|
Pin it as a development dependency so local users and CI run the same version:
|
|
31
33
|
|
|
32
34
|
```bash
|
|
33
|
-
npm install --save-dev frontend-project-context@1.0
|
|
35
|
+
npm install --save-dev frontend-project-context@1.2.0
|
|
34
36
|
```
|
|
35
37
|
|
|
36
38
|
The package has zero runtime dependencies.
|
|
37
39
|
|
|
40
|
+
`1.2.0` is the locally verified source version in this repository. The latest independently verified public npm version remains `1.0.1` until separate release authorization and publication.
|
|
41
|
+
|
|
38
42
|
### Quick start
|
|
39
43
|
|
|
40
|
-
|
|
44
|
+
Let an existing Coding Agent prepare deterministic onboarding candidates:
|
|
41
45
|
|
|
42
46
|
```bash
|
|
43
|
-
npx project-context
|
|
47
|
+
npx project-context setup \
|
|
44
48
|
--project . \
|
|
45
49
|
--id my-project \
|
|
46
50
|
--name "My Project" \
|
|
47
|
-
--write
|
|
51
|
+
--write \
|
|
52
|
+
--json
|
|
48
53
|
```
|
|
49
54
|
|
|
55
|
+
`setup` creates only the three stores and a create-only proposal. It does not approve candidates or publish Agent files. Its JSON `artifacts` receipt reports the exact proposal path and whether it was previewed, created, or already unchanged. Read `summary`, `workUnits`, and `readTargets`, then review the exact proposed IDs.
|
|
56
|
+
|
|
50
57
|
Register an explicit source:
|
|
51
58
|
|
|
52
59
|
```bash
|
|
@@ -93,6 +100,36 @@ npx project-context context --project . --path src --locale en
|
|
|
93
100
|
npx project-context check --project .
|
|
94
101
|
```
|
|
95
102
|
|
|
103
|
+
After project sources or implementation paths change, create one read-only reconciliation work unit:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
npx project-context sync \
|
|
107
|
+
--project . \
|
|
108
|
+
--changed-path src/example.ts \
|
|
109
|
+
--json
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
`sync` reports changed sources, affected item IDs, pending-item review, path-scoped guidance, projection-only findings, and exact work units. It contains no source bodies and cannot accept, revise, approve, deprecate, or publish anything. A Coding Agent may prepare the existing safe commands, but a human must approve the displayed IDs and paths before writes occur.
|
|
113
|
+
|
|
114
|
+
Discover the exchange contract without initializing the project:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
npx project-context capabilities --project . --json
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
An external AI host can create an Action Plan schema 1 using the returned project snapshots and one of the eight advertised action kinds. Save that short-lived plan inside the project, then produce a read-only Review Bundle:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
npx project-context preflight \
|
|
124
|
+
--project . \
|
|
125
|
+
--plan .project-context/action-plan.json \
|
|
126
|
+
--json
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
`preflight` validates the project ID, all three snapshot digests, action-specific baselines, exact impacts, blockers, and projection ownership. It returns structured `{ command, args }` invocations without `--write` or `--by`. The plan and Review Bundle grant no authority: after a human approves exact action IDs and paths, the host must add the required identity and write flags to the existing fine-grained command. Any intervening write invalidates the remaining review and requires a fresh `sync` and `preflight`.
|
|
130
|
+
|
|
131
|
+
The package publishes `schemas/capabilities.schema.json`, `schemas/assist-bundle.schema.json`, `schemas/action-plan.schema.json`, and `schemas/review-bundle.schema.json`.
|
|
132
|
+
|
|
96
133
|
Generate the read-only governance dashboard:
|
|
97
134
|
|
|
98
135
|
```bash
|
|
@@ -122,6 +159,11 @@ Explicit project sources
|
|
|
122
159
|
→ human-approved Project Contract
|
|
123
160
|
→ scoped Context Bundle
|
|
124
161
|
→ AGENTS / Markdown / Ruler projections
|
|
162
|
+
→ existing AI tool
|
|
163
|
+
→ authority-free Action Plan
|
|
164
|
+
→ read-only Review Bundle
|
|
165
|
+
→ exact human approval
|
|
166
|
+
→ existing fine-grained write command
|
|
125
167
|
→ drift check
|
|
126
168
|
```
|
|
127
169
|
|
|
@@ -131,6 +173,8 @@ All commands are read-only unless that command explicitly includes `--write`. So
|
|
|
131
173
|
|
|
132
174
|
| Command | Purpose |
|
|
133
175
|
| --- | --- |
|
|
176
|
+
| `setup` | Aggregate safe initialization, conservative discovery, and an Assist Bundle |
|
|
177
|
+
| `capabilities` | Discover protocol versions, schemas, action kinds, initialization, and permanent boundaries |
|
|
134
178
|
| `init` | Create an empty project contract safely |
|
|
135
179
|
| `register` | Register a file, path, JSON pointer, or human decision |
|
|
136
180
|
| `discover` | Conservatively propose bootstrap candidates |
|
|
@@ -139,6 +183,8 @@ All commands are read-only unless that command explicitly includes `--write`. So
|
|
|
139
183
|
| `context` | Compile approved context for one or more paths |
|
|
140
184
|
| `publish` | Write an owned AGENTS, Markdown, or Ruler projection |
|
|
141
185
|
| `check` | Detect stale sources, contracts, and projections |
|
|
186
|
+
| `sync` | Aggregate source drift, item impact, changed paths, and reconciliation work units |
|
|
187
|
+
| `preflight` | Validate an Action Plan and return a read-only grouped Review Bundle |
|
|
142
188
|
| `dashboard` | Render the read-only governance dashboard |
|
|
143
189
|
| `review-source` | Review a changed source and its exact impact set |
|
|
144
190
|
| `accept-source-change` | Accept a pinned source digest and revoke affected approvals |
|
|
@@ -156,6 +202,8 @@ Run `npx project-context --help` for the complete command syntax.
|
|
|
156
202
|
- [Knowledge maintenance](./docs/12-KNOWLEDGE-MAINTENANCE-CLOSURE-ROADMAP.md)
|
|
157
203
|
- [Read-only governance dashboard](./docs/13-READ-ONLY-GOVERNANCE-DASHBOARD-DESIGN.md)
|
|
158
204
|
- [Source lifecycle](./docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md)
|
|
205
|
+
- [Guided onboarding and AI-assisted reconciliation](./docs/16-GUIDED-ONBOARDING-AND-AI-RECONCILIATION-DESIGN.md)
|
|
206
|
+
- [AI Exchange Boundary design](./docs/17-AI-EXCHANGE-BOUNDARY-DESIGN.md)
|
|
159
207
|
- [Upgrade notes](./UPGRADING.md)
|
|
160
208
|
|
|
161
209
|
## 中文
|
|
@@ -166,6 +214,8 @@ AI 编程工具通常只读取仓库的一部分,而项目约定分散在文
|
|
|
166
214
|
|
|
167
215
|
- 按文件或目录选择真正生效的已批准规则;
|
|
168
216
|
- 为现有 Coding Agent 生成精简且可追溯的上下文;
|
|
217
|
+
- 向模型无关宿主公开版本化 capability 与机器 schema;
|
|
218
|
+
- 把 AI 建议收敛为无权限 Action Plan 和只读 Review Bundle;
|
|
169
219
|
- 从同一合同生成受管 Markdown、AGENTS 或 Ruler 兼容投影;
|
|
170
220
|
- 检测来源、合同和投影是否过期;
|
|
171
221
|
- 所有持久写入与批准都必须由人显式触发。
|
|
@@ -182,23 +232,28 @@ AI 编程工具通常只读取仓库的一部分,而项目约定分散在文
|
|
|
182
232
|
建议固定为开发依赖,让本地与 CI 使用同一版本:
|
|
183
233
|
|
|
184
234
|
```bash
|
|
185
|
-
npm install --save-dev frontend-project-context@1.0
|
|
235
|
+
npm install --save-dev frontend-project-context@1.2.0
|
|
186
236
|
```
|
|
187
237
|
|
|
188
238
|
本包没有运行时第三方依赖。
|
|
189
239
|
|
|
240
|
+
`1.2.0` 是本仓库当前已经完成本地验收的源码版本。在获得单独发布授权并完成发布前,公共 npm 已独立核验的最新版本仍为 `1.0.1`。
|
|
241
|
+
|
|
190
242
|
### 快速开始
|
|
191
243
|
|
|
192
|
-
|
|
244
|
+
让现有 Coding Agent 生成确定性的首次接入候选:
|
|
193
245
|
|
|
194
246
|
```bash
|
|
195
|
-
npx project-context
|
|
247
|
+
npx project-context setup \
|
|
196
248
|
--project . \
|
|
197
249
|
--id my-project \
|
|
198
250
|
--name "My Project" \
|
|
199
|
-
--write
|
|
251
|
+
--write \
|
|
252
|
+
--json
|
|
200
253
|
```
|
|
201
254
|
|
|
255
|
+
`setup` 只创建三个 store 和一份 create-only proposal,不会批准候选或发布 Agent 文件。JSON 中的 `artifacts` receipt 会返回精确 proposal 路径,以及 preview、create 或 unchanged 结果。先读取 `summary`、`workUnits` 和 `readTargets`,再审查具体 proposal ID。
|
|
256
|
+
|
|
202
257
|
登记一个明确来源:
|
|
203
258
|
|
|
204
259
|
```bash
|
|
@@ -245,6 +300,36 @@ npx project-context context --project . --path src --locale zh-CN
|
|
|
245
300
|
npx project-context check --project .
|
|
246
301
|
```
|
|
247
302
|
|
|
303
|
+
项目来源或实现路径变化后,可一次生成只读的增量维护工作单元:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
npx project-context sync \
|
|
307
|
+
--project . \
|
|
308
|
+
--changed-path src/example.ts \
|
|
309
|
+
--json
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
`sync` 汇总变化来源、受影响 item ID、pending item 审查、路径适用规则、仅投影 finding 和精确 work unit。它不携带来源正文,也不能接受、修订、批准、废弃或发布任何内容。Coding Agent 可以准备既有安全命令,但只有人在看到明确 ID 和路径后才能授权写入。
|
|
313
|
+
|
|
314
|
+
无需初始化项目即可查询双向交换协议:
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
npx project-context capabilities --project . --json
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
外部 AI 宿主可使用返回的三个项目 snapshot 和八类 action 生成 Action Plan schema 1。把这份短生命周期计划保存在项目内,再生成只读 Review Bundle:
|
|
321
|
+
|
|
322
|
+
```bash
|
|
323
|
+
npx project-context preflight \
|
|
324
|
+
--project . \
|
|
325
|
+
--plan .project-context/action-plan.json \
|
|
326
|
+
--json
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
`preflight` 会验证 project ID、三个 snapshot digest、action 专属 baseline、精确影响集、blocker 和投影所有权,并返回不含 `--write`、`--by` 的结构化 `{ command, args }` invocation。Action Plan 和 Review Bundle 都不授予权限;只有人批准明确 action ID 与路径后,宿主才能为既有细粒度命令补入身份和写入参数。期间任何写入都会使余下 review 失效,必须重新 `sync` 和 `preflight`。
|
|
330
|
+
|
|
331
|
+
npm 包公开 `schemas/capabilities.schema.json`、`schemas/assist-bundle.schema.json`、`schemas/action-plan.schema.json` 和 `schemas/review-bundle.schema.json`。
|
|
332
|
+
|
|
248
333
|
生成只读治理看板:
|
|
249
334
|
|
|
250
335
|
```bash
|
|
@@ -274,6 +359,11 @@ npx project-context dashboard --project . > project-context-dashboard.html
|
|
|
274
359
|
→ 人工批准的 Project Contract
|
|
275
360
|
→ 按作用域编译的 Context Bundle
|
|
276
361
|
→ AGENTS / Markdown / Ruler 投影
|
|
362
|
+
→ 现有 AI 工具
|
|
363
|
+
→ 无权限 Action Plan
|
|
364
|
+
→ 只读 Review Bundle
|
|
365
|
+
→ 人对明确 action 的批准
|
|
366
|
+
→ 既有细粒度写命令
|
|
277
367
|
→ 漂移检查
|
|
278
368
|
```
|
|
279
369
|
|
|
@@ -283,6 +373,8 @@ npx project-context dashboard --project . > project-context-dashboard.html
|
|
|
283
373
|
|
|
284
374
|
| 命令 | 用途 |
|
|
285
375
|
| --- | --- |
|
|
376
|
+
| `setup` | 聚合安全初始化、保守 discovery 和 Assist Bundle |
|
|
377
|
+
| `capabilities` | 查询协议版本、schema、action kind、初始化状态和永久边界 |
|
|
286
378
|
| `init` | 安全创建空项目合同 |
|
|
287
379
|
| `register` | 登记文件、路径、JSON Pointer 或人工决定 |
|
|
288
380
|
| `discover` | 保守提出首次接入候选 |
|
|
@@ -291,6 +383,8 @@ npx project-context dashboard --project . > project-context-dashboard.html
|
|
|
291
383
|
| `context` | 为一个或多个路径编译已批准上下文 |
|
|
292
384
|
| `publish` | 写入仍归工具所有的 AGENTS、Markdown 或 Ruler 投影 |
|
|
293
385
|
| `check` | 检测来源、合同和投影漂移 |
|
|
386
|
+
| `sync` | 聚合来源漂移、item 影响、变化路径和维护工作单元 |
|
|
387
|
+
| `preflight` | 验证 Action Plan 并返回只读分组 Review Bundle |
|
|
294
388
|
| `dashboard` | 生成只读治理看板 |
|
|
295
389
|
| `review-source` | 查看来源变化及精确影响集 |
|
|
296
390
|
| `accept-source-change` | 接受固定摘要并撤销受影响批准 |
|
|
@@ -308,6 +402,8 @@ npx project-context dashboard --project . > project-context-dashboard.html
|
|
|
308
402
|
- [知识维护闭环](./docs/12-KNOWLEDGE-MAINTENANCE-CLOSURE-ROADMAP.md)
|
|
309
403
|
- [只读治理看板](./docs/13-READ-ONLY-GOVERNANCE-DASHBOARD-DESIGN.md)
|
|
310
404
|
- [来源生命周期](./docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md)
|
|
405
|
+
- [引导式接入与 AI 辅助维护](./docs/16-GUIDED-ONBOARDING-AND-AI-RECONCILIATION-DESIGN.md)
|
|
406
|
+
- [AI 双向交换边界设计](./docs/17-AI-EXCHANGE-BOUNDARY-DESIGN.md)
|
|
311
407
|
- [升级说明](./UPGRADING.md)
|
|
312
408
|
|
|
313
409
|
## License / 许可证
|
package/UPGRADING.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# 升级说明
|
|
2
2
|
|
|
3
|
+
## `1.1.0 → 1.2.0`
|
|
4
|
+
|
|
5
|
+
`1.2.0` 完成模型无关双向 AI Exchange Boundary:新增只读 `capabilities`、Action Plan schema 1、只读 `preflight`、Review Bundle schema 1 和四份公开机器 schema。Contract、proposal、source lock、projection lock、renderer 与 Dashboard View Model 均未升级,旧项目无需迁移 `.project-context/`。
|
|
6
|
+
|
|
7
|
+
升级后建议:
|
|
8
|
+
|
|
9
|
+
1. 运行 `project-context capabilities --project . --json`,由宿主读取版本、schema、action kind、初始化状态和永久边界。
|
|
10
|
+
2. 继续使用 `setup`/`sync` 获取项目到 AI 的 Assist Bundle;外部 AI 只生成符合 `schemas/action-plan.schema.json` 的无权限计划。
|
|
11
|
+
3. 运行 `project-context preflight --project . --plan FILE --json`,集中审查 current/proposed、baseline、影响集、blocker、分组与 structured invocation。
|
|
12
|
+
4. 人明确批准具体 action ID 与路径后,宿主才可给 Review Bundle 中的既有细粒度命令补入所需 `--by` 和 `--write`。
|
|
13
|
+
5. 任一写入后,未执行的旧 Review Bundle 与 invocation 全部作废;重新运行 `sync` 和 `preflight`。
|
|
14
|
+
|
|
15
|
+
Action Plan 和 Review Bundle 都不是 store、Contract 或 approval receipt。升级不会执行 plan、自动批准、自动修复、修改业务代码、读取 Git、访问网络、调用 Provider 或安装依赖。
|
|
16
|
+
|
|
17
|
+
## `1.0.1 → 1.1.0`
|
|
18
|
+
|
|
19
|
+
`1.1.0` 新增 `setup`、只读 `sync` 和短生命周期 Assist Bundle schema 1,它们是双向 AI Exchange Boundary 的首个模型无关内核基础;Codex、Claude、MCP 或其他宿主触发仍属可选适配器。Contract reader 仍兼容 schema 1/2,proposal、source lock、projection lock、renderer 3 和 Dashboard View Model 3 均未变化,因此无需迁移 `.project-context/`。
|
|
20
|
+
|
|
21
|
+
升级后可以继续使用所有原命令,也可以逐步采用:
|
|
22
|
+
|
|
23
|
+
1. 新项目通过 `project-context setup --project . --id ID --name NAME --json` 先预览;只有明确需要创建三个 store 和 proposal 时才加 `--write`。
|
|
24
|
+
2. 已初始化项目运行 `project-context sync --project . --json`,一次查看全部来源漂移、影响 item、pending review 和仅投影 finding。
|
|
25
|
+
3. 外部 Agent 或 CI 可以把变化路径通过重复的 `--changed-path` 传入;产品本身不读取 Git。
|
|
26
|
+
4. AI 只根据 `readTargets` 和 `workUnits` 渐进读取,准备既有 accept/revise/deprecate/approve/publish 命令。
|
|
27
|
+
5. 人工明确批准具体 ID 和路径后才能执行相应写命令,最后运行 `check`。
|
|
28
|
+
|
|
29
|
+
升级不会自动创建 proposal、批准规则、接受来源 digest、重发投影、访问网络、运行 Provider、安装依赖或修改业务代码。
|
|
30
|
+
|
|
3
31
|
## `1.0.0 → 1.0.1`
|
|
4
32
|
|
|
5
33
|
`1.0.1` 只修复 npm README、元数据和包文件白名单,不修改 CLI、Contract、lock、projection 或 Dashboard schema。更新依赖版本后无需迁移 `.project-context/`。
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Frontend Project Context — 产品宪法
|
|
2
2
|
|
|
3
|
-
> 宪法版本:`1.
|
|
3
|
+
> 宪法版本:`1.2.0`
|
|
4
4
|
>
|
|
5
5
|
> 状态:`frozen`
|
|
6
6
|
>
|
|
7
|
-
> 生效日期:`2026-09-
|
|
7
|
+
> 生效日期:`2026-09-09`
|
|
8
8
|
|
|
9
9
|
## 1. 文档权威
|
|
10
10
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
- `PROJECT_STATE.json` 只记录当前事实、实现状态、授权和下一步;
|
|
16
16
|
- `RTK.md` 只提供新窗口启动摘要;
|
|
17
17
|
- `README.md` 只提供产品介绍和使用入口;
|
|
18
|
-
- `docs/01` 至 `docs/05`、`docs/08`、`docs/11
|
|
18
|
+
- `docs/01` 至 `docs/05`、`docs/08`、`docs/11` 至 `docs/17` 是形成当前决定的设计或路线说明;
|
|
19
19
|
- `docs/06`、`docs/07`、`docs/09`、`docs/10` 是历史或验证证据;
|
|
20
20
|
- 任务讨论、实验结果和真实项目观察都是输入证据,不能自行改变本文档。
|
|
21
21
|
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
|
|
24
24
|
## 2. 唯一产品定义
|
|
25
25
|
|
|
26
|
-
Frontend Project Context 是一个**落在项目中的、位于项目与 AI
|
|
26
|
+
Frontend Project Context 是一个**落在项目中的、位于项目与 AI 编程工具之间的模型无关双向上下文治理与交换层**。
|
|
27
27
|
|
|
28
|
-
它把项目明确提供的事实、规则和来源治理为一份人工批准的 `Project Contract`,再针对目录和任务生成最小、可追溯的 `Context Bundle`,投影给已有 AI
|
|
28
|
+
它把项目明确提供的事实、规则和来源治理为一份人工批准的 `Project Contract`,再针对目录和任务生成最小、可追溯的 `Context Bundle`,投影给已有 AI 编程工具,并把 AI 返回的建议收敛为可预检、可集中审查的短生命周期 action,最后在人明确批准后复用现有安全写入原语。
|
|
29
29
|
|
|
30
30
|
```text
|
|
31
31
|
项目显式来源 + 人工规则
|
|
@@ -33,22 +33,26 @@ Frontend Project Context 是一个**落在项目中的、位于项目与 AI 编
|
|
|
33
33
|
→ 人工批准的 Project Contract
|
|
34
34
|
→ 按目录/任务编译的 Context Bundle
|
|
35
35
|
→ AGENTS.md / Ruler / 其他 AI 工具
|
|
36
|
-
→
|
|
36
|
+
→ AI Action Plan
|
|
37
|
+
→ 确定性预检与人工集中审查
|
|
38
|
+
→ 已授权的细粒度写入
|
|
39
|
+
→ 来源、合同与投影漂移检查
|
|
37
40
|
```
|
|
38
41
|
|
|
39
|
-
本产品治理“项目希望 AI
|
|
42
|
+
本产品治理“项目希望 AI 知道什么”和“AI 建议如何在人工授权前被安全表达与预检”,不负责“AI 如何完成开发任务”。
|
|
40
43
|
|
|
41
44
|
## 3. 固定用户问题
|
|
42
45
|
|
|
43
46
|
同一项目的知识分散在设计资料、文档、配置、代码和团队约定中,不同 AI 工具会获得不完整、重复或互相冲突的指导,并且规则变化难以追溯。
|
|
44
47
|
|
|
45
|
-
|
|
48
|
+
本产品提供的稳定价值只有四点:
|
|
46
49
|
|
|
47
50
|
1. 一份有人批准、保留来源的项目合同;
|
|
48
51
|
2. 针对目录和任务的确定性上下文编译;
|
|
49
52
|
3. 同一合同面向多个 AI 消费者的一致投影和漂移检查。
|
|
53
|
+
4. 项目与不同 AI 编程工具之间一份双向、模型无关、可预检且不扩张人工权限的交换协议。
|
|
50
54
|
|
|
51
|
-
|
|
55
|
+
如果某项能力不能直接服务这四点,它默认不属于内核。
|
|
52
56
|
|
|
53
57
|
## 4. 固定内核
|
|
54
58
|
|
|
@@ -60,6 +64,7 @@ Frontend Project Context 是一个**落在项目中的、位于项目与 AI 编
|
|
|
60
64
|
4. **Context Renderer**:生成包含必要批准内容和来源引用的稳定 Context Bundle,任务约束不写回合同;
|
|
61
65
|
5. **Projection Boundary**:把同一合同投影为受管 Markdown、AGENTS 或 Ruler 输入,不重建完整工具适配矩阵;
|
|
62
66
|
6. **Conflict and Drift Check**:报告来源、合同和受管投影变化,不自动修复或静默提升规则。
|
|
67
|
+
7. **AI Exchange Boundary**:以公开、带版本的机器合同向外部 AI 输出 Context/Assist Bundle,并把 AI 建议收敛为无权限的 Action Plan 与只读 Review Bundle;所有持久动作仍需人对精确 action、ID 和路径明确批准。
|
|
63
68
|
|
|
64
69
|
自动 discovery 只是帮助项目首次接入的可选辅助,不是内核完整性的衡量标准。它可以保守地提出候选,但不承担理解所有前端技术和业务语义的责任。
|
|
65
70
|
|
|
@@ -90,6 +95,7 @@ Vue、React、uni-app、Vuex、Element UI、路由、租户和发布方式等都
|
|
|
90
95
|
8. 未知项目语义是待录入的项目数据,不自动成为产品缺陷。
|
|
91
96
|
9. 真实项目只能验证预先定义的能力,不能直接产生内核需求。
|
|
92
97
|
10. 新技术、新文件名或单个项目差异不能成为扩大 discovery 的充分理由。
|
|
98
|
+
11. AI 产生的 Action Plan、Review Bundle、推理或建议都不是 Project Contract、approval 或持久执行权限;必须通过 schema、baseline、impact 和人工精确授权边界。
|
|
93
99
|
|
|
94
100
|
## 7. v1 完成定义
|
|
95
101
|
|
|
@@ -112,6 +118,19 @@ v1 只有在以下闭环同时成立时才算产品完成:
|
|
|
112
118
|
|
|
113
119
|
该版本只扩展现有来源追溯、人工合同治理和漂移检查,没有改变第 2 至第 6 节的产品身份、内核、永久边界和不变量。
|
|
114
120
|
|
|
121
|
+
### 7.2 AI Exchange Boundary 完成条件
|
|
122
|
+
|
|
123
|
+
`1.2.0` 的双向桥梁扩展只有在以下闭环同时成立时才算完成:
|
|
124
|
+
|
|
125
|
+
1. 未初始化或已初始化项目都可以机器可读地查询协议能力、schema 和永久边界;
|
|
126
|
+
2. Context/Assist Bundle、Action Plan 和 Review Bundle 都有公开版本化 schema;
|
|
127
|
+
3. AI 建议可以通过结构化 Action Plan 复用现有原语完成确定性预检,不需要拼接 shell 字符串;
|
|
128
|
+
4. Review Bundle 完整展示 current/proposed、baseline、impact、blocker、item/source/path/projection 和 structured invocation;
|
|
129
|
+
5. 任何人工批准前的交换都保持只读,任何过期 baseline 都失败封闭;
|
|
130
|
+
6. 宿主 Agent 适配可替换,且不改变 Project Contract、scope、approval、ownership 或漂移语义。
|
|
131
|
+
|
|
132
|
+
完整实现合同以 [17-AI-EXCHANGE-BOUNDARY-DESIGN.md](./17-AI-EXCHANGE-BOUNDARY-DESIGN.md) 为准。
|
|
133
|
+
|
|
115
134
|
## 8. 真实项目与实验规则
|
|
116
135
|
|
|
117
136
|
`dtg-tmc-mobile` 和 `dtg-tmc-pc` 已经完成 B0。它们证明核心机制和首轮安全修补可以落在真实仓库结构中。
|
|
@@ -130,11 +149,12 @@ v1 只有在以下闭环同时成立时才算产品完成:
|
|
|
130
149
|
任何新增建议必须先归入且只能归入一类:
|
|
131
150
|
|
|
132
151
|
- **内核缺陷**:违反第 6 节不变量或第 7 节既定完成条件,可以进入设计;
|
|
152
|
+
- **宪法级产品演进**:现有稳定价值或内核无法完整表达经用户确认的产品问题,必须按第 11 节单独获得产品方向变更授权;
|
|
133
153
|
- **项目数据**:某项目自己的技术、目录、规则和业务语义,由 Project Contract 表达;
|
|
134
154
|
- **可选适配器**:减少某种来源导入或消费者输出成本,不改变内核;
|
|
135
155
|
- **外部工具职责**:继续采用现成工具,本项目拒绝实现。
|
|
136
156
|
|
|
137
|
-
|
|
157
|
+
无法证明属于内核缺陷,且没有按第 11 节获得宪法级产品演进授权的建议,不得进入核心实现。多个项目重复出现也只能提高审查优先级,不能绕过这一分类。
|
|
138
158
|
|
|
139
159
|
## 10. 当前事实职责与阶段停止规则
|
|
140
160
|
|
|
@@ -164,3 +184,15 @@ v1 只有在以下闭环同时成立时才算产品完成:
|
|
|
164
184
|
2. 第 10 节删除会随时间失效的具体“当前下一步”,把当前事实、授权和下一步的唯一记录职责交还给 `PROJECT_STATE.json`;
|
|
165
185
|
3. 产品身份、固定用户问题、内核、永久边界、不变量、需求分类和已有用户数据合同均未改变;
|
|
166
186
|
4. 本次修订不授权产品代码、Git、真实项目、自托管 Project Contract、看板、团队验收或发布工作。
|
|
187
|
+
|
|
188
|
+
## 13. `1.2.0` 双向桥梁修订记录
|
|
189
|
+
|
|
190
|
+
本次修订经用户于 `2026-09-09` 在确认“主要功能就是项目与 AI 之间桥梁,有必要可以扩大自研内核”后明确要求执行,变更如下:
|
|
191
|
+
|
|
192
|
+
1. 第 2 节把单向上下文输出补全为项目 → AI 与 AI → 项目的双向桥梁;
|
|
193
|
+
2. 第 3 节增加“模型无关、可预检、不扩张人工权限的交换协议”作为第四项稳定价值;
|
|
194
|
+
3. 第 4 节新增 AI Exchange Boundary 作为第七项自研内核;
|
|
195
|
+
4. 第 6 节新增 AI 建议不是真源、批准或持久权限的不变量;
|
|
196
|
+
5. 第 7.2 节新增 `1.2.0` 双向交换完成条件;
|
|
197
|
+
6. Provider、Agent Runtime、开发任务执行、Git、网络、自动批准、业务代码修改和框架识别白名单仍在永久边界外;
|
|
198
|
+
7. 本次授权只包含宪法修订、`1.1.0` 完整性修正和 `docs/17` 设计落盘,不自动授权 `1.2.0` 产品代码、真实项目、Git 写入或发布。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 权威说明:本文记录当前实现设计;如与 [00-PRODUCT-CONSTITUTION.md](./00-PRODUCT-CONSTITUTION.md) 冲突,以产品宪法为准。
|
|
4
4
|
|
|
5
|
-
> 状态:`1.
|
|
5
|
+
> 状态:`1.2.0 AI Exchange Boundary implemented locally; A-01 through A-63, B0 regressions, CLI, schemas, and release artifacts verified; 69 tests total`
|
|
6
6
|
>
|
|
7
7
|
> 前置真源:[03-FINAL-SOLUTION.md](./03-FINAL-SOLUTION.md)。本文不得重新引入 Agent Runtime、任务执行、Git 生命周期或完整多工具适配矩阵。
|
|
8
8
|
|
|
@@ -12,17 +12,23 @@ v1 是一个本地 Node.js CLI 和一组无第三方依赖的可复用模块,
|
|
|
12
12
|
|
|
13
13
|
```text
|
|
14
14
|
project-context init
|
|
15
|
+
project-context capabilities
|
|
16
|
+
project-context setup
|
|
15
17
|
project-context register
|
|
16
18
|
project-context propose
|
|
17
19
|
project-context review-source
|
|
18
20
|
project-context accept-source-change
|
|
19
21
|
project-context revise
|
|
20
22
|
project-context deprecate
|
|
23
|
+
project-context deprecate-source
|
|
21
24
|
project-context discover
|
|
22
25
|
project-context approve
|
|
23
26
|
project-context context
|
|
24
27
|
project-context publish
|
|
25
28
|
project-context check
|
|
29
|
+
project-context dashboard
|
|
30
|
+
project-context sync
|
|
31
|
+
project-context preflight
|
|
26
32
|
```
|
|
27
33
|
|
|
28
34
|
CLI 不提供 `run`、`generate-code`、`validate`、`retry`、`review-candidate`、`deliver` 或任何 Git 命令。
|
|
@@ -52,8 +58,9 @@ CLI 不提供 `run`、`generate-code`、`validate`、`retry`、`review-candidate
|
|
|
52
58
|
- proposal 为 `{ schemaVersion, projectId, sources, items }`,所有 item 必须保持 `proposed`;
|
|
53
59
|
- source lock 为 `{ schemaVersion, sources: [{ id, digest }] }`,只记录经过显式 register 或 approve 动作确认的本地来源;
|
|
54
60
|
- projection lock 为 `{ schemaVersion, projections[] }`,每项记录输出路径、target、目标 scope paths、合同/bundle/内容 digest、item IDs 和 renderer version;
|
|
55
|
-
-
|
|
61
|
+
- Contract reader 支持 schema 1/2,并只在成功废弃来源时延迟写 schema 2;proposal 和两个 lock 继续使用 schema 1;新投影使用 renderer version 3,读取器兼容 renderer version 1/2 的受管投影并要求显式重发;
|
|
56
62
|
- `contract.json` 中的本地 source digest 必须与 source lock 一致;lock 是上次人工批准时的确认点,`check` 不自动更新它。
|
|
63
|
+
- npm 包中的 `schemas/capabilities.schema.json`、`assist-bundle.schema.json`、`action-plan.schema.json` 和 `review-bundle.schema.json` 是版本化机器交换合同,不是项目 store 或第二真源。
|
|
57
64
|
|
|
58
65
|
## 4. Project Contract schema
|
|
59
66
|
|
|
@@ -287,6 +294,42 @@ project-context check --project PATH
|
|
|
287
294
|
|
|
288
295
|
`check` 不更新 digest、不写文件、不执行项目验证。
|
|
289
296
|
|
|
297
|
+
### 5.9 `setup`
|
|
298
|
+
|
|
299
|
+
```text
|
|
300
|
+
project-context setup --project PATH --id ID --name NAME [--output FILE] [--write] [--json]
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
`setup` 在内存中聚合现有 `init` 和 `discover`,输出 Assist Bundle schema 1。preview 保持全部文件字节不变;`--write` 只创建三个 store 和 create-only proposal,默认 proposal 路径为 `.project-context/setup.proposal.json`。JSON `artifacts` receipt 返回该路径、`preview | create | unchanged` action 和 persisted 状态。已初始化项目必须匹配原 id/name,partial store 和不同 proposal 均失败封闭。所有候选保持 proposed,`setup` 不批准、不发布,也不修改业务文件。
|
|
304
|
+
|
|
305
|
+
### 5.10 `sync`
|
|
306
|
+
|
|
307
|
+
```text
|
|
308
|
+
project-context sync --project PATH [--changed-path RELATIVE_PATH...] [--json]
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
`sync` 永远只读。它对全部 active 本地来源复用 `reviewSource/sourceImpact`,合并变化来源、direct/verification/override-dependent item、fallback、projection、pending 与 checker finding;即使无 source drift,pending item 和 projection-only finding 仍形成 `pending-review`/`projection-review` 工作单元。调用方 changed path 只经过现有路径策略和 Scope Compiler,不读取 Git、不自动登记来源。
|
|
312
|
+
|
|
313
|
+
### 5.11 `capabilities`
|
|
314
|
+
|
|
315
|
+
```text
|
|
316
|
+
project-context capabilities --project PATH [--json]
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
`capabilities` 在未初始化、partial 或已初始化项目中均只读可用。JSON 从实现常量派生 package/exchange protocol/schema version、公共命令、八类 Action Plan action、初始化状态、项目 ID/name 和永久 false 的 Provider、Agent Runtime、Git、network、dependency install、automatic approval、business-code write、apply-plan、scheduler、daemon 边界;它不创建 capability 配置文件。
|
|
320
|
+
|
|
321
|
+
### 5.12 `preflight`
|
|
322
|
+
|
|
323
|
+
```text
|
|
324
|
+
project-context preflight --project PATH --plan FILE [--json]
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
`preflight` 先按 Action Plan schema 1 严格拒绝未知字段、重复 action ID、未知 kind、权限字段、shell/Provider 字段和项目外路径,再验证 project ID 与 contract/source/projection 三个 snapshot。八类 action 分别复用现有 register、propose、review/accept、revise、deprecate、approve 与 publish preview;Review Bundle 完整列出 current/proposed、action baseline、item/source/path/projection impact、blocker、稳定分组和 `{ command, args }`。
|
|
328
|
+
|
|
329
|
+
整份 plan 中任一 action 不可审查时 bundle 状态为 `blocked`,但其他 action 仍完整展示。只有 `reviewable` action 才有 invocation,且 invocation 不含 `--write`、`--by` 或伪造身份。Action Plan 与 Review Bundle 均不写 store/projection/业务文件、不创建 approval,也不能被原命令当成授权;任一真实写入后,未执行 invocation 必须废弃并重新 `sync`/`preflight`。
|
|
330
|
+
|
|
331
|
+
Assist Bundle 默认只含摘要、digest、精确 ID、locator、`readTargets` 和稳定 `workUnits`,不含来源正文或无关 item 的完整值。超大影响显式标记并保留全部 ID,不静默截断。AI 可以据此准备既有安全命令,但规范写入仍要求人明确批准具体 ID 和路径。
|
|
332
|
+
|
|
290
333
|
## 6. 确定性编译规则
|
|
291
334
|
|
|
292
335
|
1. 只读取 `approved` item。
|
|
@@ -303,12 +346,17 @@ project-context check --project PATH
|
|
|
303
346
|
bin/project-context.mjs
|
|
304
347
|
src/project-context/
|
|
305
348
|
approver.mjs
|
|
349
|
+
assist.mjs
|
|
350
|
+
exchange-schema.mjs
|
|
351
|
+
exchange.mjs
|
|
306
352
|
authoring.mjs
|
|
307
353
|
checker.mjs
|
|
308
354
|
cli.mjs
|
|
309
355
|
contract-schema.mjs
|
|
310
356
|
canonical-json.mjs
|
|
311
357
|
discovery.mjs
|
|
358
|
+
dashboard-model.mjs
|
|
359
|
+
dashboard-renderer.mjs
|
|
312
360
|
errors.mjs
|
|
313
361
|
io.mjs
|
|
314
362
|
maintenance.mjs
|
|
@@ -324,6 +372,9 @@ test/project-context/
|
|
|
324
372
|
- `source-reader` 只读取和哈希来源。
|
|
325
373
|
- `authoring` 只构造/登记显式 source 和单 item proposal,不批准内容。
|
|
326
374
|
- `discovery` 产生 proposal,不接触 approved 状态。
|
|
375
|
+
- `assist` 只聚合现有 discovery、checker、maintenance 和 scope compiler 的确定性派生结果,不保存新 store。
|
|
376
|
+
- `exchange-schema` 严格验证并稳定规范化 Action Plan 与 Review Bundle schema,同时定义协议版本、action kind 与公共 capability 常量;所有项目路径仍复用 path policy。
|
|
377
|
+
- `exchange` 只聚合现有 preview/helper 为 capabilities 与 Review Bundle,不保存 plan/review、不执行 invocation。
|
|
327
378
|
- `scope-compiler` 是纯函数,不访问 Runtime。
|
|
328
379
|
- `projection-store` 是唯一可写目标项目文件的模块。
|
|
329
380
|
- 所有模块使用 Node.js 标准库;不安装依赖。
|
|
@@ -340,6 +391,8 @@ test/project-context/
|
|
|
340
391
|
4 unexpected internal failure
|
|
341
392
|
```
|
|
342
393
|
|
|
394
|
+
Action Plan 的新增稳定错误为:schema/project mismatch 退出 2;project snapshot、action conflict 与 action-specific preflight blocker 退出 1。能由既有 source/item/projection 错误精确表达的 blocker 继续保留原 code。
|
|
395
|
+
|
|
343
396
|
错误报告至少包含 code、message、相关 item/source/path 和建议的人工下一步。不得建议自动重试 Provider 或自动覆盖文件。
|
|
344
397
|
|
|
345
398
|
## 9. 程序明确禁止
|
|
@@ -364,6 +417,8 @@ test/project-context/
|
|
|
364
417
|
7. CLI 整合与完整 fixture 验收;
|
|
365
418
|
8. 通用 register/propose、approval 预检、renderer v2 和 A-15 至 A-20。
|
|
366
419
|
9. 来源 review/accept、同 ID revise、deprecate、pending reapproval、store 并发补强和 A-21 至 A-30。
|
|
420
|
+
10. setup/sync Assist Bundle 聚合、changed path 映射和 A-46 至 A-55。
|
|
421
|
+
11. capabilities、Action Plan/Review Bundle、只读 preflight、机器 schema 和 A-56 至 A-63。
|
|
367
422
|
|
|
368
423
|
任何一步都不需要真实项目任务或 Provider。
|
|
369
424
|
|
|
@@ -426,3 +481,22 @@ contract、proposal、source lock、projection lock schema 仍为 1。projection
|
|
|
426
481
|
- project 双 store 写入在提交前同时核对 contract、source lock 和 projection lock snapshot,并保持 lock-first 条件恢复。
|
|
427
482
|
|
|
428
483
|
A-40 至 A-45 和全部既有回归已通过,当前共 49 项。package 仍为 `1.0.0`;公开发布配置不新增 Provider、框架识别、source kind、projection target、调度、Git 管理或自动批准能力。
|
|
484
|
+
|
|
485
|
+
## 16. `1.1.0` Guided Onboarding 与 AI-assisted Reconciliation 实现结果
|
|
486
|
+
|
|
487
|
+
`1.1.0` 已按 [16-GUIDED-ONBOARDING-AND-AI-RECONCILIATION-DESIGN.md](./16-GUIDED-ONBOARDING-AND-AI-RECONCILIATION-DESIGN.md) 的冻结范围完成本地实现:
|
|
488
|
+
|
|
489
|
+
- 新增纯聚合 `assist.mjs`、公共 `setup` 与只读 `sync`;
|
|
490
|
+
- `setup` 复用原初始化和 discovery,写入仅限三个 store 与 create-only proposal;
|
|
491
|
+
- `sync` 复用 review、impact、checker 和 Scope Compiler,支持调用方显式 changed path;
|
|
492
|
+
- Assist Bundle schema 1 不进入 Contract,不保存来源正文或 AI 推理;
|
|
493
|
+
- 人类批准、baseline、projection ownership 和失败恢复继续由既有细粒度命令承担;
|
|
494
|
+
- Contract reader 1/2、proposal/source/projection lock schema 1、renderer 3 和 Dashboard View Model 3 均未变化。
|
|
495
|
+
|
|
496
|
+
A-46 至 A-55、两个新增 CLI 入口回归和全部既有测试已通过,当前共 61 项。验证只使用隔离临时 fixture,没有调用 Provider、网络、Git、child process、依赖安装或真实业务项目,也没有发布 `1.1.0`。
|
|
497
|
+
|
|
498
|
+
## 17. `1.2.0` AI Exchange Boundary 实现结果
|
|
499
|
+
|
|
500
|
+
[17-AI-EXCHANGE-BOUNDARY-DESIGN.md](./17-AI-EXCHANGE-BOUNDARY-DESIGN.md) 冻结的双向桥接协议已完成本地实现:新增机器可发现 capabilities、短生命周期 Action Plan、只读 preflight/Review Bundle、structured invocation 与四份公开 schema;八类 action 继续复用现有安全原语。
|
|
501
|
+
|
|
502
|
+
A-56 至 A-63 和全部既有回归共 69/69 通过。实现未增加 store migration、`apply-plan`、Provider、Agent Runtime、业务代码执行、Git、网络、依赖安装、scheduler、daemon、自动批准或自动修复;未执行打包、registry、Git push 或发布。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 权威说明:本文记录核心引擎验收;完整 v1 完成定义以 [00-PRODUCT-CONSTITUTION.md](./00-PRODUCT-CONSTITUTION.md) 第 7 节为准。
|
|
4
4
|
|
|
5
|
-
> 状态:`A-01 through A-
|
|
5
|
+
> 状态:`A-01 through A-63 plus B0-01/B0-02, CLI, machine schemas, and release artifacts passed locally; 69 tests total on 2026-09-09`
|
|
6
6
|
|
|
7
7
|
## 1. 验收原则
|
|
8
8
|
|
|
@@ -322,9 +322,9 @@
|
|
|
322
322
|
|
|
323
323
|
### A-39 发布候选边界
|
|
324
324
|
|
|
325
|
-
- package name 固定为 `frontend-project-context
|
|
325
|
+
- package name 固定为 `frontend-project-context`,当前本地实现版本为 `1.2.0`、公共 npm 已核验最新版本为 `1.0.1`,bin 为 `project-context`,Node.js 下限为 18,第三方 runtime dependency 为零;
|
|
326
326
|
- package metadata 声明 Apache-2.0,发布包包含官方 LICENSE 和 `Copyright 2026 Fushan` NOTICE;
|
|
327
|
-
- `files`
|
|
327
|
+
- `files` 白名单包含 bin、src、docs、examples、四份公开 machine schema、变更/升级说明和许可证文件,但不包含测试、PROJECT_STATE、RTK、自托管 `.project-context/` 或本地生成物;
|
|
328
328
|
- `prepack` 必须运行全量检查,bin 保持可执行;
|
|
329
329
|
- changelog、升级说明、最小 consumer 配置与只读 CI 模板同时存在,CI 不包含 `--write`、自动批准或发布命令;
|
|
330
330
|
- 本地 `npm pack` 清单与白名单一致,解包后 CLI help、临时项目 init/check 和确定性输出可运行;
|
|
@@ -346,3 +346,35 @@ A-39 是发布工件一致性验证,不扩展 Project Contract、CLI、schema
|
|
|
346
346
|
实现结果证明:missing active source 可经 register → revise/reapprove → deprecate-source → republish 恢复 clean;preview、source object baseline、署名、理由、引用阻断、schema 1 延迟迁移、deprecated provenance、checker/dashboard/context/publish 一致性和 lock-first 失败恢复均按冻结合同工作。测试只使用隔离临时 fixture,没有访问真实业务项目、Provider、网络、Git 或依赖安装,也没有修改业务源码。
|
|
347
347
|
|
|
348
348
|
当前通过事实为 A-01 至 A-45、B0-01/B0-02 和 CLI 共 49 项;A-40 至 A-45 没有删除、跳过或弱化既有验收。
|
|
349
|
+
|
|
350
|
+
## 13. `1.1.0` Guided Onboarding 与 AI-assisted Reconciliation 验收(已实现并通过)
|
|
351
|
+
|
|
352
|
+
[16-GUIDED-ONBOARDING-AND-AI-RECONCILIATION-DESIGN.md](./16-GUIDED-ONBOARDING-AND-AI-RECONCILIATION-DESIGN.md) 记录了最初以可选适配器形成、现已归入 AI Exchange Boundary 基础的 A-46 至 A-55:
|
|
353
|
+
|
|
354
|
+
- **A-46**:setup preview 确定性且零写入;显式写入只创建三个 store 与 create-only proposal;JSON 返回 proposal artifact receipt;
|
|
355
|
+
- **A-47**:setup 完全复用 discovery,支持同项目继续,拒绝项目不匹配、partial store 和 proposal 覆盖;
|
|
356
|
+
- **A-48**:sync 一次聚合全部变化来源、精确规则 ID 并集、原因、fallback 与 projection 影响;
|
|
357
|
+
- **A-49**:调用方 changed path 只经现有路径策略和 Scope Compiler 映射,目录型 file source 与 path source 都覆盖后代,不访问 Git、不自动登记来源;
|
|
358
|
+
- **A-50**:Assist Bundle 默认不含 source body、完整无关 Contract 或 Provider 请求,以 readTargets/workUnits 支持渐进读取;
|
|
359
|
+
- **A-51**:setup/sync 永不 accept、revise、deprecate、approve 或 publish,AI 候选继续受 schema、baseline、impact 和人工 exact-ID 批准约束;
|
|
360
|
+
- **A-52**:隔离 fixture 完成一次脚本化协议准备、一次人工集中批准、投影与 clean check 的首次接入闭环,不伪称真实 Host Agent Runtime 验收;
|
|
361
|
+
- **A-53**:多来源增量维护可在 baseline/并发失败后停止并重新 sync,不重放旧计划或覆盖并发状态;
|
|
362
|
+
- **A-54**:49 项既有测试全部不回归,schema/renderer/dashboard 版本不变,零 Provider、网络、Git、scheduler、daemon、dependency install、业务代码修改和真实项目访问。
|
|
363
|
+
- **A-55**:pending 与 projection-only 状态有完整内容、read target 和稳定工作单元。
|
|
364
|
+
|
|
365
|
+
实现 Gate 已满足:A-46 至 A-55 对应 10 项编号验收,另有 2 项独立 CLI setup/sync 回归;A-01 至 A-45、B0-01/B0-02、CLI 和发布工件没有删除、跳过或弱化,`npm run check` 共 61/61 通过。测试只使用隔离临时 fixture,未访问 Provider、网络、Git、依赖安装、真实业务项目或外部系统。
|
|
366
|
+
|
|
367
|
+
## 14. `1.2.0` AI Exchange Boundary 验收(已实现并通过)
|
|
368
|
+
|
|
369
|
+
[17-AI-EXCHANGE-BOUNDARY-DESIGN.md](./17-AI-EXCHANGE-BOUNDARY-DESIGN.md) 冻结的 A-56 至 A-63 已按本地实现逐项通过:
|
|
370
|
+
|
|
371
|
+
- **A-56 capability 可发现性**:未初始化与已初始化项目的 `capabilities` 确定性返回 package/exchange/schema/command/action/boundary;拒绝写入参数且不创建 store;
|
|
372
|
+
- **A-57 Action Plan schema**:合法计划稳定规范化并按 action ID 排序;未知字段/kind、重复 ID、越界路径、权限/Provider/shell 字段失败封闭;
|
|
373
|
+
- **A-58 原语复用**:八类 action 分别复用现有 register、propose、review/accept、revise、deprecate、approve、publish helper/preview,没有引入第二套 scope、source、item、impact 或 projection 解释器;
|
|
374
|
+
- **A-59 Review Bundle 完整性**:reviewable 与 blocked action 都保留 current/proposed、三个项目 snapshot、action baseline、item/source/path/projection 影响、blocker、稳定分组与 structured invocation;blocked action 不隐藏其他结果;
|
|
375
|
+
- **A-60 人工权限**:capabilities、Action Plan、preflight 和 Review Bundle 不改 store、proposal、projection 或业务文件,不产生 approval;invocation 不含 `--write` 或 `--by`;
|
|
376
|
+
- **A-61 baseline 与恢复**:contract/source/projection snapshot 和 item/source/proposal/projection 专属 baseline 变化均失败封闭;重新读取当前状态并 preflight 后可收敛,不重放旧计划;
|
|
377
|
+
- **A-62 机器 schema 一致性**:四份 JSON schema 覆盖实际 capabilities、Assist Bundle、Action Plan 与 Review Bundle fixture;npm 白名单包含 `schemas/` 且继续排除项目动态状态;
|
|
378
|
+
- **A-63 兼容与永久边界**:A-01 至 A-55、B0、CLI 和发布工件无回归;零 Provider、Agent Runtime、Git、network、child process、dependency install、scheduler、daemon、自动批准和业务代码修改。
|
|
379
|
+
|
|
380
|
+
实现 Gate 已满足:A-56 至 A-63 共 8 项新增验收,连同全部既有测试为 `npm run check` 69/69。验证只使用隔离临时 fixture;没有访问真实业务项目、Provider、网络或 Git,没有安装依赖、打包或发布。
|