Prepare branch for remote review; preserve documented validation gaps and protected historical packages. Co-Authored-By: Claude Code <noreply@anthropic.com>
7.4 KiB
私人案例清理任务补充范围 · 已获产品授权
0. 基线 commit
- 实际开工远端基线:
35ca7299c9b9c5464002f11c00310c01919e89a1。 - 依赖任务:
TASK-owner-case-purge-20260919.md。 - 已有执行分支:
codex/owner-case-purge-20260919;无争议 T2 和导入路径拦截先留本地,未交付 staging。 - 产品于 2026-09-19 通过本会话明确选择“补齐范围继续”,批准本单追加范围与精确许可口径。与原单同文件、同分支串行;不同文件可并行处理,不另起重叠实现。
1. 事故实证(符号定位)
scripts/evidence_packet_index_integrity.py::build遍历references/oracle/evidence_packet_index_2026_07_19.json的路径并检查存在性;全部拟删台账仍在索引。仅模拟原删除清单,缺失路径由 0 变为 11。tests/test_evidence_packet_index_integrity.py::test_evidence_packet_index_integrity_validator_passes_current_index要求status == pass且missing_path_count == 0。原单没有列入索引修复,机械删除会造成回归。scripts/full_technique_invocation_matrix.py递归扫描skills/references;原单 T1 的版本目录虽然不参与线上 live 加载,但参与研究矩阵扫描。应验该测试,不应声称没有其他读者。scripts/skill_truth_overlay_view.py::build_effective_registry透传证据引用;scripts/claim_audit_runtime_gate.py::evaluate_claim读取索引状态与限制;前端 truth-source identity 使用索引计数,Mastra 将 effective view 作为可查资料。当前未发现消费者自动打开待删台账,但仍有模型可达的悬空证据路径风险。- 仓库扫描按原单字面实现会命中
FORBIDDEN_PRIVACY_MARKERS声明本身、泛用户目录前缀说明及合成安全样例。还存在原 T2/T3 清单外的历史任务、测试与研究资料命中。 scripts/run_quality_gate.py的 quick 是显式测试列表;新文件不会因存在就自动进入快速门。scripts/rangacharya_readiness.py::build_report只将解析后的 manifest 转为布尔值,不读取其 sources 路径。只替换 manifest 路径并保持有效非空结构,报告输出应不变;脚本自身没有目标私人路径,不必改它。
2. 根因
原任务书将“主要 Skill / MCP 入口没有直接引用”误等同于“只有自身合同测试读者”,遗漏了索引、派生视图和完整性门。全仓扫描没有定义标记声明自命中与虚构安全样例的处理方式,且实际清理清单未覆盖全部命中。
3. 决策记录
- 已有授权:按原单整体清除私人案例;虚构 fixture 常量化;导入路径排除;不改哈希绑定的上游快照与校正历史版本。
- 已授权(2026-09-19):允许同步修复下列索引/派生资料中的悬空引用,保留所有原有 blocked/reference-only 等限制;扩大到额外命中的历史文档和测试资料;标记声明及已证实虚构安全样例采用精确到节点或字面量的许可,不豁免整目录;将新隐私守卫加入现有 quick 清单。
- 本次授权修订原单“仅一个整文件豁免即全仓零命中”的字面口径:除既有上游快照临时例外外,仅允许经过核实的规则定义/合成测试样例;真实私人残留仍须为零。
- 不授权重写 Git 历史、删除其他能力证据、放宽声明边界或改业务流程。
4. 硬红线
- 校正历史版本目录、注册表及来源哈希绑定不改,逐字节比对必须为零差异。
frontend/src、主 API、业务引擎不因资料清理而修改;不动 main、workflow、DNS、迁移、依赖版本。- 不以删完整性测试、整目录豁免、改弱 blocked/reference-only 限制换取通过。
- 不在任务书、进度、Bug 历史、测试名和日志摘要中复写真实参数或私人路径。删除断言旧值仅用符号定位说明。
- 不声称已完成部署或全仓清零,除非有对应实测证据。
5. 任务分解与验收
F1 索引与派生资料引用修复
需追加审阅范围(不是整文件删除授权):
references/oracle/evidence_packet_index_2026_07_19.jsonreferences/oracle/full_technique_invocation_matrix_2026_07_22.jsonreferences/oracle/effective_skill_capability_view_2026_07_19.jsonreferences/oracle/skill_truth_overlay_2026_07_19.jsonreferences/oracle/rectification_missing_layer_integration_plan_2026_07_19.jsonreferences/oracle/source_runtime_closure_queue_2026_07_21.jsonreferences/oracle/workbuddy_round4_formalization_registry_2026_07_21.jsonreferences/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 或覆盖。
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。