frontend-project-context 1.3.1 → 1.7.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.
Files changed (67) hide show
  1. package/CHANGELOG.md +51 -2
  2. package/README.md +156 -40
  3. package/UPGRADING.md +55 -1
  4. package/docs/04-PROGRAM-DESIGN.md +34 -4
  5. package/docs/05-ACCEPTANCE-CONTRACT.md +40 -3
  6. package/docs/08-INSTALLATION-AND-DISTRIBUTION.md +67 -22
  7. package/docs/14-FORMAL-RELEASE-READINESS.md +30 -1
  8. package/docs/18-BRANCH-AWARE-STAGED-CONTEXT-DESIGN.md +2 -2
  9. package/docs/19-POST-1.3.1-AI-TAKEOVER-EVIDENCE-AND-UPGRADE-PLAN.md +579 -0
  10. package/docs/20-PHASE-A-AI-TAKEOVER-AND-HEALTH-CLOSURE-DESIGN.md +535 -0
  11. package/docs/21-PHASE-B-EVIDENCE-FEEDBACK-PROTOCOL-DESIGN.md +347 -0
  12. package/docs/22-PHASE-C-TARGET-UPGRADE-PROTOCOL-DESIGN.md +398 -0
  13. package/docs/23-ADAPTIVE-BOUNDED-TASK-CONTEXT-DESIGN.md +432 -0
  14. package/docs/24-A130-REAL-HOST-TARGET-PROJECT-COMPARISON.md +210 -0
  15. package/docs/25-REAL-PROJECT-SOURCE-OF-TRUTH-MAINTENANCE-DESIGN.md +409 -0
  16. package/docs/26-A130-QUALITY-CLOSURE-AND-ADAPTIVE-DELIVERY-REPAIR-DESIGN.md +609 -0
  17. package/docs/README.md +38 -6
  18. package/docs/USER-AND-AI-OPERATION-MANUAL.md +840 -0
  19. package/examples/README.md +29 -2
  20. package/examples/package.json +6 -2
  21. package/migration-manifest.json +110 -0
  22. package/package.json +3 -2
  23. package/schemas/action-plan.schema.json +31 -3
  24. package/schemas/adaptive-context-bundle.schema.json +70 -0
  25. package/schemas/capabilities.schema.json +64 -18
  26. package/schemas/context-query.schema.json +69 -0
  27. package/schemas/coverage-audit.schema.json +32 -0
  28. package/schemas/evidence-bundle.schema.json +64 -0
  29. package/schemas/evidence-input.schema.json +82 -0
  30. package/schemas/host-promotion-evidence.schema.json +33 -0
  31. package/schemas/migration-manifest.schema.json +29 -0
  32. package/schemas/migration-plan.schema.json +32 -0
  33. package/schemas/project-status.schema.json +75 -0
  34. package/schemas/projection-lock.schema.json +48 -0
  35. package/schemas/review-bundle.schema.json +3 -3
  36. package/schemas/routing-index.schema.json +58 -0
  37. package/schemas/truth-reconciliation-input.schema.json +60 -0
  38. package/schemas/truth-reconciliation-review-bundle.schema.json +155 -0
  39. package/schemas/upgrade-assessment.schema.json +48 -0
  40. package/schemas/upgrade-result-bundle.schema.json +35 -0
  41. package/src/project-context/a130-evaluation.mjs +91 -0
  42. package/src/project-context/adaptive-context-schema.mjs +392 -0
  43. package/src/project-context/adaptive-context.mjs +547 -0
  44. package/src/project-context/ai-entry.mjs +320 -0
  45. package/src/project-context/assist.mjs +4 -2
  46. package/src/project-context/capabilities.mjs +62 -17
  47. package/src/project-context/checker.mjs +24 -6
  48. package/src/project-context/cli.mjs +113 -3
  49. package/src/project-context/contract-schema.mjs +30 -16
  50. package/src/project-context/dashboard-model.mjs +4 -4
  51. package/src/project-context/dashboard-renderer.mjs +3 -3
  52. package/src/project-context/discovery.mjs +13 -8
  53. package/src/project-context/evidence-schema.mjs +209 -0
  54. package/src/project-context/evidence.mjs +99 -0
  55. package/src/project-context/exchange-schema.mjs +23 -12
  56. package/src/project-context/exchange.mjs +26 -4
  57. package/src/project-context/maintenance.mjs +4 -4
  58. package/src/project-context/migration-manifest.mjs +168 -0
  59. package/src/project-context/project-status.mjs +157 -0
  60. package/src/project-context/projection-store.mjs +8 -1
  61. package/src/project-context/renderer.mjs +75 -1
  62. package/src/project-context/source-reader.mjs +63 -30
  63. package/src/project-context/task-context.mjs +14 -2
  64. package/src/project-context/truth-reconciliation-schema.mjs +488 -0
  65. package/src/project-context/truth-reconciliation.mjs +543 -0
  66. package/src/project-context/upgrade-schema.mjs +219 -0
  67. package/src/project-context/upgrade.mjs +494 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 权威说明:本文记录当前实现设计;如与 [00-PRODUCT-CONSTITUTION.md](./00-PRODUCT-CONSTITUTION.md) 冲突,以产品宪法为准。
4
4
 
5
- > 状态:`1.3.1 Receipt/Bundle binding and consumer pins repair implemented locally; A-01 through A-76 pass 82/82; release not authorized`
5
+ > 状态:`1.6.0 Target Upgrade Protocol implemented locally; A-01 through A-114 pass 120/120; release not authorized`
6
6
  >
7
7
  > 前置真源:[03-FINAL-SOLUTION.md](./03-FINAL-SOLUTION.md)。本文不得重新引入 Agent Runtime、任务执行、Git 生命周期或完整多工具适配矩阵。
8
8
 
@@ -13,6 +13,7 @@ v1 是一个本地 Node.js CLI 和一组无第三方依赖的可复用模块,
13
13
  ```text
14
14
  project-context init
15
15
  project-context capabilities
16
+ project-context evidence
16
17
  project-context setup
17
18
  project-context register
18
19
  project-context propose
@@ -60,7 +61,7 @@ CLI 不提供 `run`、`generate-code`、`validate`、`retry`、`review-candidate
60
61
  - projection lock 为 `{ schemaVersion, projections[] }`,每项记录输出路径、target、目标 scope paths、合同/bundle/内容 digest、item IDs 和 renderer version;
61
62
  - Contract reader 支持 schema 1/2,并只在成功废弃来源时延迟写 schema 2;proposal 和两个 lock 继续使用 schema 1;新投影使用 renderer version 3,读取器兼容 renderer version 1/2 的受管投影并要求显式重发;
62
63
  - `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 或第二真源。
64
+ - npm 包中的 capabilities、Evidence Input/Bundle、Assist/Action/Review Bundle 与 staged-context JSON schema 是版本化机器交换合同,不是项目 store 或第二真源。
64
65
 
65
66
  ## 4. Project Contract schema
66
67
 
@@ -316,7 +317,7 @@ project-context sync --project PATH [--changed-path RELATIVE_PATH...] [--json]
316
317
  project-context capabilities --project PATH [--json]
317
318
  ```
318
319
 
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
+ `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、telemetry、self-update、automatic evidence upload 边界;它不创建 capability 配置文件。
320
321
 
321
322
  ### 5.12 `preflight`
322
323
 
@@ -330,6 +331,14 @@ project-context preflight --project PATH --plan FILE [--json]
330
331
 
331
332
  Assist Bundle 默认只含摘要、digest、精确 ID、locator、`readTargets` 和稳定 `workUnits`,不含来源正文或无关 item 的完整值。超大影响显式标记并保留全部 ID,不静默截断。AI 可以据此准备既有安全命令,但规范写入仍要求人明确批准具体 ID 和路径。
332
333
 
334
+ ### 5.13 `evidence`
335
+
336
+ ```text
337
+ project-context evidence --project PATH --input FILE [--json]
338
+ ```
339
+
340
+ `evidence` 只读取项目内普通 JSON 输入、现有 Project Context store 与 AI Entry,生成 Evidence Bundle schema 1 到 stdout。Evidence Input schema 1 严格限制枚举、单行 summary、数组数量、artifact `kind + sha256` 结构与 32 KiB 规范 UTF-8 预算;Bundle 只保留最小治理健康、协议/schema 版本、永久 false 边界和排除自身计算的 digest,总量上限 48 KiB,不截断。输出按结构排除项目身份、路径、Contract/source 正文、日志和凭据;自由文本永远标记 `human-review-required`。命令无 output/upload/write 参数,不保存、上传、执行复现或晋升结论。
341
+
333
342
  ## 6. 确定性编译规则
334
343
 
335
344
  1. 只读取 `approved` item。
@@ -420,6 +429,7 @@ Action Plan 的新增稳定错误为:schema/project mismatch 退出 2;projec
420
429
  10. setup/sync Assist Bundle 聚合、changed path 映射和 A-46 至 A-55。
421
430
  11. capabilities、Action Plan/Review Bundle、只读 preflight、机器 schema 和 A-56 至 A-63。
422
431
  12. Task Context Plan/Stage Receipt、字节预算 Stage Context Bundle、只读 integration review 和 A-64 至 A-73。
432
+ 13. 只读 Evidence Feedback Protocol、capabilities/exchange 3、两份 evidence schema 和 A-91 至 A-100。
423
433
 
424
434
  任何一步都不需要真实项目任务或 Provider。
425
435
 
@@ -518,4 +528,24 @@ A-64 至 A-73 与全部旧回归现有 79 项测试仍全部通过。实现不
518
528
 
519
529
  [18-BRANCH-AWARE-STAGED-CONTEXT-DESIGN.md](./18-BRANCH-AWARE-STAGED-CONTEXT-DESIGN.md) 第 18 节冻结的补丁已完成本地实现:`stage-context` 与 `integration-review` 接受可重复 `--receipt-bundle`,严格验证 Stage Context Bundle schema 1、项目内路径、预算、自身 digest 与规范字节数;随后按 plan 依赖顺序,以 bundle 的 `changedPaths` 和已经验证的前序 receipt 重建每个输入 Bundle。只有 project/task/stage、plan、三个 snapshot、规范内容和 `inputBundleDigest` 全部匹配,且 completed receipt 未绑定 blocked bundle,receipt 才能解锁后续 stage 或进入可审查集成结果。
520
530
 
521
- 缺失、重复、多余、错配、篡改、过期 baseline、blocked bundle、缺失中间 bundle 和绕过传递依赖均返回冻结的稳定 finding 并 blocked。A-74 至 A-76 与 A-01 至 A-73、B0、CLI、machine schema 和发布工件共 82/82 通过。package 与消费者 pin 为 `1.3.1`;四份 task/bundle schema 和所有 store 版本不变,仍为零第三方依赖、只读、无 Provider/Agent Runtime/Git/网络/任务执行。Git 与公开发布未授权。
531
+ 缺失、重复、多余、错配、篡改、过期 baseline、blocked bundle、缺失中间 bundle 和绕过传递依赖均返回冻结的稳定 finding 并 blocked。A-74 至 A-76 与 A-01 至 A-73、B0、CLI、machine schema 和发布工件共 82/82 通过。package 与消费者 pin 为 `1.3.1`;四份 task/bundle schema 和所有 store 版本不变,仍为零第三方依赖、只读、无 Provider/Agent Runtime/Git/网络/任务执行。`frontend-project-context@1.3.1` 已公开发布,候选标签、registry 字节一致性与安装后 CLI 已独立核验。
532
+
533
+ ## 20. `1.4.0` AI Takeover & Health Closure 实现结果
534
+
535
+ [20-PHASE-A-AI-TAKEOVER-AND-HEALTH-CLOSURE-DESIGN.md](./20-PHASE-A-AI-TAKEOVER-AND-HEALTH-CLOSURE-DESIGN.md) 冻结的实现已完成:新增只读 `status`、Project Status schema 1、受管 AI Entry 区域、`publish-entry` / `remove-entry`、Projection Lock schema 1/2 reader 与首次 entry write 的延迟 schema-2 迁移。`checkProject`、`sync` work unit、Scope Compiler 与既有 lock-first/条件恢复原语均被直接复用,未建第二套 checker、scanner 或文件 patch 框架。
536
+
537
+ Exchange Protocol、capabilities、Action Plan 与 Review Bundle 升为 schema 2,新增 `publish-ai-entry` / `remove-ai-entry` 两类无权 action,同时保留 schema-1 Action Plan reader。包内新增 projection-lock 与 migration-manifest 公开 schema 及 `migration-manifest.json`。Contract/source/proposal、Assist Bundle 与 staged-context 合同不迁移。
538
+
539
+ A-77 至 A-90 新增 14 项顶层验收,连同既有 82 项回归共 96/96 通过。验收只使用隔离临时 fixture;未访问真实 Host/目标项目、Provider、网络或产品内 Git,未执行业务任务。npm 发布、Git 写入与真实 Host 验证仍需单独授权。
540
+
541
+ ## 21. `1.5.0` Evidence Feedback Protocol 实现结果
542
+
543
+ [21-PHASE-B-EVIDENCE-FEEDBACK-PROTOCOL-DESIGN.md](./21-PHASE-B-EVIDENCE-FEEDBACK-PROTOCOL-DESIGN.md) 的冻结合同已完成本地实现:新增只读 `evidence`、Evidence Input/Bundle schema 1、capabilities schema 3、Exchange Protocol 3 和 `automaticEvidenceUpload: false`。相同输入与状态产生逐字节相同 bundle;uninitialized、partial、invalid、attention、conflict、clean 都可零写入采样;观察结果与治理健康保持分离。
544
+
545
+ A-91 至 A-100 新增 10 项顶层验收,连同原 96 项回归共 106/106 通过。Contract、source/projection lock、proposal、Action Plan、Review Bundle、Project Status、Assist Bundle 与 staged-context schema 均未迁移。migration manifest 的本版本 writes 为空、rollback class 为 package-only,并保留从 1.3.1 直达时继承的 AI Entry/projection-lock 延迟迁移说明。未访问真实项目、Provider、网络、Git,未打包或发布。
546
+
547
+ ## 22. `1.6.0` Target Upgrade Protocol 实现结果
548
+
549
+ [22-PHASE-C-TARGET-UPGRADE-PROTOCOL-DESIGN.md](./22-PHASE-C-TARGET-UPGRADE-PROTOCOL-DESIGN.md) 的冻结合同已完成本地实现:新增永久只读 `upgrade-check`、`upgrade-plan` 与默认 preview/显式 `--write` 的 `upgrade-apply`;新增严格、自校验的 Migration Manifest schema 2、Upgrade Assessment/Migration Plan/Upgrade Result Bundle schema 1;capabilities 与 Exchange Protocol 升至 4,Action Plan/Review Bundle 仍为 2。
550
+
551
+ 每份 plan 绑定 manifest、assessment、三份 store snapshot 和一个具体受管目标的 before digest,只展示一个已编译工作单元。健康基线通过零写入 `verify-complete` 收敛;旧 renderer 只在所有权仍可信时复用现有 AI Entry/projection CAS、原子替换与条件恢复。A-101 至 A-114 新增 14 项顶层验收,连同原 106 项回归共 120/120 通过。实现没有包管理器、Git、网络、项目测试、业务代码写入、自动批准、自动升级/回滚或整体升级完成声称;未打包、发布或访问真实目标项目。
@@ -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-76 plus B0-01/B0-02, CLI, machine schemas, and release artifacts passed locally; 82 tests total. Local version is 1.3.1; public npm latest remains 1.3.0 pending separate release authority.`
5
+ > 状态:`A-01 through A-143, A-130R, A-130D-01 through A-130D-32, A-130T-01 through A-130T-10, protocol regressions, B0-01/B0-02, CLI, machine schemas, and release artifacts passed locally; 195 tests total. Bounded Host/Provider revalidation has not run and is not authorized. Public npm latest remains independently verified at 1.6.0; local 1.7.0 is release-blocked.`
6
6
 
7
7
  ## 1. 验收原则
8
8
 
@@ -396,7 +396,7 @@ A-39 是发布工件一致性验证,不扩展 Project Contract、CLI、schema
396
396
 
397
397
  实现 Gate 已满足:A-64 至 A-73 新增 10 项编号验收,连同全部旧回归为 `npm run check` 79/79。实现验收只使用隔离临时 fixture,没有访问真实业务项目、Provider 或产品内 Git,没有执行任务/测试、产生新 store 或自动晋升决定。独立发布流程随后完成候选打包、公开 npm 发布、registry 安装与工件一致性复验;发布后发现 tarball 中 README/示例仍固定 `1.2.0`,运行时不受影响,仓库已修正为 `1.3.0`,补丁发布与团队试用均未授权。
398
398
 
399
- ## 16. `1.3.1` Receipt Binding 与 Consumer Pins 合并修复验收(已冻结)
399
+ ## 16. `1.3.1` Receipt Binding 与 Consumer Pins 合并修复验收(已发布并通过)
400
400
 
401
401
  `1.3.0` 的 79 项现有测试仍全绿,但发布后审查证明,正式 `stage-context`/`integration-review` 路径未将 receipt `inputBundleDigest` 与对应 Stage Context Bundle 重建结果核对;伪造 digest 可以在无 finding 时解锁下一 stage。因此 A-69/A-72 的原测试不足以证明正式调用链满足冻结语义。
402
402
 
@@ -406,4 +406,41 @@ A-39 是发布工件一致性验证,不扩展 Project Contract、CLI、schema
406
406
  - **A-75**:篡改 bundle 字段、自身 digest、identity、stage、plan/snapshot baseline、bundle status 或多级依赖链均失败封闭,完整成对链可确定性恢复;
407
407
  - **A-76**:`--receipt-bundle` 保持只读且不创建 task store,四份 schema/store 版本不变,package/README/example/release test 统一到 `1.3.1`,不弱化 A-01 至 A-73。
408
408
 
409
- 完整 Gate 已满足:A-01 至 A-76、B0-01/B0-02、CLI 与发布工件共 `82/82`。正式 CLI 路径已覆盖 receipt/bundle 精确配对、严格工件验证、自身 digest、确定性重建、篡改与过期 baseline,以及完整/不完整多级依赖链;只读与 schema/store 兼容性继续成立。详细协议以 [18-BRANCH-AWARE-STAGED-CONTEXT-DESIGN.md](./18-BRANCH-AWARE-STAGED-CONTEXT-DESIGN.md) 第 18 节为准。实现授权已消耗,Git 与公开发布未授权。
409
+ 完整 Gate 已满足:A-01 至 A-76、B0-01/B0-02、CLI 与发布工件共 `82/82`。正式 CLI 路径已覆盖 receipt/bundle 精确配对、严格工件验证、自身 digest、确定性重建、篡改与过期 baseline,以及完整/不完整多级依赖链;只读与 schema/store 兼容性继续成立。详细协议以 [18-BRANCH-AWARE-STAGED-CONTEXT-DESIGN.md](./18-BRANCH-AWARE-STAGED-CONTEXT-DESIGN.md) 第 18 节为准。随后经独立发布授权完成 `v1.3.1`、公共 npm 发布、registry 字节一致性与安装冒烟验证;发布授权已消耗。
410
+
411
+ ## 17. `1.4.0` AI Takeover & Health Closure 验收(已本地实现并通过)
412
+
413
+ `docs/20` 冻结的 A-77 至 A-90 已全部落为独立顶层测试,覆盖 uninitialized/partial/invalid/initialized 状态、AI Entry preview/create/update/remove、区域外字节保留、marker/digest 所有权、同路径 source drift、Projection Lock 1/2 延迟迁移、CAS/条件恢复、Exchange 2、manifest、setup 收口与不继承对话的 Host fixture。
414
+
415
+ 完整 `npm run check` 结果为 96/96:新增 14 项,既有 82 项无删减、跳过或弱化。生产源码仍为零第三方依赖,无 Provider、Agent Runtime、Git、网络、dependency install、telemetry、self-update、业务代码写入、测试执行、scheduler 或 daemon。`status.health: clean` 只证明 Project Context 治理层健康。
416
+
417
+ ## 18. `1.5.0` Evidence Feedback Protocol 验收(已本地实现并通过)
418
+
419
+ `docs/21` 冻结的 A-91 至 A-100 已全部落为独立顶层测试:严格输入与隐私载体拒绝、确定性 bundle/digest、六种 Project Context 状态零写入采样、项目身份与正文结构排除、32/48 KiB 规范 UTF-8 预算、只记录不执行的 reproduction、永久人工转交、Exchange/capabilities 3、package-only migration manifest 和永久边界回归。
420
+
421
+ 完整 `npm run check` 结果为 106/106:新增 10 项,既有 96 项无删除、跳过或弱化。输出永远是 `human-review-required`,没有 upload、destination、write、Provider、Agent Runtime、Git、网络、dependency install、telemetry、业务代码写入、测试执行、scheduler 或 daemon。验收只使用隔离临时 fixture;真实项目、打包与发布未授权也未执行。
422
+
423
+ ## 19. `1.6.0` Target Upgrade Protocol 验收(已本地实现并通过)
424
+
425
+ `docs/22` 冻结的 A-101 至 A-114 已全部落为独立顶层测试:Manifest schema 2 严格性与运行时 registry 绑定、三个精确历史基线、初始化/健康阻断、Assessment 确定性、单步 Plan、preview/显式写、assessment/plan/target CAS、所有权与 renderer、注入失败/条件恢复、短期协议兼容分类、三类 rollback 语义、context 隔离、capabilities/exchange 4 及端到端 Host 边界。
426
+
427
+ 完整 `npm run check` 结果为 120/120:新增 14 项,既有 106 项无删除、跳过或弱化。验证只使用隔离临时 fixture;生产源码仍无第三方依赖、Provider、Agent Runtime、包管理器、Git、网络、项目测试执行、业务代码写入、自动批准、自动升级、自动回滚或发布行为。`coreMigration: complete` 仍固定要求 Host 完成 dependency/lockfile、项目测试或 CI 与独立新窗口验收。
428
+
429
+ ## 20. `1.7.0` Adaptive Bounded Task Context 验收(本地自动验收通过,A-130 真实 Host 复验失败)
430
+
431
+ `docs/23` 的 A-115 至 A-129 已落为 15 个独立顶层测试:多层 policy/validation 必选、软/硬预算、冲突闭包、Routing Index 过期/缺失回退、相关 source drift、sibling warning、signal-bound/strict freshness、source read 去重、digest-bound 增量扩展、task/topic 路由、Registration Coverage、required-item oracle 和隔离效率门槛。
432
+
433
+ 在 docs/26 统一修复前,本节初始实现的 `npm run check` 当时为 153/153:A-115 至 A-129、A-130R、A-131 至 A-143、四项 truth-protocol 回归及既有测试均无删除、跳过或弱化。第一次敌意路由 fixture 反证了“通用 path segment 可以直接作为语义命中”的实现解释,因此 selector 已修订为路径先约束 scope、原始 task text/topics 再选择 fact/reference。
434
+
435
+ A-130 于 `2026-09-12` 使用相同 Codex 模型、相同任务和只读 `dtg-tmc-pc` 执行首次对照,完整 Context 得到 8/8,Adaptive Context 得到 7/8。A-130R 随后分离审查 JSON 与模型 `--prompt`,并通过本地回归。获授权的同日真实 Host/Provider 复验重新运行两臂:完整臂仍为 8/8,自适应臂仍为 7/8,并再次对 `priceList[0]` 的既定方向语义产生假阳性;自适应首包虽从 14,466 降至 5,283 字节,但 input tokens、命令数、耗时与质量均未优于同轮完整臂。因此 A-130 严格复验失败。完整证据见 [24-A130-REAL-HOST-TARGET-PROJECT-COMPARISON.md](./24-A130-REAL-HOST-TARGET-PROJECT-COMPARISON.md)。153 项本地自动测试不因此改写为失败,但 `1.7.0` 发布继续被阻断。
436
+
437
+ ## 21. `1.7.0` A-130 Quality Closure 与 Truth Resolution Closure(本地实现通过)
438
+
439
+ [26-A130-QUALITY-CLOSURE-AND-ADAPTIVE-DELIVERY-REPAIR-DESIGN.md](./26-A130-QUALITY-CLOSURE-AND-ADAPTIVE-DELIVERY-REPAIR-DESIGN.md) 冻结的 A-130D-01 至 A-130D-32 与 A-130T-01 至 A-130T-10 已全部落为独立顶层测试:
440
+
441
+ - A-130D 覆盖 oracle/输入语法有效性、scope 与 override、task lineage、schema 2 深层结构、targeted expansion、声明式 dependency、无 locator 的 task renderer、最终交付审计、withheld delivery、三类预算与 complete/adaptive 支配规则;
442
+ - A-130T 覆盖 finding digest、resolution contract、previous Review 绑定、Contract 与外部实现修复分流、deferred/open/rejected/resolved 终态和只读无权限边界;
443
+ - Context Query、Adaptive Context Bundle、Routing Index、Truth Reconciliation Input/Review Bundle 写 schema 2,selector 为 2,capabilities / Exchange Protocol 为 7;
444
+ - 持久 Contract、source/projection lock、Action Plan、Review Bundle 与 renderer 不迁移;核心不增加 Provider、Agent Runtime、Git、网络、业务代码写入或自动批准。
445
+
446
+ 完整 `npm run check` 为 195/195,既有 153 项无删除、跳过或弱化。A-130D-32 新增人工 oracle digest 门,A-130D-18 收缩为 S 一对、L 三对并区分 fixture、因果不明与可重现产品缺陷。Project Context 自托管状态已回到 clean。这证明本地实现合同闭合,不替代有界 Host/Provider A-130-S/L 复验;该复验及发布仍需分别授权。
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 权威说明:本文是支持性设计文档;当前唯一规范真源是 [00-PRODUCT-CONSTITUTION.md](./00-PRODUCT-CONSTITUTION.md)。
4
4
 
5
- 状态:`frontend-project-context@1.3.0` 已发布到官方公共 npm;本地 `1.3.1` Receipt/Bundle consumer pin 修复 82/82 通过,发布未授权
5
+ 状态:`frontend-project-context@1.7.0` 发布前实现、195/195、真实 PC 初始化与 A-130 有界 Host/Provider 终验均已通过;发布已授权并正在执行,公开 registry 当前已核验基线仍为 `1.6.0`
6
6
  适用项目:`dtg-frontend-delivery-agent`
7
7
  本文记录产品如何交付、安装、共享、升级和验证;它不自行授权打包、registry、Git 或发布操作。
8
8
 
@@ -38,17 +38,34 @@ CI 安装项目锁定的依赖版本并执行只读检查。CI 不依赖机器
38
38
 
39
39
  ## 3. 推荐安装路径
40
40
 
41
- ### 3.1 首次初始化:一次性运行器
41
+ ### 3.1 正式安装:先固定项目开发依赖
42
42
 
43
- 面向 Node.js 前端项目,推荐支持包管理器的一次性运行方式,例如:
43
+ 持久初始化前,先把精确版本安装为项目开发依赖:
44
44
 
45
45
  ```bash
46
- npx frontend-project-context@1.3.0 setup --project . --id PROJECT_ID --name "Project Name" --json
47
- pnpm dlx frontend-project-context@1.3.0 setup --project . --id PROJECT_ID --name "Project Name" --json
48
- bunx frontend-project-context@1.3.0 setup --project . --id PROJECT_ID --name "Project Name" --json
46
+ npm install --save-dev frontend-project-context@1.7.0
49
47
  ```
50
48
 
51
- 以上 `1.3.0` 一次性命令现已可从官方公共 npm 使用,`latest` 已独立核验为 `1.3.0`。包名冻结为 `frontend-project-context`,可执行文件名为 `project-context`,CLI 合同以 [04-PROGRAM-DESIGN.md](./04-PROGRAM-DESIGN.md) 为准。
49
+ 包名冻结为 `frontend-project-context`,可执行文件名为 `project-context`。安装必须先于持久 `setup`,使 discovery 登记的 `package.json` digest 已包含正式依赖,避免初始化完成后仅因补装工具而立即产生 `source-changed`。`1.7.0` 公开发布前,外部项目继续使用已发布且已独立核验的 `1.6.0`;候选源码中的 `1.7.0` 命令用于冻结将要进入该版本 tarball 的消费合同。
50
+
51
+ 选择项目内安装而不是全局安装,原因是:
52
+
53
+ - 团队成员和 CI 使用相同版本;
54
+ - 不同项目可以独立升级;
55
+ - 依赖升级及生成物变化可以通过 Git diff 审查;
56
+ - 全局环境变化不会改变项目输出;
57
+ - 回滚项目版本时可以同步回滚 DTG 行为。
58
+
59
+ ### 3.2 首次初始化:只运行已安装的本地 CLI
60
+
61
+ 先确认本地包存在,再从本地依赖离线执行只读状态和 setup preview:
62
+
63
+ ```bash
64
+ npm exec --offline -- project-context status --project . --json
65
+ npm exec --offline -- project-context setup --project . --id PROJECT_ID --name "Project Name" --json
66
+ ```
67
+
68
+ `--offline` 使本地 CLI 缺失时失败封闭,不允许 npm 临时下载无关的同名 `project-context` 包。确需一次性运行器时,只允许用精确包名和版本做零写 preview;任何 `setup --write` 前仍必须先完成项目内固定安装。
52
69
 
53
70
  `setup` 初始化入口只负责:
54
71
 
@@ -60,23 +77,13 @@ bunx frontend-project-context@1.3.0 setup --project . --id PROJECT_ID --name "Pr
60
77
 
61
78
  初始化不得自动访问网络、安装额外依赖、批准规范候选、生成投影或修改业务代码。
62
79
 
63
- ### 3.2 正式安装:项目开发依赖
64
-
65
- 初始化后,DTG 应作为项目开发依赖被锁定,例如:
80
+ ### 3.3 明确授权的全新初始化
66
81
 
67
- ```bash
68
- pnpm add -D frontend-project-context@1.3.0
69
- ```
82
+ `setup` 对已初始化项目是幂等的,不是 reset 或翻译命令。需要用正式包重新初始化时,Host 必须先盘点并留存人工 policy、validation-description、manual source 和批准决定;用 `remove-entry` 只移除所有权可信的受管区域;再由人明确授权外部工具精确清理可丢弃的 `.project-context`;确认状态回到 `uninitialized` 后,按 3.1、3.2 顺序重建并重新批准所保留的人工语义。
70
83
 
71
- 选择项目内安装而不是全局安装,原因是:
72
-
73
- - 团队成员和 CI 使用相同版本;
74
- - 不同项目可以独立升级;
75
- - 依赖升级及生成物变化可以通过 Git diff 审查;
76
- - 全局环境变化不会改变项目输出;
77
- - 回滚项目版本时可以同步回滚 DTG 行为。
84
+ 如果 `AGENTS.md` 既是人工 source 又承载 AI Entry,首次发布区域会按既有设计产生一次预期的 `source-changed`。Host 必须继续执行 `review-source → accept-source-change → reapprove → check/status`,不能把入口写入隐式当作 source acceptance。
78
85
 
79
- ### 3.3 团队消费:静态投影随仓库分发
86
+ ### 3.4 团队消费:静态投影随仓库分发
80
87
 
81
88
  由 DTG 从唯一的 `Project Contract` 生成、且体积可控的静态 Agent 投影,默认应提交到仓库。
82
89
 
@@ -218,4 +225,42 @@ IDE 插件可以在未来提供状态提示、冲突解释和可视化配置,
218
225
 
219
226
  发布后复核确认,不可覆盖的 `1.3.0` tarball 中 README 安装命令和 `examples/package.json` 仍固定 `1.2.0`。这不影响包版本、运行时命令或 schema,但属于消费端发布质量缺陷;仓库已修正为 `1.3.0`。
220
227
 
221
- 正式调用链审查还确认 `1.3.0` 对 receipt `inputBundleDigest` 的校验没有接入 `stage-context` 与 `integration-review`,错误 digest 可错误地解锁依赖 stage。该协议正确性缺陷与 consumer pins 缺陷已经在本地 `1.3.1` 中完成合并修复,82 项验收通过;Git 写入、候选包和发布仍需独立授权。
228
+ 正式调用链审查还确认 `1.3.0` 对 receipt `inputBundleDigest` 的校验没有接入 `stage-context` 与 `integration-review`,错误 digest 可错误地解锁依赖 stage。该协议正确性缺陷与 consumer pins 缺陷已在 `1.3.1` 中完成合并修复并公开发布。
229
+
230
+ ## 13. `1.3.1` Receipt Binding 与 Consumer Pins 修复正式发布状态
231
+
232
+ `1.3.1` 候选来自提交 `59561df74b827e14a233b8ac63a7155ba4a34b6b`,prepack 82/82 通过,包含 62 个文件、压缩大小 193586 bytes、解包大小 691194 bytes;SHA-1 为 `2e5e2ff79e21cb2ba784a47f4d48def650128b22`,integrity 为 `sha512-h5lGzOoaZbv3Cq4uqmWnX3NfWbMKwBtslQEfrSUFYcXD+Nf0TAhMSwi1WRoIgXGsnqOT9Ps2IpVqcG/umv3QGg==`。`fushanyx1` 于 `2026-09-10T08:43:47.783Z` 完成 public 发布,`latest` 指向 `1.3.1`;从 registry 重新下载的 tarball 与候选逐字节一致,安装后的版本、help 与 capabilities 冒烟通过。`v1.3.1` 精确指向冻结候选提交。
233
+
234
+ ## 14. `1.4.0` 本地实现与延迟迁移状态
235
+
236
+ `1.4.0` 已完成只读 status、区域型 AI Entry、Projection Lock schema 1/2、Exchange Protocol 2 和最小 migration manifest 的本地实现。旧项目安装新包后不会立即改写 store;只有首次成功 `publish-entry --write` 才将 projection lock 延迟转为 schema 2。精确可读/可写版本、consumer change、验收命令和回退约束由包根 `migration-manifest.json` 固定。
237
+
238
+ 实现 Gate 为 96/96 本地隔离测试通过。这不等于 npm 发布、公开 registry 验证或真实 Host/目标项目验证;这些外部操作需新的独立授权。
239
+
240
+ ## 15. `1.5.0` 本地 Evidence Feedback Protocol 状态
241
+
242
+ `1.5.0` 新增只读 `evidence` 与 Evidence Input/Bundle schema 1,并把 Exchange Protocol/capabilities 升至 3。Evidence Bundle 只输出 stdout、永不上传且始终需要人工复核;本版本不修改 store 或 renderer。`migration-manifest.json` 同时声明从公开基线 `1.3.1` 和本地能力基线 `1.4.0` 升级,本版本 `writes` 为空、rollback class 为 `package-only`,并保留从 `1.3.1` 直达时继承的 AI Entry/projection-lock 延迟迁移说明。
243
+
244
+ 实现 Gate 为 106/106 本地隔离测试通过。没有执行候选打包、真实 Host/目标项目验证、Git、网络或 npm 发布;这些仍需要新的独立授权。
245
+
246
+ ## 16. `1.6.0` 本地 Target Upgrade Protocol 状态
247
+
248
+ `1.6.0` 新增只读 `upgrade-check`、`upgrade-plan` 与默认 preview 的 `upgrade-apply`,公开 Migration Manifest schema 2 和三份升级工件 schema 1。依赖/lockfile 切换仍由 Host 在外部完成;工具只评估当前 Project Context store、受管 AI Entry/projection 与 manifest 声明的协议兼容面,并在精确 `--write` 下执行一份 plan 展示的一个已编译、产品自有单元。
249
+
250
+ 实现 Gate 为 120/120 本地隔离测试通过。capabilities/Exchange Protocol 为 4,Action Plan/Review Bundle 仍为 2,现有 store/renderer 目标版本不变。`coreMigration: complete` 不等于依赖、CI、新窗口或发布完成。没有执行候选打包、真实 Host/目标项目升级、Git、网络、包管理器或 npm 发布;这些仍需要新的独立授权。
251
+
252
+ ## 17. `1.7.0` 真实 PC 包初始化验收
253
+
254
+ 2026-09-14 在 `dtg-tmc-pc` 的隔离副本上执行了一次无网络、无 Provider、无 Git 写入的真实包消费验收。候选 tarball 版本为 `1.7.0`,共 99 个文件,解包约 1.3 MB;包的 prepack Gate 通过 195/195。精确工件摘要只记录在不进入 npm 包的 `PROJECT_STATE.json`,避免可分发文档引用自身 tarball 摘要形成自引用。
255
+
256
+ 消费端使用安装后的项目本地 `project-context` 完成:
257
+
258
+ 1. `status` 判定未初始化,`setup` preview 零写入;
259
+ 2. `setup --write` 只创建 `.project-context` 和候选建议;
260
+ 3. 人工授权审批 19 项从现有文件直接发现的客观事实与 `AGENTS.md` 引用;
261
+ 4. `publish-entry --write` 仅追加中文受管区域,原有人工 `AGENTS.md` 字节保留;
262
+ 5. 因 `AGENTS.md` 同时是已登记真源,按 3.3 的既定边界执行一次 `review-source → accept-source-change → approve --pending`,没有隐式批准;
263
+ 6. `check` 返回空 findings,`status` 返回 `health: clean` 和 `ready-for-task`;
264
+ 7. 针对 `src/components/flight/non-whitelist-confirm.vue` 与 `src/components/center/protocolPriceDialog.vue` 的真实行李展示任务,`context --locale zh-CN` 成功产生中文 Project Context Bundle。
265
+
266
+ 原始 PC 仓库全程保持干净,没有写入业务代码、`AGENTS.md`、`package.json`、lockfile 或 `.project-context`。本次结果证明 `1.7.0` 候选包能在真实 PC 项目结构中完成初始化并进入正常任务路径。后续 A-130 有界 Host/Provider 终验已通过,见 `docs/24` 第 11 节;A-144 不属于本次发布范围。
@@ -100,4 +100,33 @@ registry/可见性决策、发布者认证、A-39/pack、release commit、`v1.0.
100
100
 
101
101
  随后的正式调用链审查又确认,`1.3.0` 对 receipt `inputBundleDigest` 的校验只存在于可选 validator 参数,`stage-context` 与 `integration-review` 未将它与实际 Stage Context Bundle 重建结果绑定;结构合法但内容错误的 digest 可在无 finding 时解锁下一 stage。用户决定把该协议正确性修复与 consumer pins 修复合并到 `1.3.1`;冻结设计和 A-74 至 A-76 见 [18-BRANCH-AWARE-STAGED-CONTEXT-DESIGN.md](./18-BRANCH-AWARE-STAGED-CONTEXT-DESIGN.md) 第 18 节。
102
102
 
103
- `1.3.1` 已完成本地实现与 82/82 验收,但本次授权明确不包含 Git commit/tag/push、npm 登录、候选打包或公开发布。公共 npm `latest` 仍为 `1.3.0`;不得把本地实现状态写成已发布事实。
103
+ ## 11. `1.3.1` Receipt Binding Consumer Pins 修复正式发布
104
+
105
+ 用户于 2026-09-10 以“发布1.3.1版本”明确授权候选打包、Git 标签与公共 npm 发布。冻结候选来自提交 `59561df74b827e14a233b8ac63a7155ba4a34b6b`,远端 `v1.3.1` 精确指向该提交;发布后状态记录留在后续提交,避免改变标签对应的包源码。
106
+
107
+ 发布验证记录:
108
+
109
+ 1. prepack 重新执行全部 82/82 项验收并通过;
110
+ 2. tarball 包含 62 个文件,压缩大小 193586 bytes、解包大小 691194 bytes,不包含测试、Git、自托管 `.project-context/`、`PROJECT_STATE.json` 或 `RTK.md`;
111
+ 3. 候选 SHA-1 为 `2e5e2ff79e21cb2ba784a47f4d48def650128b22`,integrity 为 `sha512-h5lGzOoaZbv3Cq4uqmWnX3NfWbMKwBtslQEfrSUFYcXD+Nf0TAhMSwi1WRoIgXGsnqOT9Ps2IpVqcG/umv3QGg==`;
112
+ 4. 候选本地安装后的版本、help、capabilities、init 与 clean check 通过;
113
+ 5. `fushanyx1` 于 `2026-09-10T08:43:47.783Z` 向官方 registry public 发布 `frontend-project-context@1.3.1`,`latest` 已指向该版本;
114
+ 6. 从 registry 重新下载的 tarball 与候选逐字节一致,随后独立安装并再次通过版本、help 与 capabilities 冒烟。
115
+
116
+ 本次授权只完成既定 `1.3.1` 修复发布,不授权 `ci-reconciliation-artifacts`、Provider、Agent Runtime、任务执行、自动批准、产品内 Git/网络能力、真实业务项目试用、团队验收、公共源码仓库创建或后续发布。发布授权已经消耗。
117
+
118
+ ## 12. `1.6.0` Target Upgrade Protocol 正式发布
119
+
120
+ 用户于 `2026-09-11` 明确授权 `1.6.0` 发布候选整理、Git commit/tag/push、官方公共 npm 发布与 registry 独立复验。冻结候选来自提交 `14fc66ec2dd0524bfb94bd735c8ddc4dfd9a9e14`,远端 `v1.6.0` 精确指向该提交;发布后状态记录留在后续提交,避免改变标签对应的包源码。
121
+
122
+ 发布验证记录:
123
+
124
+ 1. `npm run check` 120/120 通过;
125
+ 2. tarball 白名单审查,不包含测试、Git、自托管 `.project-context/`、`PROJECT_STATE.json` 或 `RTK.md`;
126
+ 3. 候选 tarball 全新安装后的 version/help/capabilities/status/init/clean-check 冒烟;
127
+ 4. 通过包内 manifest 完成 `1.3.1 → check → plan → preview → apply → recheck` 独立冒烟;
128
+ 5. tarball 包含 83 个文件,压缩大小 272766 bytes、解包大小 972317 bytes,SHA-1 为 `9d3d196900460af86801e9cd543be4d2d9e326ca`,integrity 为 `sha512-dIwhRxARBSvz1uxt+mvXsJEtZfNs1pQVxrVjFQxbw9arbBHzbF4hiUfoURpP+YEazI5dRjZOsDJpIguw0EDJow==`;
129
+ 6. `fushanyx1` 于 `2026-09-11T05:45:25.010Z` 向官方 registry public 发布 `frontend-project-context@1.6.0`,`latest` 已指向该版本;
130
+ 7. 从 registry 重新下载的 tarball 与候选逐字节一致,随后在全新目录从 registry 安装,version/help/capabilities/status/init/publish-entry/clean-check 全部通过。
131
+
132
+ 该授权不包含真实目标项目升级、Phase D 其余适配器、Provider/Agent Runtime、自动批准或新产品能力。本次实现与发布授权均已消耗。
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 权威说明:本文定义 AI Exchange Boundary 之上的可选附带能力,用于帮助现有 Coding Agent 以更小、更准确、可分阶段恢复的上下文完成目标功能;如与 [00-PRODUCT-CONSTITUTION.md](./00-PRODUCT-CONSTITUTION.md) 冲突,以产品宪法为准。
4
4
  >
5
- > 状态:`1.3.0 published-public-npm-runtime-verified; 1.3.1 repair implemented-locally-and-82-tests-passed; release-not-authorized`
5
+ > 状态:`1.3.0 historical baseline; 1.3.1 repair published-public-npm-and-registry-byte-match-verified; 82/82 tests passed`
6
6
  >
7
7
  > 基线:`frontend-project-context@1.2.0` 已公开发布并独立验证;Project Contract 身份、七项内核、人工权限和永久边界保持不变。
8
8
 
@@ -405,4 +405,4 @@ Integration Review Bundle 不执行 merge。人或外部工具完成合并后:
405
405
 
406
406
  用户已于 `2026-09-10` 以 `authorize-1.3.1-receipt-binding-and-consumer-pins-repair-implementation` 明确授权本节冻结范围的本地实现。`--receipt-bundle`、严格 Bundle 校验、自身 digest、依赖链重建、失败封闭、consumer pin 与 A-74 至 A-76 已完成,连同全部旧回归为 82/82 通过;四份 schema/store 版本未变,边界未扩大。
407
407
 
408
- 实现授权已经消耗。Git commit/tag/push、npm 认证、候选打包和公开发布仍未授权;下一步只能是等待单独发布方向或其他明确选择,不能自行进入发布流程。
408
+ 实现授权已经消耗。用户随后以“发布1.3.1版本”明确授权发布;候选提交 `59561df74b827e14a233b8ac63a7155ba4a34b6b` 通过 prepack 82/82,`v1.3.1` 精确指向该提交。`fushanyx1` 于 `2026-09-10T08:43:47.783Z` 完成官方公共 npm 发布,`latest` 指向 `1.3.1`;registry tarball 与候选逐字节一致,SHA-1 为 `2e5e2ff79e21cb2ba784a47f4d48def650128b22`,integrity 为 `sha512-h5lGzOoaZbv3Cq4uqmWnX3NfWbMKwBtslQEfrSUFYcXD+Nf0TAhMSwi1WRoIgXGsnqOT9Ps2IpVqcG/umv3QGg==`,独立安装后的 CLI 冒烟通过。发布授权已经消耗,任何后续方向仍需新的明确选择。