frontend-project-context 1.0.0 → 1.0.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/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Changelog
2
2
 
3
- ## 1.0.0 — release candidate
3
+ ## 1.0.1 — release candidate
4
+
5
+ - 把 npm README 重写为面向使用者的中英双语安装、快速上手、工作流和命令入口。
6
+ - 修正 `bin` 路径规范化警告,补充真实 npm 主页和检索关键词。
7
+ - 从发布白名单移除仓库动态状态文件,避免包内固化发布前状态。
8
+ - 未修改产品运行逻辑、Contract、CLI 命令或兼容面。
9
+
10
+ ## 1.0.0 — 2026-09-08
4
11
 
5
12
  - 冻结 model-neutral Project Contract、来源追溯、scope compiler、Context Bundle 和受管投影边界。
6
13
  - 提供通用来源登记、四类 item、三类 scope、显式批准和知识维护闭环。
@@ -11,4 +18,4 @@
11
18
  - 以 `Copyright 2026 Fushan` 采用 Apache License 2.0,并把 LICENSE/NOTICE 纳入发布包。
12
19
  - A-01 至 A-45、B0-01/B0-02 与 CLI 共 49 项本地验收通过。
13
20
 
14
- 公开 npm 发布已获授权并固定为 public access;npmjs.org CLI 身份已验证,当前进入最终发布。
21
+ 已由 `fushanyx1` 发布到官方公共 npm;远端 `v1.0.0` 标签对应发布提交,registry tarball 完整性已独立核验。
package/README.md CHANGED
@@ -1,148 +1,317 @@
1
1
  # Frontend Project Context
2
2
 
3
- Frontend Project Context 是位于前端项目与 AI 编程工具之间的模型无关上下文层。
3
+ Keep AI coding guidance consistent with one human-approved, source-traceable project contract.
4
4
 
5
- [产品宪法](./docs/00-PRODUCT-CONSTITUTION.md)是产品身份、边界、完成条件和变更规则的唯一规范真源。
5
+ 用一份经过人工批准、来源可追溯的项目合同,让不同 AI 编程工具获得一致且不过期的项目上下文。
6
6
 
7
- 它把分散在设计资料、文档、配置、代码和团队约定中的项目知识,整理成一份有来源、有人负责批准的 `Project Contract`,再为不同 Coding Agent 生成一致的项目上下文,并检查规则漂移。
7
+ [English](#english) · [中文](#中文)
8
8
 
9
- ```text
10
- 项目事实与人工规范
11
- Project Contract(唯一真源)
12
- → Context Compiler
13
- AGENTS.md / Ruler / Kiro / 其他 Agent
14
- → Drift Check
9
+ ## English
10
+
11
+ ### Why use it?
12
+
13
+ AI coding tools often read only part of a repository. Important conventions may be scattered across documentation, configuration, source code, and team decisions. Frontend Project Context turns those explicit sources into a project-local `Project Contract`, then:
14
+
15
+ - selects the approved guidance that applies to a file or directory;
16
+ - renders focused context for existing coding agents;
17
+ - publishes managed Markdown, AGENTS, or Ruler-compatible projections;
18
+ - reports source, contract, and projection drift;
19
+ - keeps every persistent write and approval under explicit human control.
20
+
21
+ It does **not** call an AI provider, edit business code, manage Git, install dependencies automatically, or approve rules on its own.
22
+
23
+ ### Requirements
24
+
25
+ - Node.js 18 or newer
26
+ - A project whose context should live in the repository
27
+
28
+ ### Install
29
+
30
+ Pin it as a development dependency so local users and CI run the same version:
31
+
32
+ ```bash
33
+ npm install --save-dev frontend-project-context@1.0.1
34
+ ```
35
+
36
+ The package has zero runtime dependencies.
37
+
38
+ ### Quick start
39
+
40
+ Initialize the three project-local stores:
41
+
42
+ ```bash
43
+ npx project-context init \
44
+ --project . \
45
+ --id my-project \
46
+ --name "My Project" \
47
+ --write
48
+ ```
49
+
50
+ Register an explicit source:
51
+
52
+ ```bash
53
+ npx project-context register \
54
+ --project . \
55
+ --id source.package \
56
+ --kind file \
57
+ --path package.json \
58
+ --write
59
+ ```
60
+
61
+ Propose a scoped contract item. This creates a reviewable proposal; it does not approve it:
62
+
63
+ ```bash
64
+ npx project-context propose \
65
+ --project . \
66
+ --id policy.ui-copy \
67
+ --kind policy \
68
+ --subject ui.visible-copy \
69
+ --value required \
70
+ --statement "Use the approved visible-copy convention." \
71
+ --sources source.package \
72
+ --scope path-prefix \
73
+ --scope-path src \
74
+ --output .project-context/policy.ui-copy.proposal.json \
75
+ --write
15
76
  ```
16
77
 
17
- ## 产品核心
78
+ Approve only the item you reviewed:
79
+
80
+ ```bash
81
+ npx project-context approve \
82
+ --project . \
83
+ --proposal .project-context/policy.ui-copy.proposal.json \
84
+ --ids policy.ui-copy \
85
+ --by YOUR_NAME \
86
+ --write
87
+ ```
18
88
 
19
- - **Register / Discover**:登记项目明确提供的来源;自动发现只负责保守地提出接入候选,不尝试理解所有前端技术。
20
- - **Govern**:人类确认哪些内容是事实、规范或参考样例;AI 不能自行批准长期规则。
21
- - **Compile**:按目录范围和任务目标生成最小、可追溯的 Context Bundle。
22
- - **Project**:把同一合同投影到现有 AI 工具,而不是为每个模型维护一套手写规则。
23
- - **Check**:发现来源变化、合同冲突和生成文件漂移。
89
+ Compile context for a target and check for drift:
24
90
 
25
- ## 与现成工具的关系
91
+ ```bash
92
+ npx project-context context --project . --path src --locale en
93
+ npx project-context check --project .
94
+ ```
26
95
 
27
- - [Ruler](https://github.com/intellectronica/ruler) [Rulesync](https://github.com/dyoshikawa/rulesync) 已经覆盖多 Agent 规则分发,本项目不重建完整适配矩阵。
28
- - [Kiro Steering](https://kiro.dev/docs/steering/) 已经展示项目知识、规则和 Specs 的完整产品体验,本项目保持 Runtime 和模型中立。
29
- - [GitHub Spec Kit](https://github.com/github/spec-kit) 与 [OpenSpec](https://openspec.dev/) 负责规格驱动的功能开发流程,可以消费本项目上下文,但不属于本项目内核。
96
+ Generate the read-only governance dashboard:
30
97
 
31
- 本项目只在现有工具前面补一层:**从真实设计和代码中形成有来源、可审查、可按作用域编译的项目合同,并持续检查漂移。**
98
+ ```bash
99
+ npx project-context dashboard --project . > project-context-dashboard.html
100
+ ```
32
101
 
33
- ## 明确不做
102
+ The dashboard is a self-contained offline HTML file. The command writes only to stdout and does not open a browser or change the contract.
34
103
 
35
- - 不调用模型 Provider,也不实现 Coding Agent Runtime。
36
- - 不执行真实开发任务或自动修复代码。
37
- - 不管理 Git 分支、commit、merge、push、PR 或部署。
38
- - 不自动安装依赖或访问外部系统。
39
- - 不保存 candidate、DecisionRecord 或 DeliveryRecord。
40
- - 不复制 Kiro、Spec Kit、Ruler 等工具已有的能力。
104
+ ### What is created?
41
105
 
42
- ## 当前状态
106
+ Initialization creates:
43
107
 
44
108
  ```text
45
- 1.0.0-public-npm-release-ready
109
+ .project-context/
110
+ ├── contract.json
111
+ ├── sources.lock.json
112
+ └── projections.lock.json
46
113
  ```
47
114
 
48
- 核心引擎、通用 authoring、knowledge maintenance、只读治理看板和来源生命周期闭环均已完成本地、零第三方依赖实现。`0.9.0` 在不扩大产品边界的前提下加固路径/合同安全,并压缩 Context、CLI JSON、Dashboard 和启动上下文的重复内容。团队维护验收已在隔离 fixture 完整走通来源变化、接受、修订、废弃、重新批准、重新投影和最终检查;加上 A-39 A-40 A-45,A-01 A-45、2 B0 回归和 CLI 端到端测试共 49 项均已通过。
115
+ Commit these three stores. Also commit any managed projection your team intentionally publishes. Proposal files, temporary context output, dashboard HTML, caches, and tarballs should normally remain uncommitted.
49
116
 
50
- 正式发布准备已经把上述能力冻结为 `frontend-project-context@1.0.0` 候选包,公共稳定面为 `project-context` CLI。后续重大调整审查发现并已关闭一个发布前缺口:已登记来源被删除、搬迁或永久退役时,现在可用稳定 CLI 完成替代、修订、重新批准、旧来源废弃、重新投影和 clean check,无需手改内部 JSON。
117
+ ### Core workflow
51
118
 
52
- [Source Lifecycle Closure 设计与实现记录](./docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md) 已按冻结范围落地 Contract schema 2 的 active/deprecated source、显式 `deprecate-source` 命令和 A-40 至 A-45。schema 1 项目继续原样可读,只有首次成功废弃来源时才延迟升级。公开 npm 发布已经获得授权并固定到 `https://registry.npmjs.org/`,发布者 CLI 身份已验证,当前处于最终发布就态。
119
+ ```text
120
+ Explicit project sources
121
+ → reviewable proposals
122
+ → human-approved Project Contract
123
+ → scoped Context Bundle
124
+ → AGENTS / Markdown / Ruler projections
125
+ → drift check
126
+ ```
127
+
128
+ All commands are read-only unless that command explicitly includes `--write`. Source changes invalidate affected approvals; they are never accepted or reapproved automatically.
129
+
130
+ ### Common commands
131
+
132
+ | Command | Purpose |
133
+ | --- | --- |
134
+ | `init` | Create an empty project contract safely |
135
+ | `register` | Register a file, path, JSON pointer, or human decision |
136
+ | `discover` | Conservatively propose bootstrap candidates |
137
+ | `propose` | Author a fact, policy, reference, or validation description |
138
+ | `approve` | Explicitly approve selected proposal IDs |
139
+ | `context` | Compile approved context for one or more paths |
140
+ | `publish` | Write an owned AGENTS, Markdown, or Ruler projection |
141
+ | `check` | Detect stale sources, contracts, and projections |
142
+ | `dashboard` | Render the read-only governance dashboard |
143
+ | `review-source` | Review a changed source and its exact impact set |
144
+ | `accept-source-change` | Accept a pinned source digest and revoke affected approvals |
145
+ | `revise` / `deprecate` | Maintain contract items explicitly |
146
+ | `deprecate-source` | Retire an unreferenced source with an audit record |
147
+
148
+ Run `npx project-context --help` for the complete command syntax.
149
+
150
+ ### Documentation
151
+
152
+ - [Product constitution](./docs/00-PRODUCT-CONSTITUTION.md)
153
+ - [Program and CLI design](./docs/04-PROGRAM-DESIGN.md)
154
+ - [Acceptance contract](./docs/05-ACCEPTANCE-CONTRACT.md)
155
+ - [Installation and distribution](./docs/08-INSTALLATION-AND-DISTRIBUTION.md)
156
+ - [Knowledge maintenance](./docs/12-KNOWLEDGE-MAINTENANCE-CLOSURE-ROADMAP.md)
157
+ - [Read-only governance dashboard](./docs/13-READ-ONLY-GOVERNANCE-DASHBOARD-DESIGN.md)
158
+ - [Source lifecycle](./docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md)
159
+ - [Upgrade notes](./UPGRADING.md)
53
160
 
54
- ## 许可证
161
+ ## 中文
55
162
 
56
- 本项目采用 [Apache License 2.0](./LICENSE),版权声明见 [NOTICE](./NOTICE):`Copyright 2026 Fushan`。
163
+ ### 它解决什么问题?
57
164
 
58
- 本仓库已经使用同一 CLI 初始化 `.project-context/` 自托管真源。收录本次实现后,22 个精确来源和 20 个治理项均经显式批准,`check` 零 finding。根 `AGENTS.md` 继续由人维护,没有被生成投影接管。
165
+ AI 编程工具通常只读取仓库的一部分,而项目约定分散在文档、配置、源码和团队决定中。Frontend Project Context 把这些明确来源治理成项目内的 `Project Contract`,然后:
59
166
 
60
- 只读治理看板仍提供总览、知识、来源、scope、投影、finding 六个视图;默认输出确定性、自包含的离线 HTML,`--json` 输出短生命周期 View Model schema 3,并能双语解释 deprecated source 的负责人、时间与理由。HTML 只包含渲染所需内容,不再重复嵌入整份 View Model。
167
+ - 按文件或目录选择真正生效的已批准规则;
168
+ - 为现有 Coding Agent 生成精简且可追溯的上下文;
169
+ - 从同一合同生成受管 Markdown、AGENTS 或 Ruler 兼容投影;
170
+ - 检测来源、合同和投影是否过期;
171
+ - 所有持久写入与批准都必须由人显式触发。
61
172
 
62
- `0.7.0 — Knowledge Maintenance Closure` 已实现来源变化 review/accept、影响集撤销旧批准、同 ID revision、deprecation、pending reapproval、projection stale 和并发失败封闭。两个真实项目 B0 仍只作为既有证据;本次实现没有访问真实项目。
173
+ 它**不会**调用大模型、修改业务代码、管理 Git、自动安装依赖,也不会替人批准规则。
63
174
 
64
- ## 本地使用
175
+ ### 环境要求
176
+
177
+ - Node.js 18 或更高版本
178
+ - 希望把 AI 项目上下文随仓库共同维护的项目
179
+
180
+ ### 安装
181
+
182
+ 建议固定为开发依赖,让本地与 CI 使用同一版本:
65
183
 
66
184
  ```bash
67
- node bin/project-context.mjs init --project /path/to/project --id project-id --name "Project Name" --write
68
- node bin/project-context.mjs register --project /path/to/project --id source-package --kind file --path package.json --write
69
- node bin/project-context.mjs register --project /path/to/project --id source-src --kind path --path src --write
70
- node bin/project-context.mjs register --project /path/to/project --id source-team --kind human-decision --reference "decision:team" --write
71
- node bin/project-context.mjs propose --project /path/to/project --id policy-visible-copy --kind policy --subject ui.visible-copy --value required --statement "Use the approved visible-copy convention." --sources source-team --scope path-prefix --scope-path src --output .project-context/policy-visible-copy.proposal.json --write
72
- node bin/project-context.mjs approve --project /path/to/project --proposal .project-context/policy-visible-copy.proposal.json --ids policy-visible-copy --by NAME --write
73
- node bin/project-context.mjs discover --project /path/to/project
74
- node bin/project-context.mjs context --project /path/to/project --path src --locale zh-CN
75
- node bin/project-context.mjs publish --project /path/to/project --target agents --output AGENTS.md --write
76
- node bin/project-context.mjs check --project /path/to/project
77
- node bin/project-context.mjs dashboard --project /path/to/project > project-context-dashboard.html
78
- node bin/project-context.mjs dashboard --project /path/to/project --json
79
- ```
80
-
81
- 知识来源发生变化后的维护流程:
185
+ npm install --save-dev frontend-project-context@1.0.1
186
+ ```
187
+
188
+ 本包没有运行时第三方依赖。
189
+
190
+ ### 快速开始
191
+
192
+ 初始化三个项目内存储文件:
82
193
 
83
194
  ```bash
84
- node bin/project-context.mjs review-source --project /path/to/project --id source-package --json
85
- node bin/project-context.mjs accept-source-change --project /path/to/project --id source-package --expected-digest SHA256_FROM_REVIEW --affected-items ITEM_ID... --write
86
- node bin/project-context.mjs revise --project /path/to/project --id ITEM_ID --kind policy --subject SUBJECT --value NEW_VALUE --statement "NEW STATEMENT" --sources source-package --scope project --json
87
- node bin/project-context.mjs revise --project /path/to/project --id ITEM_ID --expected-item-digest SHA256_FROM_PREVIEW --kind policy --subject SUBJECT --value NEW_VALUE --statement "NEW STATEMENT" --sources source-package --scope project --write
88
- node bin/project-context.mjs approve --project /path/to/project --pending --ids ITEM_ID... --by NAME --write
89
- node bin/project-context.mjs publish --project /path/to/project --target agents --output AGENTS.md --write
90
- node bin/project-context.mjs check --project /path/to/project
195
+ npx project-context init \
196
+ --project . \
197
+ --id my-project \
198
+ --name "My Project" \
199
+ --write
91
200
  ```
92
201
 
93
- 来源已经搬迁或永久退役时,先登记替代 source、用 `revise` 和 `approve --pending` 移走全部当前引用,再执行:
202
+ 登记一个明确来源:
94
203
 
95
204
  ```bash
96
- node bin/project-context.mjs deprecate-source --project /path/to/project --id source-old --by NAME --rationale "Replaced by source-new." --json
97
- node bin/project-context.mjs deprecate-source --project /path/to/project --id source-old --expected-source-digest SHA256_FROM_PREVIEW --by NAME --rationale "Replaced by source-new." --write
98
- node bin/project-context.mjs publish --project /path/to/project --target agents --output AGENTS.md --write
99
- node bin/project-context.mjs check --project /path/to/project
205
+ npx project-context register \
206
+ --project . \
207
+ --id source.package \
208
+ --kind file \
209
+ --path package.json \
210
+ --write
100
211
  ```
101
212
 
102
- preview 中若 `blockingItems` 非空,必须先处理这些 proposed/approved 引用;命令不会级联改 item 或自动批准。需要退役 item 时,先运行 `deprecate` preview 取得 current item digest,再以同一命令增加 `--expected-item-digest ... --by NAME --rationale TEXT --write`。所有命令默认只读;`init`、`register`、保存 proposal、`accept-source-change`、`revise`、`deprecate`、`deprecate-source`、`approve` 和 `publish` 只有在自身显式包含 `--write` 时才会写文件。
213
+ 提出一条带作用域的合同项。这里只生成待审 proposal,不会自动批准:
103
214
 
104
- `context` 默认从 `[zh-CN] ...\n[en] ...` statement 中只选择中文主解释;可用 `--locale en` 选择英文,或 `--locale all` 保留双语原文。多条 `--path` 若得到相同知识集,只渲染一个 Targets 分组。`approve --json` 默认返回 digest 和 ID 摘要;只有确实需要完整 next Contract 时才使用 `--full-json`。
215
+ ```bash
216
+ npx project-context propose \
217
+ --project . \
218
+ --id policy.ui-copy \
219
+ --kind policy \
220
+ --subject ui.visible-copy \
221
+ --value required \
222
+ --statement "使用团队已经批准的界面文案约定。" \
223
+ --sources source.package \
224
+ --scope path-prefix \
225
+ --scope-path src \
226
+ --output .project-context/policy.ui-copy.proposal.json \
227
+ --write
228
+ ```
105
229
 
106
- 验证:
230
+ 人工审查后,只批准明确选中的 item:
107
231
 
108
232
  ```bash
109
- npm test
110
- npm run check
233
+ npx project-context approve \
234
+ --project . \
235
+ --proposal .project-context/policy.ui-copy.proposal.json \
236
+ --ids policy.ui-copy \
237
+ --by YOUR_NAME \
238
+ --write
111
239
  ```
112
240
 
113
- 发布候选与升级资料:
241
+ 为目标目录生成上下文,并检查漂移:
114
242
 
115
- - [正式发布准备](./docs/14-FORMAL-RELEASE-READINESS.md)
116
- - [变更记录](./CHANGELOG.md)
117
- - [升级说明](./UPGRADING.md)
118
- - [最小团队接入示例](./examples/README.md)
243
+ ```bash
244
+ npx project-context context --project . --path src --locale zh-CN
245
+ npx project-context check --project .
246
+ ```
119
247
 
120
- 检查或读取本仓库自身治理上下文:
248
+ 生成只读治理看板:
121
249
 
122
250
  ```bash
123
- node bin/project-context.mjs check --project .
124
- node bin/project-context.mjs context --project . --path . --path src/project-context --path docs --locale zh-CN
125
- node bin/project-context.mjs dashboard --project . > /tmp/frontend-project-context-dashboard.html
251
+ npx project-context dashboard --project . > project-context-dashboard.html
126
252
  ```
127
253
 
128
- 现行文档按以下顺序阅读:
254
+ 看板是一个可离线打开的自包含 HTML。命令只输出到 stdout,不会自动打开浏览器,也不会修改合同。
129
255
 
130
- 1. [产品宪法](./docs/00-PRODUCT-CONSTITUTION.md)
131
- 2. [当前状态](./PROJECT_STATE.json)
132
- 3. [产品核心](./docs/01-PRODUCT-CORE.md)
133
- 4. [市场与自研边界](./docs/02-MARKET-BOUNDARY.md)
134
- 5. [最终产品方案](./docs/03-FINAL-SOLUTION.md)
135
- 6. [v1 程序设计](./docs/04-PROGRAM-DESIGN.md)
136
- 7. [验收合同](./docs/05-ACCEPTANCE-CONTRACT.md)
137
- 8. [v1 authoring closure 设计与实现结果](./docs/11-V1-AUTHORING-CLOSURE-DESIGN.md)
138
- 9. [0.7.0 Knowledge Maintenance Closure 冻结设计与实现记录](./docs/12-KNOWLEDGE-MAINTENANCE-CLOSURE-ROADMAP.md)
139
- 10. [0.8.0 Read-only Governance Dashboard 冻结设计与实现记录](./docs/13-READ-ONLY-GOVERNANCE-DASHBOARD-DESIGN.md)
140
- 11. [1.0.0 正式发布准备](./docs/14-FORMAL-RELEASE-READINESS.md)
141
- 12. [1.0.0 Source Lifecycle Closure 设计与实现记录](./docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md)
256
+ ### 会生成什么?
257
+
258
+ 初始化只创建:
259
+
260
+ ```text
261
+ .project-context/
262
+ ├── contract.json
263
+ ├── sources.lock.json
264
+ └── projections.lock.json
265
+ ```
266
+
267
+ 这三个 store 应提交到仓库;团队明确生成的受管投影也应提交。proposal、临时上下文、看板 HTML、缓存和 tarball 通常不提交。
268
+
269
+ ### 核心流程
270
+
271
+ ```text
272
+ 项目明确提供的来源
273
+ → 可审查 proposal
274
+ → 人工批准的 Project Contract
275
+ → 按作用域编译的 Context Bundle
276
+ → AGENTS / Markdown / Ruler 投影
277
+ → 漂移检查
278
+ ```
279
+
280
+ 所有命令默认只读,只有当前命令显式包含 `--write` 才会持久写入。来源变化后,受影响的批准会失效,但工具不会自动接受变化或重新批准。
281
+
282
+ ### 常用命令
283
+
284
+ | 命令 | 用途 |
285
+ | --- | --- |
286
+ | `init` | 安全创建空项目合同 |
287
+ | `register` | 登记文件、路径、JSON Pointer 或人工决定 |
288
+ | `discover` | 保守提出首次接入候选 |
289
+ | `propose` | 创建 fact、policy、reference 或 validation-description |
290
+ | `approve` | 显式批准选中的 proposal ID |
291
+ | `context` | 为一个或多个路径编译已批准上下文 |
292
+ | `publish` | 写入仍归工具所有的 AGENTS、Markdown 或 Ruler 投影 |
293
+ | `check` | 检测来源、合同和投影漂移 |
294
+ | `dashboard` | 生成只读治理看板 |
295
+ | `review-source` | 查看来源变化及精确影响集 |
296
+ | `accept-source-change` | 接受固定摘要并撤销受影响批准 |
297
+ | `revise` / `deprecate` | 显式维护合同项 |
298
+ | `deprecate-source` | 用审计记录退役已无引用的来源 |
299
+
300
+ 运行 `npx project-context --help` 查看完整命令语法。
301
+
302
+ ### 深入文档
303
+
304
+ - [产品宪法](./docs/00-PRODUCT-CONSTITUTION.md)
305
+ - [程序与 CLI 设计](./docs/04-PROGRAM-DESIGN.md)
306
+ - [验收合同](./docs/05-ACCEPTANCE-CONTRACT.md)
307
+ - [安装与分发](./docs/08-INSTALLATION-AND-DISTRIBUTION.md)
308
+ - [知识维护闭环](./docs/12-KNOWLEDGE-MAINTENANCE-CLOSURE-ROADMAP.md)
309
+ - [只读治理看板](./docs/13-READ-ONLY-GOVERNANCE-DASHBOARD-DESIGN.md)
310
+ - [来源生命周期](./docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md)
311
+ - [升级说明](./UPGRADING.md)
142
312
 
143
- 历史任务执行 Harness 的结论和第一次真实业务任务只作为反例与证据保留:
313
+ ## License / 许可证
144
314
 
145
- - [历史原型](./docs/06-HISTORICAL-PROTOTYPE.md)
146
- - [真实任务证据](./docs/07-REAL-TASK-EVIDENCE.md)
315
+ Apache License 2.0 · `Copyright 2026 Fushan`
147
316
 
148
- 当前实现不调用 Provider、网络、shell Git,不执行项目验证,也不修改业务代码。历史 Harness 的源码、入口、测试和任务模板已从工作树清理,可通过 Git 历史追溯。真实项目报告只作为既有能力证据,不能自动产生新的内核需求。
317
+ See [LICENSE](./LICENSE) and [NOTICE](./NOTICE).
package/UPGRADING.md CHANGED
@@ -1,4 +1,10 @@
1
- # 升级到 1.0.0
1
+ # 升级说明
2
+
3
+ ## `1.0.0 → 1.0.1`
4
+
5
+ `1.0.1` 只修复 npm README、元数据和包文件白名单,不修改 CLI、Contract、lock、projection 或 Dashboard schema。更新依赖版本后无需迁移 `.project-context/`。
6
+
7
+ ## `0.9.0 → 1.0.0`
2
8
 
3
9
  从本地 `0.9.0` 升级到 `1.0.0` 不需要预先迁移 Project Contract、proposal、source lock 或 projection lock。Contract reader 同时接受 schema 1/2;既有 schema 1 项目保持原字节,只有首次成功执行 `deprecate-source --write` 时才把所有来源显式标为 active、目标标为 deprecated 并写成 schema 2。proposal、source lock 和 projection lock 继续使用 schema 1。Dashboard JSON 使用 schema 3,projection renderer 使用 3。
4
10
 
@@ -322,7 +322,7 @@
322
322
 
323
323
  ### A-39 发布候选边界
324
324
 
325
- - package name/version 固定为 `frontend-project-context@1.0.0`,bin 为 `project-context`,Node.js 下限为 18,第三方 runtime dependency 为零;
325
+ - package name 固定为 `frontend-project-context`,当前 patch version 为 `1.0.1`,bin 为 `project-context`,Node.js 下限为 18,第三方 runtime dependency 为零;
326
326
  - package metadata 声明 Apache-2.0,发布包包含官方 LICENSE 和 `Copyright 2026 Fushan` NOTICE;
327
327
  - `files` 白名单包含保持文档链接完整所需的 PROJECT_STATE/RTK 和许可证文件,但不包含测试、自托管 `.project-context/` 或本地生成物;
328
328
  - `prepack` 必须运行全量检查,bin 保持可执行;
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 权威说明:本文是支持性设计文档;当前唯一规范真源是 [00-PRODUCT-CONSTITUTION.md](./00-PRODUCT-CONSTITUTION.md)。
4
4
 
5
- 状态:`frontend-project-context@1.0.0` 公开 npm 发布已授权、完成配置并验证发布者 CLI 身份
5
+ 状态:`frontend-project-context@1.0.1` README/metadata patch 已完成本地验证并获得发布授权
6
6
  适用项目:`dtg-frontend-delivery-agent`
7
7
  本文只确定产品如何交付、安装、共享、升级和验证,不授权实现。
8
8
 
@@ -43,9 +43,9 @@ CI 安装项目锁定的依赖版本并执行只读检查。CI 不依赖机器
43
43
  面向 Node.js 前端项目,推荐支持包管理器的一次性运行方式,例如:
44
44
 
45
45
  ```bash
46
- npx frontend-project-context@1.0.0 init --project . --id PROJECT_ID --name "Project Name"
47
- pnpm dlx frontend-project-context@1.0.0 init --project . --id PROJECT_ID --name "Project Name"
48
- bunx frontend-project-context@1.0.0 init --project . --id PROJECT_ID --name "Project Name"
46
+ npx frontend-project-context@1.0.1 init --project . --id PROJECT_ID --name "Project Name"
47
+ pnpm dlx frontend-project-context@1.0.1 init --project . --id PROJECT_ID --name "Project Name"
48
+ bunx frontend-project-context@1.0.1 init --project . --id PROJECT_ID --name "Project Name"
49
49
  ```
50
50
 
51
51
  以上命令只在包实际发布后可用;当前未访问 registry。包名冻结为 `frontend-project-context`,可执行文件名为 `project-context`,CLI 合同以 [04-PROGRAM-DESIGN.md](./04-PROGRAM-DESIGN.md) 为准。
@@ -65,7 +65,7 @@ bunx frontend-project-context@1.0.0 init --project . --id PROJECT_ID --name "Pro
65
65
  初始化后,DTG 应作为项目开发依赖被锁定,例如:
66
66
 
67
67
  ```bash
68
- pnpm add -D frontend-project-context@1.0.0
68
+ pnpm add -D frontend-project-context@1.0.1
69
69
  ```
70
70
 
71
71
  选择项目内安装而不是全局安装,原因是:
@@ -187,13 +187,15 @@ IDE 插件可以在未来提供状态提示、冲突解释和可视化配置,
187
187
 
188
188
  ## 10. `1.0.0` 发布准备结论
189
189
 
190
- 本地 `1.0.0` 候选采用 `.project-context/`、`project-context` 可执行文件、Contract schema 1/2 reader、proposal/source lock/projection lock schema 1、renderer version 3、Dashboard View Model schema 3、受管 marker 和 04 所列退出码;authoring、knowledge maintenance、只读治理看板与 source lifecycle 均已闭合。发布层冻结如下:
190
+ 已发布的 `1.0.0` 采用 `.project-context/`、`project-context` 可执行文件、Contract schema 1/2 reader、proposal/source lock/projection lock schema 1、renderer version 3、Dashboard View Model schema 3、受管 marker 和 04 所列退出码;authoring、knowledge maintenance、只读治理看板与 source lifecycle 均已闭合。发布层冻结如下:
191
191
 
192
- - 包名/版本为 `frontend-project-context@1.0.0`;公共 npm 查询确认该名称当前不存在,发布目标固定为 `https://registry.npmjs.org/`、public access;
192
+ - 包名/版本为 `frontend-project-context@1.0.0`;已发布到 `https://registry.npmjs.org/`,保持 public access;
193
193
  - 开源许可证为 Apache-2.0,版权主体为 `Copyright 2026 Fushan`;LICENSE 与 NOTICE 必须随包分发;
194
194
  - `.project-context/contract.json`、两个 lock 和团队明确采用的受管投影应提交;proposal、dashboard HTML、tarball、node_modules 与临时 Context 不提交;
195
195
  - CI 模板只安装锁定依赖并运行项目脚本 `context:check`,不得写入、接受、批准或发布;
196
196
  - v1 不提供本地 MCP、IDE 插件、桌面应用或独立二进制;Node.js 18+ 是正式运行前提;
197
197
  - `0.9.0 → 1.0.0` 不预先迁移 store;Contract schema 1 只在首次成功 `deprecate-source --write` 时延迟升为 2,两个 lock 保持 1;renderer 1/2 仍可读并仅在显式 owned publish 时升级为 3。
198
198
 
199
- 详细工件、验证与发布步骤见 [14-FORMAL-RELEASE-READINESS.md](./14-FORMAL-RELEASE-READINESS.md)。用户已经授权 public npm、解除 private 安全闩、release commit/tag/push 和实际 publish;npmjs.org CLI 身份已经验证。
199
+ 详细工件、验证与发布记录见 [14-FORMAL-RELEASE-READINESS.md](./14-FORMAL-RELEASE-READINESS.md)public npmprivate 安全闩解除、release commit/tag/push 和实际 publish 均已完成;本次发布授权已经消耗。
200
+
201
+ `1.0.1` 是不改变运行逻辑的 patch:README 改为中英双语的用户向入口,包元数据移除 `bin` 规范化警告,并从发布白名单移除只属于源码仓库治理的 `PROJECT_STATE.json` 与 `RTK.md`。当前没有真实可公开访问的源码仓库,因此不伪造 `repository` 或 `bugs` URL。
@@ -1,6 +1,6 @@
1
1
  # 14 — `1.0.0` 正式发布准备
2
2
 
3
- > 状态:`public-npm-release-authorized-configured-authenticated-ready`
3
+ > 状态:`public-npm-published-verified`
4
4
 
5
5
  ## 1. 冻结候选
6
6
 
@@ -15,7 +15,7 @@
15
15
 
16
16
  ## 2. 包内容
17
17
 
18
- 发布白名单为 `bin/`、`src/`、`docs/`、`examples/`、README、CHANGELOG、UPGRADING、PROJECT_STATE、RTK、LICENSE、NOTICE 和 package metadataPROJECT_STATE 与 RTK 只用于保持包内文档链接完整,不成为消费项目的 Contract。测试、本仓库自托管 `.project-context/`、Git 文件、本地 dashboard、proposal 和 tarball 不进入包。
18
+ `1.0.0` 发布白名单为 `bin/`、`src/`、`docs/`、`examples/`、README、CHANGELOG、UPGRADING、PROJECT_STATE、RTK、LICENSE、NOTICE 和 package metadata。`1.0.1` 起移除只属于源码仓库动态治理的 PROJECT_STATE 与 RTK,避免把发布前状态固化到用户安装包;测试、本仓库自托管 `.project-context/`、Git 文件、本地 dashboard、proposal 和 tarball 仍不进入包。
19
19
 
20
20
  `prepack` 必须先运行 `npm run check`;bin 必须保持可执行。实际 pack 使用临时 cache 与输出目录验证,不修复用户全局 npm cache。
21
21
 
@@ -41,7 +41,7 @@ A-39 固定以下事实:package metadata 与文件白名单一致;Apache-2.0
41
41
  4. 使用解包后的 CLI 在临时项目完成 init 与 clean check;
42
42
  5. JSON、Markdown links 与 diff 校验。
43
43
 
44
- ## 6. 已授权的公开发布与当前阻断
44
+ ## 6. 已完成的公开发布
45
45
 
46
46
  用户已明确要求完成发布,本次按先前推荐选择 public npm:
47
47
 
@@ -50,7 +50,7 @@ A-39 固定以下事实:package metadata 与文件白名单一致;Apache-2.0
50
50
  3. `publishConfig.access` 固定 `public`;
51
51
  4. release commit/tag/push 与 `npm publish` 纳入本次发布工作流。
52
52
 
53
- 只读查询已确认 `frontend-project-context` 在公共 npm 返回 404,可作为首次发布名称;发布者随后在自己的终端完成认证,`npm whoami --registry=https://registry.npmjs.org/` 已验证为 `fushanyx1`。凭据、OTP token 未由本项目或自动化读取。
53
+ 发布者在自己的终端完成认证与第二因素验证,凭据、OTP 和 token 未由本项目或自动化读取。`frontend-project-context@1.0.0` `2026-09-08T11:02:04.396Z` `fushanyx1` 发布到官方公共 npm;registry 返回的 tarball SHA-1 为 `20142d17bff43d238231da684e2f11c62a82ce32`,与最终本地 pack 完全一致。远端 `v1.0.0` 标签指向发布提交 `94bd5d5b47c1356ef264a825120c0cfaf772b2c5`。
54
54
 
55
55
  ## 7. 后续审查产生的发布保持条件
56
56
 
@@ -58,4 +58,10 @@ A-39 固定以下事实:package metadata 与文件白名单一致;Apache-2.0
58
58
 
59
59
  Source Lifecycle Closure 发布保持条件已经本地关闭。2026-09-08 使用隔离临时 npm cache 重新执行第 5 节:prepack 49/49 通过,tarball 白名单为 47 个文件;解包后的 CLI help、临时项目 init 和 clean check 通过。最初一次 pack 仅因用户级 npm cache 中历史 root-owned 文件产生 `EPERM`,未修改全局权限,改用临时 cache 后成功,产品验收不受影响。
60
60
 
61
- registry/可见性决策和发布者认证已经完成。Apache-2.0 和包名不变;当前进入最终 A-39/pack、release commit、`v1.0.0` tag/pushpublic `npm publish`。
61
+ registry/可见性决策、发布者认证、A-39/pack、release commit、`v1.0.0` tag/pushpublic `npm publish` 和 registry 完整性复验均已完成。Apache-2.0、包名与冻结公共面不变;本次发布授权已经消耗。
62
+
63
+ ## 8. `1.0.1` README 与元数据修复
64
+
65
+ 首次发布后的 npm 页面审查确认,`1.0.0` README 把源码仓库治理记录放在安装入口之前,并保留 release-ready 候选状态;package metadata 还会触发 `bin[project-context]` 自动清理警告。用户已授权以 patch release 修复这些发布质量问题。
66
+
67
+ `1.0.1` 只重写中英双语用户向 README、规范化 `bin` 路径、补充真实 npm homepage/关键词、更新示例与验收,并从 tarball 移除仓库动态状态文件。当前唯一 Git remote 为非公开公司仓库,且未授权创建公共仓库,因此不设置虚假的 `repository` 或 `bugs`。产品运行逻辑、命令、schema、依赖和兼容面均不改变。
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 权威说明:本文只冻结首次公开发布前的来源生命周期修补范围。产品身份、内核、永久边界和不变量仍以 [00-PRODUCT-CONSTITUTION.md](./00-PRODUCT-CONSTITUTION.md) 为准;当前事实与授权以 [PROJECT_STATE.json](../PROJECT_STATE.json) 为准。
4
4
  >
5
- > 状态:`implemented-local-verified; implementation-authority-consumed; public-publication-authorized-authenticated`
5
+ > 状态:`implemented-local-verified; implementation-authority-consumed; public-publication-complete`
6
6
  >
7
7
  > 审查基线:产品宪法 `1.1.1`、PROJECT_STATE schema `39`、package `1.0.0`、Contract schema 1、A-01 至 A-39 加 B0/CLI 共 43 项本地通过。实现后 PROJECT_STATE schema 为 41,Contract reader 支持 1/2,A-01 至 A-45 加 B0/CLI 共 49 项本地通过。
8
8
 
package/docs/README.md CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  10. [14-FORMAL-RELEASE-READINESS.md](./14-FORMAL-RELEASE-READINESS.md)
50
50
 
51
- 冻结 `frontend-project-context@1.0.0` 的包边界、项目接入、CI、迁移与 A-39;source lifecycle 保持条件已关闭,public npm 已授权、完成配置并验证发布者身份。
51
+ 记录 `1.0.0` 正式发布与 `1.0.1` README/metadata patch:包边界、项目接入、CI、迁移、A-39、registry 完整性和不伪造公共仓库链接的决定。
52
52
 
53
53
  11. [15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md](./15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md)
54
54
 
@@ -6,6 +6,6 @@
6
6
  "context:dashboard": "project-context dashboard --project ."
7
7
  },
8
8
  "devDependencies": {
9
- "frontend-project-context": "1.0.0"
9
+ "frontend-project-context": "1.0.1"
10
10
  }
11
11
  }
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "frontend-project-context",
3
- "version": "1.0.0",
4
- "description": "Project-local, model-neutral context governance and compilation for AI coding tools.",
3
+ "version": "1.0.1",
4
+ "description": "Govern, compile, and verify project-local context for AI coding tools.",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public",
8
8
  "registry": "https://registry.npmjs.org/"
9
9
  },
10
10
  "license": "Apache-2.0",
11
+ "homepage": "https://www.npmjs.com/package/frontend-project-context",
11
12
  "type": "module",
12
13
  "files": [
13
14
  "bin/",
@@ -16,13 +17,11 @@
16
17
  "examples/",
17
18
  "CHANGELOG.md",
18
19
  "UPGRADING.md",
19
- "PROJECT_STATE.json",
20
- "RTK.md",
21
20
  "LICENSE",
22
21
  "NOTICE"
23
22
  ],
24
23
  "bin": {
25
- "project-context": "./bin/project-context.mjs"
24
+ "project-context": "bin/project-context.mjs"
26
25
  },
27
26
  "scripts": {
28
27
  "check": "node --check bin/project-context.mjs && node --test test/project-context test/release",
@@ -34,7 +33,10 @@
34
33
  },
35
34
  "keywords": [
36
35
  "ai-coding",
36
+ "coding-agent",
37
+ "agents-md",
37
38
  "context-governance",
38
- "project-contract"
39
+ "project-contract",
40
+ "drift-detection"
39
41
  ]
40
42
  }
@@ -1,176 +0,0 @@
1
- {
2
- "schemaVersion": 43,
3
- "status": "1.0.0-public-npm-release-ready",
4
- "product": {
5
- "name": "Frontend Project Context",
6
- "identity": "A project-local, model-neutral context governance and compilation layer between a repository and existing AI coding tools.",
7
- "promise": "Maintain one human-approved project contract with provenance, compile scoped context for existing AI tools, and detect source, contract, and projection drift.",
8
- "kernel": [
9
- "source-registration-and-provenance",
10
- "human-governed-project-contract",
11
- "scope-aware-context-compiler",
12
- "tool-projection-boundary",
13
- "conflict-and-drift-checking"
14
- ],
15
- "discoveryRole": "Optional conservative bootstrap; never a requirement to understand every frontend technology or project convention."
16
- },
17
- "hardBoundaries": {
18
- "humanAuthority": "Only an explicit human action may approve or change normative contract content.",
19
- "runtime": "No model Provider or agent loop.",
20
- "businessCode": "No user development task execution or application-code edits.",
21
- "git": "No Git state management.",
22
- "externalEffects": "No automatic dependency installation, network access, external mutation, or shell workflow execution.",
23
- "generatedFiles": "Only explicitly managed and still-owned projections may be overwritten after an explicit write action.",
24
- "conflicts": "Report stale sources and conflicts; never silently resolve or promote them.",
25
- "taskContext": "Ephemeral task constraints cannot expand authority or rewrite the persistent Contract."
26
- },
27
- "implementation": {
28
- "version": "1.0.0",
29
- "license": "Apache-2.0",
30
- "copyright": "Copyright 2026 Fushan",
31
- "entrypoint": "bin/project-context.mjs",
32
- "modules": "src/project-context/",
33
- "tests": "test/project-context/",
34
- "runtime": "node-standard-library-only",
35
- "dependenciesAdded": 0,
36
- "schemas": {
37
- "contract": 2,
38
- "contractReadable": [
39
- 1,
40
- 2
41
- ],
42
- "proposal": 1,
43
- "sourceLock": 1,
44
- "projectionLock": 1,
45
- "projectionRenderer": 3,
46
- "dashboardViewModel": 3
47
- },
48
- "closures": [
49
- "v1-authoring",
50
- "knowledge-maintenance",
51
- "read-only-governance-dashboard",
52
- "context-efficiency-and-governance-hardening",
53
- "formal-release-readiness",
54
- "source-lifecycle"
55
- ],
56
- "hardening": [
57
- "symlink-safe-parent-creation",
58
- "verification-kind-schema-semantics",
59
- "proposal-create-only-same-id-revision-guard",
60
- "strict-contract-value-json-compatibility",
61
- "grouped-multipath-context-rendering",
62
- "primary-locale-context-with-explicit-en-or-all",
63
- "compact-approval-json-receipt",
64
- "dashboard-derived-data-deduplication",
65
- "deprecated-source-io-suppression",
66
- "projection-lock-snapshot-precondition"
67
- ],
68
- "acceptance": {
69
- "command": "npm run check",
70
- "range": "A-01-through-A-45-plus-B0-01-B0-02-and-CLI",
71
- "testCount": 49,
72
- "status": "passed-source-lifecycle-closure-local",
73
- "teamMaintenance": {
74
- "date": "2026-09-08",
75
- "fixture": "isolated-temporary-project",
76
- "workflow": "source-change-review-accept-revise-deprecate-reapprove-republish-final-check",
77
- "result": "passed"
78
- },
79
- "releaseReadiness": {
80
- "date": "2026-09-08",
81
- "package": "frontend-project-context@1.0.0",
82
- "publicSurface": "project-context-cli",
83
- "packagePrivate": false,
84
- "registry": "https://registry.npmjs.org/",
85
- "access": "public",
86
- "license": "Apache-2.0",
87
- "result": "public-release-configured-authenticated-ready"
88
- }
89
- },
90
- "compatibility": "Contract schema 1 and 2 are readable. Existing schema-1 stores remain byte-stable until the first successful deprecate-source write lazily upgrades the Contract to schema 2; proposal and both locks remain schema 1. Renderer 1 and 2 projections remain readable and stale until explicit owned republish to renderer 3. Dashboard JSON consumers must opt into View Model schema 3; --full-json preserves the former verbose approval result on demand."
91
- },
92
- "planning": {
93
- "releaseBlocker": {
94
- "id": "source-lifecycle-closure",
95
- "classification": "kernel-defect",
96
- "targetPackageVersion": "1.0.0",
97
- "status": "implemented-local-verified-release-hold-resolved",
98
- "design": "docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md",
99
- "evidence": [
100
- "accept-source-change rejects missing or unreadable registered sources",
101
- "register rejects a changed locator under an existing source ID",
102
- "contract schema 1 has no safe source retirement state",
103
- "a missing, relocated, or retired source therefore requires direct store editing to return check to clean"
104
- ],
105
- "frozenScope": [
106
- "contract-schema-2-active-and-deprecated-source-lifecycle",
107
- "explicit-deprecate-source-command",
108
- "schema-1-lazy-compatibility-migration",
109
- "checker-dashboard-context-and-publish-lifecycle-consistency",
110
- "A-40-through-A-45"
111
- ],
112
- "result": {
113
- "date": "2026-09-08",
114
- "tests": 49,
115
- "contractSchemasReadable": [
116
- 1,
117
- 2
118
- ],
119
- "contractSchemaWrittenByLifecycle": 2,
120
- "dashboardViewModel": 3,
121
- "selfHostedContractSchema": 1,
122
- "selfHostedMigrationReason": "No self-hosted source is obsolete; schema 1 remains valid until a real source retirement requires lazy migration."
123
- }
124
- },
125
- "laterCandidates": [
126
- {
127
- "id": "ci-reconciliation-artifacts",
128
- "classification": "optional-adapter",
129
- "status": "candidate-after-release-decision",
130
- "boundary": "Reuse check and dashboard in external CI; do not add a scheduler, daemon, automatic acceptance, or approval."
131
- },
132
- {
133
- "id": "targeted-context-consumer-protocol",
134
- "classification": "optional-adapter",
135
- "status": "candidate-requires-separate-design-authorization",
136
- "boundary": "Coding Agent or IDE resolves candidate paths and consumes context --path; no Provider, Agent Runtime, business-code execution, or automatic authority expansion."
137
- }
138
- ]
139
- },
140
- "executionAuthority": {
141
- "providerCallsAllowed": false,
142
- "dependencyInstallationAllowed": false,
143
- "networkAllowed": true,
144
- "productImplementationAllowed": false,
145
- "realProjectBetaAllowed": false,
146
- "teamAcceptanceAllowed": false,
147
- "releaseWorkAllowed": true,
148
- "gitWriteOperationsAllowed": true,
149
- "note": "The user authorized completing the public release and npmjs.org CLI authentication is verified as fushanyx1. Public npm visibility, private:false, release verification, Git release commit/tag/push, and npm publication are in scope for this release workflow. Provider calls, dependency installation, real-project access, and product expansion remain unauthorized."
150
- },
151
- "sourceOfTruth": {
152
- "constitution": "docs/00-PRODUCT-CONSTITUTION.md",
153
- "startup": "RTK.md",
154
- "overview": "README.md",
155
- "documentationIndex": "docs/README.md",
156
- "programDesign": "docs/04-PROGRAM-DESIGN.md",
157
- "acceptanceContract": "docs/05-ACCEPTANCE-CONTRACT.md",
158
- "v1AuthoringClosureDesign": "docs/11-V1-AUTHORING-CLOSURE-DESIGN.md",
159
- "knowledgeMaintenanceClosureRoadmap": "docs/12-KNOWLEDGE-MAINTENANCE-CLOSURE-ROADMAP.md",
160
- "readOnlyGovernanceDashboardDesign": "docs/13-READ-ONLY-GOVERNANCE-DASHBOARD-DESIGN.md",
161
- "formalReleaseReadiness": "docs/14-FORMAL-RELEASE-READINESS.md",
162
- "sourceLifecycleClosureDesign": "docs/15-SOURCE-LIFECYCLE-CLOSURE-DESIGN.md",
163
- "license": "LICENSE",
164
- "notice": "NOTICE",
165
- "installationAndDistribution": "docs/08-INSTALLATION-AND-DISTRIBUTION.md",
166
- "historicalEvidence": [
167
- "docs/06-HISTORICAL-PROTOTYPE.md",
168
- "docs/07-REAL-TASK-EVIDENCE.md",
169
- "docs/09-B0-DTG-TMC-MOBILE.md",
170
- "docs/10-B0-DTG-TMC-PC.md"
171
- ]
172
- },
173
- "next": [
174
- "publish-frontend-project-context-1.0.0-to-public-npm"
175
- ]
176
- }
package/RTK.md DELETED
@@ -1,13 +0,0 @@
1
- # Frontend Project Context — 启动路由
2
-
3
- 按顺序读取:
4
-
5
- 1. `docs/00-PRODUCT-CONSTITUTION.md`:产品身份、内核、永久边界与治理规则;
6
- 2. `PROJECT_STATE.json`:当前版本、实现、授权和唯一下一步;
7
- 3. 仅在任务需要时读取 `PROJECT_STATE.json.sourceOfTruth` 指向的设计或证据。
8
-
9
- 当前摘要:`1.0.0-public-npm-release-ready`。v1 已冻结为 `frontend-project-context@1.0.0`,采用 Apache-2.0 与 `Copyright 2026 Fushan`;Source Lifecycle Closure 和全部 49 项本地验收通过。Contract reader 支持 schema 1/2,schema 1 只在首次成功 `deprecate-source --write` 时延迟升级为 2;proposal 与两个 lock 保持 1,projection renderer 为 3,Dashboard View Model 为 3。
10
-
11
- 根 `AGENTS.md` 由人工维护;`.project-context/` 是本仓库自托管真源;投影只是可重新生成的消费端文件。任何历史文档与宪法冲突时以宪法为准,任何动态状态与 `PROJECT_STATE.json` 冲突时以后者为准。
12
-
13
- 用户已授权完成公开发布;package 已固定 `private: false`、public access 和官方 npm registry,npmjs.org CLI 身份已验证。当前唯一下一步是完成最终 pack、release commit、`v1.0.0` tag/push 与 `npm publish`。Provider、依赖安装、真实业务项目访问和产品扩张仍未授权。