> ## Documentation Index
> Fetch the complete documentation index at: https://qitor.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# G5 迁移与限制

> QitOS G5 · G5 迁移与限制

## 当前 R1 能力与迁移

R1 已完成本地融合及 reasoning、cleanup、handoff、YAML 五项修复。
Python 3.10 清理兼容性作为后续发现单独修复；所有自有资源尝试关闭，
清理失败不会冒充成功或退回已发送请求的预算。Callback/取消保留原异常；
Python 3.10 可读取异常的 `__notes__` 安全数字诊断，标准 traceback 不自动显示它。
CPython 3.10 的 Task 等待方收到取消包装异常，`__context__` 保留原异常及其诊断。

* 新建 Memdir 必须显式 `MemdirMemory("./memory", create=True)`；默认恢复已有目录。
* Read/Edit 直接调用返回 `ToolResult`；先检查 `result.status`，再读取 `result.output`。
* 旧 WorkGraph reader 若不认识 `dispatch_not_started` 必须升级；不要忽略未知状态。
* 严格快照分页与流式导出支持有界消费；完整读取仍物化记录，仍校验历史字节。

离线验收不等于 live 模型资格、PyPI 发布或站点部署。R1 不等于 V5 全部完成。
本页描述源码中的能力；安装时选择准确的源码身份。

## 历史 G5 资格（非当前 R1 同步状态）

G5 runtime `717b4cf1b23f2ed252cd03234ffd8605038d9567` 框架资格通过，S4 本地融合完成。历史 2663 passed / 50 skipped 属于该 SHA；本轮不重跑或冒称新提交通过 G5。远端同步已核验，默认开发分支为 master。后继 CI 修复结果独立记录；未发布或部署。固定历史 G5 提交中的 Python 3.10 publication 会因使用 Python 3.11 才引入的 hashlib.file\_digest 而失败；此路径需 Python 3.11+，本地 G5 资格具体属于 3.12.7。

| 边界                            | 支持范围                                                                                                           |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------- |
| Durable Session / Memory      | SQLite 支持跨进程；Memory 只在进程内；ephemeral 不承诺恢复。                                                                     |
| inspect / pause / steer       | CLI inspect 不需要 provider、凭据或 Docker。CLI live pause/steer unsupported；Python 安全边界暂停与 restore-time steering 已支持。 |
| approval / fork               | 未解决 approval 阻止 restore；steering 不授权工具。fork 读取不可变 snapshot，不修改 source head。                                    |
| timeout / unknown             | timeout 不等于硬取消；unknown effect 不自动重放，需核对外部实际结果。                                                                 |
| sandbox / publication         | cleanup 保留输出，不自动发布。显式 publication 仅支持限定顶层普通文件与支持的 POSIX 平台；macOS 已验收，Linux host publication 未独立验收。             |
| Trajectory / historical trace | journal 是默认；历史 wire ID 与显式 TraceWriter 保持兼容。qita 只读；完整读取目前全量加载。                                                |
| export / privacy              | public redacted export 是声明 loss 的投影，不是 raw 无损副本。                                                               |

## 迁移操作

1. 按准确源码安装，不能只检查 0.6.0 版本号。
2. 将环境变量优先的配置迁移为 agent.yaml + CredentialRef + 显式 resolver。
3. 用 AgentComposition.session 管理标准配置运行；自定义 AgentModule 继续使用公共 Engine/RuntimeComposition。
4. 将 host 文件工具迁移到 attested Docker Env，显式选择需要 publication 的文件。
5. 保留旧 trace，使用 default\_reader 读取新旧数据。

## 故障排查

`sandbox_unavailable`：启动 daemon，核对镜像与资源，不改为 unsafe host。

凭据文件错误：检查 `credentials:` 根节点、ref、0600 文件、0700 目录、仓库外位置。G5 scaffold 示例缺少根节点，请按配置参考替换，不修改检查。

codec loss：即使工具已经执行，下次请求仍可能因无法保留语义而拒绝。保留 request\_sent、预算、工具结果和 loss report；不能关闭检查或将其归为模型不聪明。

required sink 失败：处理存储/权限后核对持久化事实；不能把 final 文本作为成功依据。

[配置](/zh/reference/configuration) · [Quickstart](/zh/quickstart).

master 后继修复：publication 已改用兼容 Python 3.10 的有界文件描述符分块哈希。固定的历史 G5 commit 未改变；当前资格单独记录在 master CI 稳定性计划中。

master 在校验当前文件全部字节摘要后才复用已解析 journal 数据。内容变化时仍完整解析、核验；完整读取仍全量加载。来源分支不存在时，历史资格仅接受固定且已保留的祖先身份；已存在但不匹配的分支仍会失败。
