## ADDED Requirements ### Requirement: 轮询审计事实保留边界 系统 SHALL 仅为产生业务事实变化、轮询失败、结果未知或人工触发的轮询操作持久化统一审计事件及资源快照。成功且无业务变化的自动轮询 MUST 不创建 `tb_audit_event` 或 `tb_audit_event_resource`,审计调查接口仅返回实际已保留的历史事实。 #### Scenario: 自动轮询成功但无业务变化 - **GIVEN** 一次自动轮询成功且没有改变任何业务状态、有效流量或风险结论 - **WHEN** 系统结束该轮询处理 - **THEN** 审计事件和审计资源表不新增该次轮询记录 #### Scenario: 自动轮询改变业务事实 - **GIVEN** 一次自动轮询产生可应用的业务状态或有效流量变化 - **WHEN** 系统提交该变化 - **THEN** 系统保留对应的审计事实与资源快照 ### Requirement: 审计归档与日留存受控执行 系统 SHALL 提供独立的审计归档与日留存任务总开关。总开关关闭时,系统 MUST 不调度、不消费且安全跳过已入队的 Audit 日归档、Integration Log 日归档和日志日留存任务,不扫描或修改在线日志表。总开关开启时,每次任务执行 MUST 至多处理一个已结束的上海自然日;维护者可在低峰期重复执行以推进历史积压。 #### Scenario: 归档与留存总开关关闭 - **GIVEN** 审计归档与日留存任务总开关关闭 - **WHEN** 定时器触发或 Worker 取得已入队的归档或留存任务 - **THEN** 系统跳过该任务,不扫描 `tb_audit_event`、`tb_audit_event_resource` 或 `tb_integration_log`,且不创建归档或清理记录 #### Scenario: 总开关开启时处理积压 - **GIVEN** 审计归档与日留存任务总开关开启,且存在多个未处理的已结束自然日 - **WHEN** Worker 执行一次归档或留存任务 - **THEN** 系统至多处理一个自然日,并保留其余日期供后续受控执行