Keep the D7 matrix row deferred until compliance signoff; no gap-matrix blocker. Co-authored-by: Cursor <cursoragent@cursor.com>
4.9 KiB
4.9 KiB
W7 D7 对话数据分类盘点 测试报告
一、 测试背景 (Background)
D7 ADR 数字标 pending-compliance-signoff。W2 已释放 chat mutex。本波只做只读盘点,禁止按草案数字物理删除或清备份,矩阵保持 deferred。
二、 测试目标 (Test Objectives)
- 盘点 sessions/messages、KB、日志、备份、event 敏感字段与流转
- 确认无已签字基线违规;若有则写 gap-matrix
- 零物理删除、零备份清除
- FEATURE-MATRIX D7 保持
deferred
三、 测试方案与环境 (Test Plan & Environment)
| 项 | 值 |
|---|---|
| OS | Linux 7.0.0-31-generic |
| 分支 | feature/w7-d7-data-inventory(自 dev@cb4fbb6 W6 merge 后) |
| 环境 | dev schema 48;共享 KB regulations |
| 方法 | 只读 SQL / docker logs / 目录 du / go vet / arch-check |
| 证据 | .doc/test-reports/assets/2026-09-17-w7-d7-inventory/ |
核心用例矩阵:
| ID | 用例 | 期望 |
|---|---|---|
| I1 | chat 热库计数与 deleted_at |
只读;不 UPDATE |
| I2 | 事件 payload keys | 无 content |
| I3 | 共享 KB | 无法规库外的 chat 表 |
| I4 | 应用日志抽检 | 无消息正文;DSN 脱敏 |
| I5 | 备份脚本 | pg_dump -Fc 整库;本轮不执行 dump |
| I6 | 违规升级 | 无已确认违规 → 不写 gap-matrix |
四、 预期结果 (Expected Results)
- 盘点表完整
- 判定:缺口是未实现治理,不是已签字数字被违反
- health/ready PASS;FAV 仍 off
五、 实际测试结果与判定 (Actual Results & Evaluation)
5.1 I1 热库
- 测试输入 (Input):
docker exec shuimu-context-pg-dev psql只读COUNT/MIN/MAX(created_at) - 实际输出 (Actual Output):sessions=619;messages=3291;soft_deleted=0;older_than_365d=0;oldest=2026-09-10。
chat_messages5.4MB。Go 检索无SET deleted_at。见pg-counts.tsv、pg-chat-age.txt - 评价判定 (Evaluation / Verdict):PASS(盘点完成;未删数据)
- 性能与耗时 (Duration & Latency):<1s
5.2 I2 事件
- 测试输入 (Input):
jsonb_object_keys(convert_from(payload,'UTF8')::jsonb);? 'content' - 实际输出 (Actual Output):4 envelopes;
has_content=f;keys 为run_id/plan_id/summary_ref等。DLQ=0。fav mode=off,notify/projection/workflow_advance=live。见pg-event-payload-keys.txt - 评价判定 (Evaluation / Verdict):PASS(Track E 正文未进事件)
- 性能与耗时 (Duration & Latency):<1s
5.3 I3 共享 KB
- 测试输入 (Input):
shuimu-kb-shared\dt+ counts - 实际输出 (Actual Output):库名
regulations;法规 2907 文档 / 312919 chunks;无 chat 表。见kb-tables.txt - 评价判定 (Evaluation / Verdict):PASS(对话与 KB 隔离)
- 性能与耗时 (Duration & Latency):<1s
5.4 I4 日志
- 测试输入 (Input):
docker inspectLogDriver;docker logs --tail 30 shuimu-agent-app-dev - 实际输出 (Actual Output):
json-file无 max-size。日志含dsn=postgres://regkb:***@...,无 chat content。见app-logs-tail.txt - 评价判定 (Evaluation / Verdict):PASS
- 性能与耗时 (Duration & Latency):<1s
5.5 I5 备份
- 测试输入 (Input):阅读
scripts/backup-system-db.sh;ls ./backups - 实际输出 (Actual Output):脚本
pg_dump -Fc整库(含 chat 明文);宿主机无./backups。本轮未运行 dump。CIbackup-restore-drill仍在。 - 评价判定 (Evaluation / Verdict):PASS(未清备份、未新造 dump)
- 性能与耗时 (Duration & Latency):N/A
5.6 I6 违规升级
- 测试输入 (Input):对照 ADR
pending-compliance-signoff+ Track E ID-only - 实际输出 (Actual Output):无已确认基线违规。未修改
gap-matrix.md。 - 评价判定 (Evaluation / Verdict):PASS
- 性能与耗时 (Duration & Latency):N/A
5.7 冒烟 / health
- 测试输入 (Input):
go vet ./...;arch-check --mode block;curl :8080/health/ready - 实际输出 (Actual Output):VET_EXIT=0;
arch-check block: production gate passed;schema_version=48;vaultconsumer_mode=off、live_not_opened=true。见health.json、smoke.txt - 评价判定 (Evaluation / Verdict):PASS
- 性能与耗时 (Duration & Latency):vet+arch ~1.4s
六、 自动化测试套件汇总 (Test Suite Execution)
go vet ./... VET_EXIT=0
./scripts/arch-check.sh --mode block production gate passed
W7 无代码变更;go test -short 以 W6 合入后基线为准(TEST_EXIT=0)
只读 SQL 盘点 无 DELETE/UPDATE
七、 测试结论与后续优化建议 (Conclusion & Next Steps)
W7 盘点 PASS。FEATURE-MATRIX D7 保持 deferred。合规签字前禁止按 365/180/30 执行删除。签字后整改应覆盖:聊天 soft-delete 写路径、派生 context_memory_chunks.chat_history、workspace 非终态、备份二次批准。production_ready 不翻转。