3.8 KiB
3.8 KiB
红线证据:D7 留存表面盘点 + Track E ID-only(无物理删除)
一、 测试背景 (Background)
D7 ADR 2026-09-17-d7-chat-data-retention 仍为 pending-compliance-signoff。本轮只做 DB/备份/日志留存表面静态复验与 Track E ID-only 合规清单;禁止按 365/180/30 草案物理删除或清备份。
二、 测试目标 (Test Objectives)
- 盘点会话正文、派生记忆、事件、日志、备份、workspace、FAV 终态表面
- 确认无
DELETE FROM chat_*/SET deleted_at写路径 - Track E:
StaticContractspayload 字段无正文;sanitize 负例 PASS - 不升 FEATURE-MATRIX D7;不写 gap-matrix blocker(无已确认违规)
三、 测试方案与环境 (Test Plan & Environment)
| 项 | 值 |
|---|---|
| OS | Darwin 25.6.0 arm64 |
| 分支 | feature/redline-evidence-2026-09-22 |
| 被测 SHA | 364ed7f1a3f0393ef77ec4623a9518116ed2cb87 |
| 方法 | 静态检索 + events 契约单测;未连共享 PG 写库;未执行 pg_dump |
| 证据 | assets/2026-09-22-redline-evidence/ + Track E 清单 |
相对 W7 盘点 做工程复验;本机无授权共享 DB 只读会话,不重复生产计数。
四、 预期结果 (Expected Results)
- 无物理删除证据
- Track E forbidden 字段命中 = NONE
- ADR 仍
pending-compliance-signoff
五、 实际测试结果与判定 (Actual Results & Evaluation)
5.1 删除写路径静态扫描
- 测试输入 (Input):
rg 'DELETE FROM chat_|SET deleted_at' -g '*.go' internal/ - 实际输出 (Actual Output):
NONE。存在内容编辑用UPDATE chat_messages(非 retention soft-delete)。见d7-no-physical-delete.txt - 评价判定 (Evaluation / Verdict):PASS(无 retention 物理/软删写路径)
- 性能与耗时 (Duration & Latency):N/A
5.2 备份 / 日志表面
- 测试输入 (Input):阅读
scripts/backup-system-db.sh;检索 compose logging - 实际输出 (Actual Output):备份为
pg_dump -Fc整库(含 chat 明文);本轮未执行 dump、未清./backups。compose 未统一声明 logmax-size(与 W7 结论一致,属签字后整改项)。见d7-static-inventory.txt - 评价判定 (Evaluation / Verdict):PASS(盘点完成;无删除)
- 性能与耗时 (Duration & Latency):N/A
5.3 Track E ID-only
- 测试输入 (Input):解析
StaticContractsPayloadFields;go test ./internal/events/ -run 'Static|Contract|Payload|YAML|Sanitize|OmitSensitive' - 实际输出 (Actual Output):字段集合无
content/body/message/prompt;含summary_ref等 ID/摘要引用。TestIntentPlanContractsOmitSensitivePayload/TestSanitizeSummaryDropsPayload/TestRegistryParityWithYAMLPASS。见d7-track-e-payload-fields.txt/d7-track-e.txt - 评价判定 (Evaluation / Verdict):PASS
- 性能与耗时 (Duration & Latency):~0.5s
5.4 ADR / 矩阵
- 实际输出 (Actual Output):ADR
compliance: pending-compliance-signoff;本轮不升 D7 done、不写 gap-matrix - 评价判定 (Evaluation / Verdict):PASS(边界遵守)
六、 自动化测试套件汇总 (Test Suite Execution)
rg DELETE/SET deleted_at chat_* NONE
StaticContracts payload forbidden_hits=NONE
ok internal/events Sanitize/OmitSensitive/Parity PASS
pg_dump / physical delete NOT EXECUTED
七、 测试结论与后续优化建议 (Conclusion & Next Steps)
留存表面与 Track E ID-only 复验 PASS。合规签字前禁止按草案数字删除。详细勾选见 Track E 清单。