# SDD ledger — plan: /Users/yixiay/Downloads/123/597084-fix-code-2026-11-04/PLAN.md

Task1: in-progress

| 预检 | 结论 |
|---|---|
| 单任务规格/代码 | 固定基线、一个实现者，不存在跨任务共享文件冲突 |
| 草稿与自动发布冲突 | 草稿隔离优先，锁内仅当前PUBLISHED可补发布 |
| Maven约束 | JUnit交付待IDE执行，隔离探针与业务验收区分 |

Ruling: 用户要求直接给出修复代码，统一生成可审阅结果，不另设前置确认。

Task1: code frozen for independent review; 41 changed/added files; git apply --check exit 0.
Implementer: /root/unified_fix_code
Reviewer: /root/unified_fix_review
Patch SHA256: c0ed756dc8603880e6e209842cd8593a65b74414b1c0313ef70a55cc87bfb542
Review status: pending, spec and quality verdicts required.

Task1: review FAIL (spec FAIL / quality FAIL); R1-R5 sent to same implementer in one fix wave.
Ruling: preserve HTTP Boolean publish contract; true means PROD committed with durable invalidation pending, not cache visibility. Changing DTO without frontend migration would introduce a new integration break.
Ruling: optional derived-data failures must not roll back LABS save; guard delivery against mismatched body fingerprints instead of trusting audit timestamps alone. Additional read/parse cost must be documented.
Fix round 1/5: in progress.

Task1: fix round 1/5 (4 addressed, 1 open: R4 actual response provenance).
Fix round 2/5: same implementer; R4 only plus necessary IPA fixture.
Ruling: bind generated output URL and source payload fingerprint at production/cache time, then compare the response-selected identity with segment identity. Unknown legacy provenance fails closed; regeneration and recalculation provide recovery. Cost: additional columns, cache metadata, and explicit regeneration rollout. Never attach current DB hash to an unproven old output URL.

Task1: fix round 2/5 (response provenance addressed; 1 lifecycle dependency open).
Fix round 3/5: same implementer; continuous recovery dependency, execution gate and scalar output hash cache preservation.
Ruling: output recovery is a continuously scheduled dependency, not a one-off migration. Per-source scans are 50 per round; document ceil(candidate_count/50)*interval plus execution/lock delay rather than promising immediate recovery. Operational cost is a persistent Job and DB/generation work; removing it can reopen provenance gaps after future cross-source publication.

Task1: fix round 3/5 (all review findings addressed; spec PASS / quality PASS).
Task1: complete as reviewed code artifact, not runtime acceptance. Unified patch: c1f5b37b3b2e1fb2ef6b2e859a1bcde1bef2bc312aa18fb0d363dd818fab1a49
Final proof: 17 formal + 2 conditional mappings, 75 code files, 10 current probe groups; project compile/JUnit/business environment not run.
User addendum: CHANGE-MATRIX 26 rows (17+2+7); private delivery to Qi Yangyang explicitly authorized, now pending status/readback.

Delivery complete: matrix + unified code ZIP + summary SUCCESS, same private chat readback verified. Sent artifacts not modified. Recipient read status not checked.
