Prepare branch for remote review; preserve documented validation gaps and protected historical packages. Co-Authored-By: Claude Code <noreply@anthropic.com>
95 lines
7.4 KiB
Markdown
95 lines
7.4 KiB
Markdown
# 私人案例清理任务补充范围 · 已获产品授权
|
|
|
|
## 0. 基线 commit
|
|
|
|
- 实际开工远端基线:`35ca7299c9b9c5464002f11c00310c01919e89a1`。
|
|
- 依赖任务:`TASK-owner-case-purge-20260919.md`。
|
|
- 已有执行分支:`codex/owner-case-purge-20260919`;无争议 T2 和导入路径拦截先留本地,未交付 staging。
|
|
- 产品于 2026-09-19 通过本会话明确选择“补齐范围继续”,批准本单追加范围与精确许可口径。与原单同文件、同分支串行;不同文件可并行处理,不另起重叠实现。
|
|
|
|
## 1. 事故实证(符号定位)
|
|
|
|
1. `scripts/evidence_packet_index_integrity.py::build` 遍历 `references/oracle/evidence_packet_index_2026_07_19.json` 的路径并检查存在性;全部拟删台账仍在索引。仅模拟原删除清单,缺失路径由 0 变为 11。
|
|
2. `tests/test_evidence_packet_index_integrity.py::test_evidence_packet_index_integrity_validator_passes_current_index` 要求 `status == pass` 且 `missing_path_count == 0`。原单没有列入索引修复,机械删除会造成回归。
|
|
3. `scripts/full_technique_invocation_matrix.py` 递归扫描 `skills` / `references`;原单 T1 的版本目录虽然不参与线上 live 加载,但参与研究矩阵扫描。应验该测试,不应声称没有其他读者。
|
|
4. `scripts/skill_truth_overlay_view.py::build_effective_registry` 透传证据引用;`scripts/claim_audit_runtime_gate.py::evaluate_claim` 读取索引状态与限制;前端 truth-source identity 使用索引计数,Mastra 将 effective view 作为可查资料。当前未发现消费者自动打开待删台账,但仍有模型可达的悬空证据路径风险。
|
|
5. 仓库扫描按原单字面实现会命中 `FORBIDDEN_PRIVACY_MARKERS` 声明本身、泛用户目录前缀说明及合成安全样例。还存在原 T2/T3 清单外的历史任务、测试与研究资料命中。
|
|
6. `scripts/run_quality_gate.py` 的 quick 是显式测试列表;新文件不会因存在就自动进入快速门。
|
|
7. `scripts/rangacharya_readiness.py::build_report` 只将解析后的 manifest 转为布尔值,不读取其 sources 路径。只替换 manifest 路径并保持有效非空结构,报告输出应不变;脚本自身没有目标私人路径,不必改它。
|
|
|
|
## 2. 根因
|
|
|
|
原任务书将“主要 Skill / MCP 入口没有直接引用”误等同于“只有自身合同测试读者”,遗漏了索引、派生视图和完整性门。全仓扫描没有定义标记声明自命中与虚构安全样例的处理方式,且实际清理清单未覆盖全部命中。
|
|
|
|
## 3. 决策记录
|
|
|
|
- **已有授权**:按原单整体清除私人案例;虚构 fixture 常量化;导入路径排除;不改哈希绑定的上游快照与校正历史版本。
|
|
- **已授权(2026-09-19)**:允许同步修复下列索引/派生资料中的悬空引用,保留所有原有 blocked/reference-only 等限制;扩大到额外命中的历史文档和测试资料;标记声明及已证实虚构安全样例采用精确到节点或字面量的许可,不豁免整目录;将新隐私守卫加入现有 quick 清单。
|
|
- 本次授权修订原单“仅一个整文件豁免即全仓零命中”的字面口径:除既有上游快照临时例外外,仅允许经过核实的规则定义/合成测试样例;真实私人残留仍须为零。
|
|
- 不授权重写 Git 历史、删除其他能力证据、放宽声明边界或改业务流程。
|
|
|
|
## 4. 硬红线
|
|
|
|
1. 校正历史版本目录、注册表及来源哈希绑定不改,逐字节比对必须为零差异。
|
|
2. `frontend/src`、主 API、业务引擎不因资料清理而修改;不动 main、workflow、DNS、迁移、依赖版本。
|
|
3. 不以删完整性测试、整目录豁免、改弱 blocked/reference-only 限制换取通过。
|
|
4. 不在任务书、进度、Bug 历史、测试名和日志摘要中复写真实参数或私人路径。删除断言旧值仅用符号定位说明。
|
|
5. 不声称已完成部署或全仓清零,除非有对应实测证据。
|
|
|
|
## 5. 任务分解与验收
|
|
|
|
### F1 索引与派生资料引用修复
|
|
|
|
需追加审阅范围(不是整文件删除授权):
|
|
|
|
- `references/oracle/evidence_packet_index_2026_07_19.json`
|
|
- `references/oracle/full_technique_invocation_matrix_2026_07_22.json`
|
|
- `references/oracle/effective_skill_capability_view_2026_07_19.json`
|
|
- `references/oracle/skill_truth_overlay_2026_07_19.json`
|
|
- `references/oracle/rectification_missing_layer_integration_plan_2026_07_19.json`
|
|
- `references/oracle/source_runtime_closure_queue_2026_07_21.json`
|
|
- `references/oracle/workbuddy_round4_formalization_registry_2026_07_21.json`
|
|
- `references/oracle/workbuddy_round4_usage_closure_queue_2026_07_21.json`
|
|
|
|
逐引用判断:移除只描述已删除私人资料的记录;必要的限制记录保留,改成诚实的不可用/已移除证据状态,不伪造替代 oracle。
|
|
|
|
验收:完整性索引无悬空路径;原声明限制不放宽;补跑 evidence packet integrity、full technique matrix、claim audit gate、skill truth overlay / rectification audit、missing layer plan、source runtime closure queue 六组测试。
|
|
|
|
### F2 补足清理清单
|
|
|
|
全仓命中仅输出文件/规则代号与计数,分类为真实残留、声明节点、合成样例。逐文件清理真正残留,不大范围替换普通时间字符串。
|
|
|
|
补处理 `docs/tasks/TASK-round2-cost-and-delivery-20260831.md` 中遗漏的两处已删除会话文档引用。历史事实按原单决策保留“已删除”说明,不复制原文。
|
|
|
|
验收:新增精确许可有反向用例,证明相同文件其他位置与新增跟踪文件仍会被拦;可选本地标记文件保持 gitignored,失败输出不含命中原文。
|
|
|
|
### F3 接入快速门与完整验收
|
|
|
|
将新仓库隐私守卫加入现有 quick 显式列表,不改 workflow;运行原单要求的定向、全量、构建与健康检查。
|
|
|
|
验收:测试减少只来自获批删除清单;新增用例单列。无 Docker/依赖/符号链接权限或构建产物时,写环境缺口与基线逐项对照,不标通过。
|
|
|
|
## 6. 让步顺序
|
|
|
|
- 保持全部隐私与业务边界优先,不为做完任务机械删除索引证据。
|
|
- 引用处置无法确定时先暂停该条,不能删除声明限制。
|
|
- 前端快照删除沿用原单 T1 让步条件,但不得碰校正包。
|
|
- 环境补测可以后续在合适环境完成;测试结论不得让步。
|
|
|
|
## 7. 开工前置命令
|
|
|
|
从本轮独立工作树执行,先确认原未提交修改属于本轮;不得 stash 或覆盖。
|
|
|
|
```bash
|
|
git status -sb
|
|
git fetch origin --prune
|
|
python scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45
|
|
python -m pytest tests/test_evidence_packet_index_integrity.py tests/test_full_technique_invocation_matrix.py tests/test_claim_audit_runtime_gate.py tests/test_skill_truth_overlay_and_rectification_audit.py tests/test_rectification_missing_layer_integration_plan.py tests/test_source_runtime_closure_queue_2026_07_21.py -q
|
|
```
|
|
|
|
当前主机没有项目 `.venv`,上述 python 为已检测可导入 pytest/swisseph 的系统 Python;缺少 mcp/hypothesis 的情况必须显式记录,不暗称虚拟环境完整验收。
|
|
|
|
## 8. BUG 编号起点
|
|
|
|
本轮已在本地记录 BUG-972 / BUG-973,状态分别 blocked / investigating。最终 fetch 确认远端仍为原基线,无新增占号;尚未提交/推送。以后恢复交付前仍须再核对远端最大号。相关事实优先补入这两条,不因补任务再重复开 Bug。
|