Skip to content

Commit 307f84e

Browse files
committed
fix: tighten workflow accuracy controls
1 parent f56ce11 commit 307f84e

30 files changed

Lines changed: 571 additions & 96 deletions

‎content/duplication-inventory.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"schemaVersion": "ControlContentDuplicationInventoryV1",
3-
"sourceBundleDigest": "b6fc6869784411b94722e7edd874ac7e76b5ba3ab6d103581dddd2d5d8954af8",
3+
"sourceBundleDigest": "6d8df3539c86fedfaa072b40ad9252c885a441031f0da9be9e3c8051f7cb46c2",
44
"thresholds": {
55
"minParagraphChars": 100,
66
"sectionThreshold": 0.94,

‎content/prompts/implementation-plan.prompt.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ applyTo: .devcodex/**/requirements/**
1010
> ⚠️ 本模板只承接任务拆分、实施顺序、前置依赖、验证方式与回滚策略,不重复需求背景或技术方案中的设计论证。
1111
> ⚠️ 生成的 Markdown 实施计划文档必须在头部后补 `## 目录导航`。
1212
> ⚠️ SimpleTaskFastPath、docs/init/plan-review 子类型豁免或其他合法 CP3 豁免场景,可将 `04-实施计划.md` 标为 `N/A + skipReason`;不得用本模板“补文书”覆盖已确认的轻路径或子类型豁免。
13+
> ⚠️ 创建或更新 `04-实施计划.md` 表示任务至少已进入 CP3 候选/确认链;必须同步同一任务目录中 `00/01/02` 的当前阶段状态投影,不能让上游文首/状态行继续停留在“待 CP2 / CP2 候选 / 等待用户确认”等旧阶段。
1314
> ⚠️ 控制面、Auto、多批次、预计修改 ≥10 文件、模板-示例-校验链或发布前置任务,计划中必须列出 ExecutionContract / TestRoute / ReleaseAudit / ReleaseVerification / ConceptSyncMap / HostContractVerification / ContextAcquisition / 05-实施进度.md 的触发状态与证据。
1415
> ⚠️ 项目/目录扫描计划必须先写 `ProjectArtifactScaleRoutingGate`、ScaleDecisionRecord、exclusion、batch/checkpoint、invalid-run 与 V91;不得把“全量 inventory”默认等同“逐字读取所有文件”。
1516
> ⚠️ 若本轮任务或批次直接来源于 `data/*.md` 的 open/partial 项,计划中必须显式写出 Backlog Intake 真相复核和台账状态回写闭环:先分类 `pure-open / residual-tail / already-fixed / misclassified`,再说明本轮范围是否缩减以及回写证据如何产出。

‎content/prompts/implementation-progress.prompt.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ applyTo: .devcodex/**/{requirements,bugs}/**; .devcodex/**/fix/**
1010
> ⚠️ 条件触发:任务跨多轮/多阶段、存在明确阻塞、用户要求持续跟踪、多批次执行、预计修改 ≥10 文件、控制面任务、模板-示例-校验链或部署同步联动时启用;默认前提是已存在 `04-实施计划.md`,docs/init/plan-review 等 CP3 豁免场景可使用已确认文档大纲、任务切片或 ContextHandoffCard 作为等价计划锚点。
1111
> ⚠️ 进度文档必须引用 ArtifactDecisionMatrix 的当前状态,说明 `05-实施进度.md` 本身为何是 `create` / `update`,以及其他关键产物的 `skip` / `N/A` 是否仍成立。
1212
> ⚠️ 生成的 Markdown 实施进度文档必须在头部后补 `## 目录导航`。
13+
> ⚠️ 启用或更新 `05-实施进度.md` 时,必须同步同一任务目录中 `00/01/02/04` 的当前阶段状态投影;已进入 CP3/执行/ECR 后,上游文首/状态行不得仍写“待 CP2 / CP2 候选 / 等待用户确认 / 待 CP3”。历史候选可保留,但状态必须标为 `historical / superseded / 已确认后进入实施` 等非当前态。
1314
> ⚠️ 若本轮任务或批次来源于 `data/*.md` open/partial 项,进度中必须持续记录 Backlog Intake 真相复核分类结果,以及台账状态回写闭环是否已完成。
1415
1516
---

‎content/prompts/technical-design.prompt.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ applyTo: .devcodex/**/requirements/**
1818
> ⚠️ 控制面、Auto、多批次、预计修改 ≥10 文件、模板-示例-校验链或发布前置任务,方案中必须说明是否触发 `execution-contract`、`test-router`、`audit-release`、`release-verification`、`source-consumer-sync`、`host-contract-verification`、`user-visible-output-contract` 与 `05-实施进度.md`。
1919
> ⚠️ 项目/目录分析、审查或扫描必须在 broad scan 前填写 `ProjectArtifactScaleRoutingGate` / `ScaleDecisionRecord`:项目/root、六项规模指标、single-pass/batched/sampled+deep-read/blocked、排除策略、batch/checkpoint、invalid-run 与 V91。
2020
> ⚠️ 若本方案触发或豁免任何关键产物,必须在 §1 或 §8 写出 ArtifactDecisionMatrix:`artifact`、`state(create/update/skip/N/A)`、`reason`、`trigger`、`upgradeTrigger`、`targetArtifact`。
21+
> ⚠️ CP2 被确认、进入 CP3 或后续生成 `04-实施计划.md` / `05-实施进度.md` 后,必须同步同一任务目录上游 `00/01` 与当前 `02` 的阶段状态投影;历史候选可以保留,但当前文首/状态行不得继续写“待 CP2 / CP2 候选 / 等待用户确认”。
2122
> ⚠️ 若本方案承接了用户可见“意图扩展摘要”,必须在 §0 或 §1 说明语义初判、项目现实扩展后路由、关键风险、验证路线与备选路径如何落到方案中。
2223
> ⚠️ 新增/升级依赖、框架、SDK、平台 API 或外部模块时,§4 必须填写 `OfficialDocsEvidence`:官方文档来源、版本/日期、关键用法、限制、兼容性与降级来源。
2324
> ⚠️ dev/fix 项目事实变化时,必须填写 `ProfileImpactCheck`:是否更新 Profile、目标文件与 `skipReason`。

‎content/skills/cp-gate/SKILL.md‎

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -104,17 +104,18 @@ CP1 前后必须使用 `workflow-plan-decision.v1.schema.json` 与 `hooks/_runti
104104
7. **CP3 内容边界**:CP3 只确认实施计划,不重复技术方案中的架构决策、接口论证和兼容性主说明;必须显式覆盖任务拆分、顺序、依赖、验证方式与回滚策略
105105
8. **产物文件前置创建**:输出 CP 确认请求前,对应产物文件必须已写入磁盘。正式任务由 `TaskAdmissionTransactionV1` 单写者先 create-if-absent 并回读 identity、canonical overview/问题概况和 CP pending,禁止先手工拼目录再补准入。dev/requirements 必须先判定入口类型:纯新需求且无产品角色 → `00-需求概况.md` + `01-需求确认.md` + `<任务>/.memory/sessions.md`;有产品角色直接提供完整需求 → `00-需求概况.md`(仅来源/映射概况)+ 原样 `01-产品需求.md` + `<任务>/.memory/sessions.md`,产品正文只给产品填写完整 PRD,AI / 研发缺口 / 冲突检查记录在 00、CP1 摘要、`02-技术方案.md` 或报告中,不改写 01;需求变更 → `00-需求变更概况.md` + `01-需求变更确认.md` + 回写目标需求真相源;历史目录的 `01-需求概述.md` 仅作兼容。fix/bugs → `00-问题概况.md` + `01-问题确认.md`,也允许使用 `01--问题确认与CP1.md`、`02--技术方案与CP2.md` 这类报告等价承载 CP1/CP2;CP3 → `04-实施计划.md`。命中有效 `SimpleTaskFastPathLeaseV1` 时,允许不创建需求/bug 目录,用内联 CP 摘要 + 报告/记忆替代,但必须记录 `N/A + skipReason` 和升级回退条件;若命中 ExistingRequirementArtifactOverride,则必须先增量编辑已有真相源,回复内联摘要不得替代文件回写。所有场景必须用 ArtifactDecisionMatrix 说明每个产物是 `create`、`update`、`skip` 还是 `N/A`。
106106
9. **进度文档触发**:`05-实施进度.md` 不是小任务默认必产物;当任务跨 2 轮以上会话、存在明确阻塞、用户要求持续跟踪、CP3 计划拆为多批次、预计修改 ≥10 文件或命中控制面/模板/validate/部署副本联动时,必须在执行前创建并在每批完成后更新。默认前提是已存在 `04-实施计划.md`;docs/init/plan-review 等 CP3 豁免场景可使用已确认文档大纲、任务切片或 ContextHandoffCard 作为等价计划锚点。
107-
10. **CP3 豁免记录**:docs/init/plan-review 等被工作流规则明确豁免 CP3 时,必须写入 `CP3: N/A(<子类型> 子类型豁免)`,让 hook/fallback 能区分“合法豁免”和“遗漏确认”。
108-
11. **确认后前置复审分级**(C19 / `PostConfirmationReviewScopeGate`):每次显式或 Auto CP 决定后、进入下一阶段前,必须先判定复审强度。低风险单文件、纯文案或 SimpleTaskFastPath 可做轻量复审;命中公共 API/配置、跨模块注册链、运行时安全能力、package/adapter、文档消费者、控制面、多真相源同步、用户要求全面复审或预计多轮收敛时,必须升级为冻结清单驱动的全面复审,复用 `review-checklist` 文件、`dev-plan-review` PR-2~PR-7、ReviewCoverageDelta / ReviewDimensionDeltaGate 和状态新鲜度检查;命中控制面、多文件联动、多真相源同步或模板-示例-校验链时必须追加交叉验证。阻断项先修正并回到结构化意图重算,不得由复审器直接要求重复确认。低风险降级必须写 `skipReason`。
109-
12. **审计问题清单转修复的 CP1 映射**:当 fix 源自 audit/analyze 的问题清单时,CP1 必须建立问题 ID 映射,逐项标注 `本轮修复 / 已关闭 / 延后 / 另起任务`,并把验收口径写入 CP1 产物;禁止只列新增问题而漏掉用户已指出或上轮已确认的问题。
110-
13. **执行期 CP3 回退**:若执行过程中实际变更范围触达 CP3 门槛(≥5 文件、高风险、控制面联动),必须暂停执行、补做或重开 CP3,再继续后续修改与验证。
111-
14. **backlog 来源前置真相复核**:当 CP1/问题确认直接来源于 `data/*.md` 的 open/partial 项时,进入正式确认前必须先把候选项分类为 `pure-open` / `residual-tail` / `already-fixed` / `misclassified`;非 `pure-open` 项须先回写状态并修正本轮范围,不得把 stale-open 条目继续按纯 open 统计。
112-
15. **代码事实与唯一推荐**:CP1/CP2/CP3 的重要需求、方案和推荐结论触发 `CodeTruthEvidenceMatrixGate`,至少绑定 repo path、符号/契约、当前行为、反证探针和差距;多方案收敛后触发 `UniqueRecommendationBeforeConfirmGate`,只能保留一个推荐方案或一个明确组合推荐。**禁止**收敛后用「你希望哪种 / A/B/C 点选」代替唯一推荐(`NoPreferenceMenuAfterConvergenceGate`)。完成态 / 收口「下一步」另受 `UniqueNextStepRecommendationGate` 约束:禁止 free-text「做 A 或做 B」并列(`classifyNextStepOrForkSample` / PF-172)。
113-
16. **CpArtifactBeforeConfirmGate(PF-138)**:输出「确认 CP1/CP2/CP3」前,磁盘产物路径必须已写入且出现在确认文案(如 `01-需求确认.md` / `02-技术方案.md` / `artifactPath`);禁止无路径点选。机器探针:`classifyCpArtifactBeforeConfirmSample` → `missing-cp-artifact` 失败。
114-
17. **CodeTruthAtCpEntryGate(PF-139)**:控制面 / MCP / Hook / CLI / validate / 分发类任务在写「可确认 CP / 方案定稿 / 可实施」前必须含 `CodeTruthEvidenceMatrix`(或 Gate 名 + repoPath/currentBehavior/negativeProbe);机器探针:`classifyCodeTruthMatrixAtCpSample` → `missing-code-truth-matrix` 失败。
115-
18. **ControlPlaneDigest + AuthorSelfReviewBoundary(PF-140)**:控制面确认必须绑定 `artifactPath`+`artifactSha256`/`ConfirmBindingGate`(`classifyControlPlaneDigestSample`);**禁止**把「作者自审」标成「独立审查」(`classifyAuthorSelfReviewBoundarySample`)。TimeoutOwnership:同步 I/O 不得宣称 wall-clock 硬超时假绿(见 release-verification / MCP 文档边界)。
116-
19. **ClosedArtifactNoReviveGate(PF-191)**:需求/bug 目录头部为 `closed` / `canceled` / `archived` / `user-canceled` 时,**禁止**把同一目录改回 active/candidate 或增量写 00/01 冒充新开。必须**新建**需求/bug 目录,旧目录仅可追加 superseded/related marker 或被新目录引用。机器探针:`classifyClosedArtifactNoReviveSample` → `revive-allowed-invalid` 失败;`npm run test:executable-absorption-gates`。
117-
20. **TaskPhaseProjectionGate(PF-183 · 条件)**:多 active 任务、用户只说「继续/刚才/当前」、或出现实施计划/进度投影时,用户可见回复必须含 `activeTask`(或等价任务名)、`phaseKind`/CP 状态、`sourceDelivery=none|started|partial|complete`、唯一 `nextAllowedAction`。禁止把「CP3 候选计划已生成 / 04 已存在」渲染为「源码已在实施」。仅 CP3 confirmed + 05 存在 + 可验证 source mutation 才可 `sourceDelivery=started`。探针:`classifyTaskPhaseProjectionSample` → `phase-fail`。
107+
10. **TaskPhaseStatusProjectionSyncGate**:每次 CP1/CP2/CP3 确认、生成 `04-实施计划.md` 或启用 `05-实施进度.md` 后,必须同步同一任务目录内 `00/01/02/04/05` 的阶段状态投影。上游真相源可保留历史事实,但文首/状态行不得继续写“待 CP2 / CP2 候选 / 等待用户确认 / 待 CP3”等已被后续产物超越的当前态;若保留历史候选,必须改为 `historical / superseded / 已确认后进入实施` 等明确状态。机器探针:`collectStatusProjectionIssues` 随 `test:requirement-artifacts` 覆盖 requirements / bugs / optimizations / scenario-tests。
108+
11. **CP3 豁免记录**:docs/init/plan-review 等被工作流规则明确豁免 CP3 时,必须写入 `CP3: N/A(<子类型> 子类型豁免)`,让 hook/fallback 能区分“合法豁免”和“遗漏确认”。
109+
12. **确认后前置复审分级**(C19 / `PostConfirmationReviewScopeGate`):每次显式或 Auto CP 决定后、进入下一阶段前,必须先判定复审强度。低风险单文件、纯文案或 SimpleTaskFastPath 可做轻量复审;命中公共 API/配置、跨模块注册链、运行时安全能力、package/adapter、文档消费者、控制面、多真相源同步、用户要求全面复审或预计多轮收敛时,必须升级为冻结清单驱动的全面复审,复用 `review-checklist` 文件、`dev-plan-review` PR-2~PR-7、ReviewCoverageDelta / ReviewDimensionDeltaGate 和状态新鲜度检查;命中控制面、多文件联动、多真相源同步或模板-示例-校验链时必须追加交叉验证。阻断项先修正并回到结构化意图重算,不得由复审器直接要求重复确认。低风险降级必须写 `skipReason`。
110+
13. **审计问题清单转修复的 CP1 映射**:当 fix 源自 audit/analyze 的问题清单时,CP1 必须建立问题 ID 映射,逐项标注 `本轮修复 / 已关闭 / 延后 / 另起任务`,并把验收口径写入 CP1 产物;禁止只列新增问题而漏掉用户已指出或上轮已确认的问题。
111+
14. **执行期 CP3 回退**:若执行过程中实际变更范围触达 CP3 门槛(≥5 文件、高风险、控制面联动),必须暂停执行、补做或重开 CP3,再继续后续修改与验证。
112+
15. **backlog 来源前置真相复核**:当 CP1/问题确认直接来源于 `data/*.md` 的 open/partial 项时,进入正式确认前必须先把候选项分类为 `pure-open` / `residual-tail` / `already-fixed` / `misclassified`;非 `pure-open` 项须先回写状态并修正本轮范围,不得把 stale-open 条目继续按纯 open 统计。
113+
16. **代码事实与唯一推荐**:CP1/CP2/CP3 的重要需求、方案和推荐结论触发 `CodeTruthEvidenceMatrixGate`,至少绑定 repo path、符号/契约、当前行为、反证探针和差距;多方案收敛后触发 `UniqueRecommendationBeforeConfirmGate`,只能保留一个推荐方案或一个明确组合推荐。**禁止**收敛后用「你希望哪种 / A/B/C 点选」代替唯一推荐(`NoPreferenceMenuAfterConvergenceGate`)。完成态 / 收口「下一步」另受 `UniqueNextStepRecommendationGate` 约束:禁止 free-text「做 A 或做 B」并列(`classifyNextStepOrForkSample` / PF-172)。
114+
17. **CpArtifactBeforeConfirmGate(PF-138)**:输出「确认 CP1/CP2/CP3」前,磁盘产物路径必须已写入且出现在确认文案(如 `01-需求确认.md` / `02-技术方案.md` / `artifactPath`);禁止无路径点选。机器探针:`classifyCpArtifactBeforeConfirmSample` → `missing-cp-artifact` 失败。
115+
18. **CodeTruthAtCpEntryGate(PF-139)**:控制面 / MCP / Hook / CLI / validate / 分发类任务在写「可确认 CP / 方案定稿 / 可实施」前必须含 `CodeTruthEvidenceMatrix`(或 Gate 名 + repoPath/currentBehavior/negativeProbe);机器探针:`classifyCodeTruthMatrixAtCpSample` → `missing-code-truth-matrix` 失败。
116+
19. **ControlPlaneDigest + AuthorSelfReviewBoundary(PF-140)**:控制面确认必须绑定 `artifactPath`+`artifactSha256`/`ConfirmBindingGate`(`classifyControlPlaneDigestSample`);**禁止**把「作者自审」标成「独立审查」(`classifyAuthorSelfReviewBoundarySample`)。TimeoutOwnership:同步 I/O 不得宣称 wall-clock 硬超时假绿(见 release-verification / MCP 文档边界)。
117+
20. **ClosedArtifactNoReviveGate(PF-191)**:需求/bug 目录头部为 `closed` / `canceled` / `archived` / `user-canceled` 时,**禁止**把同一目录改回 active/candidate 或增量写 00/01 冒充新开。必须**新建**需求/bug 目录,旧目录仅可追加 superseded/related marker 或被新目录引用。机器探针:`classifyClosedArtifactNoReviveSample` → `revive-allowed-invalid` 失败;`npm run test:executable-absorption-gates`。
118+
21. **TaskPhaseProjectionGate(PF-183 · 条件)**:多 active 任务、用户只说「继续/刚才/当前」、或出现实施计划/进度投影时,用户可见回复必须含 `activeTask`(或等价任务名)、`phaseKind`/CP 状态、`sourceDelivery=none|started|partial|complete`、唯一 `nextAllowedAction`。禁止把「CP3 候选计划已生成 / 04 已存在」渲染为「源码已在实施」。仅 CP3 confirmed + 05 存在 + 可验证 source mutation 才可 `sourceDelivery=started`。探针:`classifyTaskPhaseProjectionSample` → `phase-fail`。
118119

119120
## CP 响应处理
120121

0 commit comments

Comments
 (0)