Record SWBOOT L1–L4 (no real repo write), FAV ObserveShadow gates and observation-window prerequisites, D7 Track E ID-only checklist, and stronger PI narrative fallback negatives while keeping all redline flags off.
3.7 KiB
3.7 KiB
title, status, created, updated, compliance, related_task, related_adr
| title | status | created | updated | compliance | related_task | related_adr |
|---|---|---|---|---|---|---|
| D7 Track E ID-only 合规清单(无物理删除) | active | 2026-09-22 | 2026-09-22 | pending-compliance-signoff | ops/short-term/2026-09-22-redline-evidence.md | adr/2026-09-17-d7-chat-data-retention.md |
D7 Track E ID-only 合规清单
用途:在 D7 ADR 仍为
pending-compliance-signoff期间,只做表面盘点与 ID-only 合规核对。禁止按 365/180/30 天执行物理删除或备份清除。本清单不是删除作业授权。
0. 硬约束
- ADR 状态仍为
pending-compliance-signoff(见 ADR) - 本轮零
DELETE FROM chat_*、零备份清除、零 retention 作业 - FEATURE-MATRIX「对话数据治理(D7)」保持
deferred(本批不改矩阵) - 合规签字或改数后,另开整改任务再勾选删除路径
1. 数据表面盘点(只读)
| ID | 表面 | 检查方法 | 期望 | 本批结果 |
|---|---|---|---|---|
| S1 | chat_sessions / chat_messages |
代码检索写路径;对照 W7 计数资产 | 有 deleted_at 列;无物理 DELETE 写者;无 soft-delete 写路径亦可接受(缺口属签字后整改) |
PASS:rg 无 DELETE FROM chat_*;无 chat SET deleted_at 写者 |
| S2 | context_memory_chunks(chat_history) |
对照 W7 盘点 | 派生副本随正文;无独立 retention 删 | PASS(静态);未跑共享 SQL |
| S3 | freeform_documents |
已知 soft-delete UI | 与聊天独立周期;本轮不删 | PASS(不触碰) |
| S4 | event_envelopes.payload |
对照 Track E / W7 keys | 无 content / 消息正文 |
PASS(沿用 W7:has_content=f);本批未重连 PG |
| S5 | event_dead_letters / attempts |
结构 / 既有盘点 | 仅 ID + reason / error_code | PASS(沿用 W7) |
| S6 | 应用日志 | 规范 + 既有抽检 | 无 chat 正文;DSN 脱敏 | PASS(沿用 W7);本批未 docker logs |
| S7 | scripts/backup-system-db.sh |
阅读脚本 | pg_dump -Fc 整库含明文;本轮不执行 |
PASS:未执行 dump |
| S8 | data/*/workspaces |
目录约定 | 非终态;无自动 30 天清理 | PASS(无作业) |
| S9 | FAV / final_artifacts |
consumer mode | 与聊天解耦;fav off | PASS:Register(fav) fail-closed |
2. Track E ID-only 字段规则
日志 / DLQ / reconciliation / 对外 summary 仅允许:
| 允许 | 禁止 |
|---|---|
| event_id / delivery_id / run_id / plan_id / project_id / doc_id | 消息 content / prompt 全文 |
| digest / sha256 / summary_ref | 用户 PII 明文堆栈 |
| typed error_code / allowlist 摘要键 | 未 allowlist 的 payload 整包 |
| 状态枚举(pending/leased/…) | 备份文件路径中的密钥 |
核对动作:
events.SanitizeSummary/ StaticContracts 方向:生产路径不以正文入 envelope(W7 已证 keys)- 发现「已签字基线被违反」才写 gap-matrix;本批未发现 → 不改 gap-matrix
- 签字后:收紧
taskrun.completed等额外 ID 字段 allowlist(follow-up,非 blocker)
3. 签字后才允许的整改(本清单不执行)
- 聊天 soft-delete 写路径 → 观察窗 → 物理清理
- 同步清理
context_memory_chunks中chat_history - 备份二次批准 + 精确 delete manifest(对齐 R22)
- 字段级加密选型(ADR 明确首期不做默认加密)
4. 完成定义(本批)
- 表面表 S1–S9 有结论
- ID-only 规则成文
- 无物理删除证据
- ADR 仍
pending-compliance-signoff