# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

关闭 - 结束会话
--------------------------

描述
关闭协议结束 BACH 会话并保存它
会话报告并更新目录状态。

命令
-------
bach --shutdown              完全关闭（默认）
bach --shutdown "Summary"    带会话摘要
bach --shutdown quick        快速，无需目录扫描
bach --shutdown emergency    紧急 - 仅保存状态
bach --shutdown --partner=NAME  合作伙伴特定关闭 (v1.1.71)

关闭类型
--------------
完全（默认）：
- 更新目录扫描
- 当 >= 3 次更改时自动快照
- 将会话保存到数据库
- 统计任务统计

快速：
- 没有目录扫描更新
- 保存简短的笔记
- 如果会议即将继续，则需要休息

紧急情况：
- 只保存紧急笔记（优先级10）
- 取消/超时时使用
- 状态的最小备份

完整过程 (v1.1.17)
-------------------------
1。 [目录扫描]
   - 更新目标状态
   - 文档变更

2。 [自动快照] ***新 v1.1.17***
   - 如果 >= 3 次更改：自动快照
   - 名称：auto_YYYYMMDD_HHMMSS
   - 继续：巴赫快照加载

3。 [保存会话]
   - 内存会话中的完整会话
   - 摘要已保存
   - 自动内存回退（v1.1.15）：
     如果没有给出摘要 -> 从 Autolog

4 生成。 [内存状态]
   - 显示工作/事实/会话计数器

5。 [任务统计] *** v1.1.14 ***
   - 计算创建/完成的任务
   - 存储在内存会话中

输出示例
---------------
-------------------------------------------------------
          完全关闭
-------------------------------------------------------
时间：2026-01-22 13:15
-------------------------------------------------------

[目录扫描]
 目标状态已更新（5 个更改）

[自动快照]
 [确定] 创建自动快照（5 处更改）

[保存会话]
 [确定] 会话 session_20260122_1300 已完成

[内存状态]
 工作：3 |事实：5 |会话：12

[任务统计]
 +2 已创建，1 已完成（本次会议）

-------------------------------------------------------
会话结束
-------------------------------------------------------

保存会话报告
-------------------------
在关闭之前保存会话报告：

  bach --memory session "THEMA: Was gemacht. NAECHSTE: Was kommt."

或在关闭期间直接指定摘要：

  bach --shutdown "Help-Dateien aktualisiert. NEXT: memory.txt pruefen"

重要：会话报告属于内存会话（DB），
         不在内存/存档/*.md 文件中！

自动内存回退 (v1.1.15)
------------------------------
如果 Claude 未指定摘要，则会自动创建一个摘要
从自动日志生成。格式：

  [自动回退] 命令：15（8 个唯一）||任务列表、内存读取、...

这是一个安全网 - 手动总结更好！

何时关闭
---------------------
|情况|命令 |原因|
|------------|--------|--------|
|任务完成 | --关机|完整的文档 |
|短暂休息| --快速关机|快点，快点继续|
|超时/中止| --紧急关机|最小备份

|数据源
-------------
-内存会话：会话报告、任务计数器
- memory_working：紧急笔记
- session_snapshots：自动快照

HANDLER
-------
hub/shutdown.py 关闭处理程序（基于数据库）

PARTNER SHUTDOWN (v1.1.71)
--------------------------
对于合作伙伴会话，合作伙伴自动签出：

  bach --shutdown --partner=claude   Claude 签出
  bach --shutdown --partner=gemini   Gemini 签出

印章卡（partner_presence 表）更新：
  - 状态：在线->离线
  - Clocked_out：时间戳设置

如果没有--partner，则假定“用户”为合作伙伴。

PROSYNC（退出时）
------------------
如果 ProSync 已激活（bach setup prosync --multi-system），则
在会话结束时，数据库备份将写入传输中心：
  - 推送：将本地数据库导出为 .bachdb 备份
  - 目标：OneDrive/.SYNC/bach_db_transit/
ProSync 通过 bach.py 中的 atexit 挂钩运行，而不是在关闭处理程序中运行。
详细信息： bach --help db_sync

版本历史记录
----------------
v1.1.0 使用目录扫描基本关闭
v1.1.14 + 任务统计
v1.1.15 + Autolog 的自动内存回退
v1.1.17 + 当>= 3个更改时自动快照
v1.1.71 + 合作伙伴打卡（印章卡）

另请参阅
----------
bach --help startup        启动会话
bach --help memory         内存系统（会话、事实）
bach --help snapshot       管理快照
bach --help tasks          任务管理
bach --help db_sync        ProSync：多系统数据库同步
