# 第 7 课练习：分别查清访问与资料撤回

[English](README.en.md)

打开 [events.csv](events.csv)，你的任务是把“已经看见的事实、立即保护的范围、尚需查证的原因”分开，再写一份可交给负责人处理的记录。八条日志是为练习独立编写的合成资料，不是真实人员或系统记录，不替代北辰公开事件的事实。

## 读懂字段

| 字段 | 含义 |
| --- | --- |
| `event_id` / `path` | 事件编号 / 调查路径：`session_access` 旧会话访问、`source_withdrawal` 资料撤回 |
| `event_order` | 路径内观察顺序，不代表实际时间间隔 |
| `user_id` / `session_id` | 合成用户与会话编号；空会话表示未提供，不代表没有会话 |
| `current_region` / `session_region` | 当前区域 / 会话建立时区域；`south_china` 华南、`east_china` 华东 |
| `document_id` | 合成文档编号 |
| `event_type` / `outcome` | 观察类型 / 记录结果；只说明该条事件 |
| `target` | 资料所在位置或动作目标，如会话、索引、本地下载 |

`retrieval/returned` 表示记录显示资料返回；`export/completed` 表示日志显示一次导出完成。它们不证明当事人完整读过资料、实际使用过内容或随后传播给别人。`recommendation/generated` 只说明生成了建议；`no_external_action` 表示该条未包含外部动作。

## 逐步走查

1. 分别建立两张事实表。旧会话路径确认两次原区域资料返回、一份本地导出；资料撤回路径确认撤回登记、索引仍返回该文档、随后生成建议。不要把它们合并成同一根因。
2. 写即时保护建议：限制相关旧会话继续访问、隔离受影响资料检索路径、通知有权调查的人。真实执行仍由有权负责人决定。保存获准调查所需的日志与证据，注明谁可访问；不要为了“清理”删除调查依据。
3. 为旧会话路径至少提出两种待查解释，如身份变化未传播、会话重新授权缺失。列出能区分解释的请求时权限记录与会话检查；区域字段本身不能确定具体程序缺陷。
4. 为撤回路径查登记、索引更新、提示与缓存、评估集和导出副本。此处未提供同步时间与实现配置，不能从 `returned` 断言一定是哪一处缓存出错。
5. 写恢复条件：既覆盖调岗后存续会话和撤回资料，也覆盖一项正常获准访问。全部拒绝不能证明权限实现正确。测试用合成资料，无需查真实客户文件。

## 自检与判断边界

这里可以核对“两次旧会话返回、一份本地导出”和“两条分别调查的路径”，不能据此算总受影响人数、认定只有三人受影响、确认文件后续去向或声称已经修复。日志中的模拟用户数与北辰公开事件受影响范围是不同口径。

最终交付一页记录：事实、未知、保护建议、调查负责人及需要的权限、恢复证据。用“建议限制”“待查证”说明练习状态，不冒写批准或执行完成。可请同伴找一个未经证据支持的结论；独学时逐句对照 CSV 即可。

把需要持续检查的撤权与撤回情景带入 第 8 课练习，建立评估切片和阻断条件。
