- 核对 Git 工作区、分支同步、项目说明与当前发布资产基线。
- 评估桌面客户端页面、服务接口、国际化、远程模型与任务流的完成度和缺口。
- 审查测试、CI、GPU Smoke、打包与安全依赖的风险及验证缺口。
- 输出按优先级、依赖关系和验收标准组织的下一阶段开发计划。
- 定义统一模型就绪状态、聚合来源和客户端状态契约。
- 设计首次使用向导的页面流程、失败恢复和持久化策略。
- 制定模型就绪与首次使用向导的 API、PySide6 离屏和端到端测试方案。
- 输出本周按日拆分的 P0 开发计划和验收门槛。
- 实现模型就绪快照、提供商验证摘要和用户默认模型偏好的后端契约及迁移。
- 实现模型就绪 API、默认模型 API、权限测试和无密钥响应断言。
- 实现桌面端
ReadinessSnapshot、异步单飞刷新 Store 与概览/模型页状态展示。 - 实现首次使用向导、非敏感本机恢复、三语言资源和远程提供商配置复用。
- 为聊天与智能体接入操作前检查,并完成离屏 GUI、端到端 Stub、CI 与文档校准验证。
- 合并路线图、P0 技术设计与本周任务,形成统一技术开发计划。
- 核对统一计划的依赖、阶段门槛、验收标准与引用链接。
- 核对当前 master、技术开发计划、发布资产与任务清单的版本基线。
- 识别 P2 外部验证、Pre-release、跨平台打包和运行环境的未完成事项。
- 输出下一版本的优先级、依赖关系、验收条件与启动建议。
master当前为73590ea;ModelForge CI #23 成功,包含 test、desktop 和 build 作业。- GitHub 当前没有 Release;本地保留 macOS
0.1.1-beta.1ZIP、SHA-256 和测试说明。 - CPU AI smoke 仅可手动触发并要求自托管 Runner 的预置模型路径;GPU Smoke 仍排队,缺少匹配的 NVIDIA Runner。
- Linux/Windows 打包脚本已经具备,但尚未在对应原生平台构建和安装验证。
- 在 Windows 原生环境生成测试包、验证 SHA-256,并完成安装后离屏启动与登录 smoke。
- 在 Linux 原生环境生成测试包、验证 SHA-256,并完成安装后离屏启动与登录 smoke。
- 为 GPU Smoke 配置带
self-hosted、linux、nvidia-gpu标签的 NVIDIA Runner,并通过 CUDA 冒烟。 - 在自托管 CPU Runner 上提供固定本地模型路径,执行真实推理 smoke;如需训练验证,单独确认小模型、数据集和资源上限。
- 经用户确认后创建
v0.1.1-beta.1GitHub Pre-release,上传 macOS ZIP、checksums.txt和测试说明;Release Notes 明示未签名/未公证与跨平台限制。
- 为 Agent 创建向导增加可克隆模板、可编辑的工具/审批策略预览和创建后回放入口,不自动创建 Run。
- 为 Agent 定义显式关联本地或已验证远程模型目标,避免只保存模型名称而丢失提供商路由上下文。
- 补齐远程模型的 401/403/429/5xx、协议能力回退和 SSE 中断恢复矩阵测试与本地化诊断。
- 通过真实使用反馈复核首次使用向导的 7 天抑制、默认模型切换和三语言文本完整性。
- 为 Agent 定义增加可验证模型目标路由、创建后回放和 API/桌面回归测试。
- 为 Agent 创建向导提供模板、工具权限摘要和运行前策略预览。
- 完善远程模型认证、限流、服务错误、协议能力与 SSE 中断恢复的诊断和测试。
- 完成全量质量验证、更新版本规划并推送远端 CI。
- 产出 Windows/Linux、CPU AI、GPU Runner 和 Pre-release 的外部环境执行清单。
- 提交
102a2fa已触发并通过 ModelForge CI #24;test、desktop、build 作业均成功。本地 Ruff、pip-audit、398 个测试(3 个环境跳过)和 Docker/healthz均通过。 - 提交
8ee707c的 CI #25 中 desktop 作业成功;test 作业失败、build 作业跳过。根因是人工审批事件虽然最终写入,但在WAITING_HUMAN状态和批准/拒绝解除执行前未建立持久化可见性边界;现已在三处状态转换前显式 flush,目标回归通过,待推送后复核远端 CI。 - 提交
b6f80de已通过 ModelForge CI #26;test、desktop、build 作业均成功。最终一次本地 Docker 复核因本机 Docker 守护进程已停止而未执行,但远端 build 作业已完成容器构建与健康检查。
- 盘点 master 中全部未完成待办、外部验证清单与版本规划遗留项。
- 按产品、质量、发布和硬件环境分类未完成事项及其依赖。
- 确定下一迭代的单一开发主题、范围边界、验收标准和开始条件。
- 产品主线:以受控真实使用反馈验证首次使用向导的 7 天抑制、默认模型切换与中英日文案完整性;该工作不自动创建 Agent Run、下载模型或训练。
- 发行并行线:Windows/Linux 安装 smoke、CPU/GPU Runner 与 GitHub Pre-release 均依赖外部环境或用户明确确认,应从产品开发中分离跟踪。
- 历史计划:
docs/DEVELOPMENT_PLAN.md中未勾选的 Phase 1–3 是已完成的 2.0 设计参考,不属于当前未完成任务;该文档顶部已有明确说明。
- 核对标签、提交基线、发布资产、SHA-256、测试说明与 GitHub 当前 Release 状态。
- 生成发布校验报告、最终 Release Notes 与人工安装 smoke 清单。
- 复核发布就绪门槛,并向用户呈现待上传资产和已知限制。
- 获得用户明确确认后创建 GitHub Pre-release 并上传资产。
- 已创建 ModelForge v0.1.1-beta.1 Pre-release,标签指向
dd570e79d82dc13679af55e0e1af473f4d53df61。 - 已上传
ModelForge-macOS-0.1.1-beta.1.zip(45,756,603 bytes,SHA-256981b8622bf9a31a4bf0b2d8ae6b08754544b9d834eb320f55a58fe1864557718)和checksums.txt;GitHub 资产摘要与本地校验一致。
- 审查现有 Windows/Linux 打包脚本、版本号与 v0.1.1-beta.1 发布经验。
- 制定 Windows Authenticode 签名、时间戳、公证替代方案及安装 smoke 流程。
- 制定 Linux 打包格式、GPG 签名、仓库/包分发与原生安装 smoke 流程。
- 定义 CI Runner、密钥管理、可复现构建、SBOM/校验和及 v0.1.2 发布门槛。
- 输出跨平台开发计划、实施顺序和需用户确认的证书/发布选择。
- 盘点当前桌面端、模型、Agent、运行时与知识能力的已实现边界。
- 识别不依赖外部测试环境的高价值功能扩展候选。
- 输出按产品价值、实施复杂度、隐私与依赖约束排序的功能建议。
- 确认 Agent 工作台仍直接持有单一
ApiWorker;刷新、版本加载和模板变更需要迁移至AsyncApiMixin,以使用请求键、协作取消与关闭回收。 - 确认模型页已采用
AsyncApiMixin并处理关闭回收,后续只需为刷新请求提供稳定请求键;扩展页仍需完成同样迁移。 - 确认知识页已使用异步混入但缺少关闭回收与请求键;运行时页已有混入但关闭事件未回收后台请求,均需在本轮统一修复。
- 优先实现调度与自动化中心:将现有 Scheduler 的一次性/间隔任务、暂停、恢复、最近运行和失败恢复做成桌面工作区。
- 实现 Agent 工作台:模板版本、工具权限矩阵、模型目标可视化、运行前预览和克隆/导入/导出,不自动启动 Run。
- 实现记忆与上下文控制中心:查看、搜索、固定、编辑、删除跨会话记忆,并提供每会话上下文预算说明。
- 实现运行产物中心:归档 Agent Run、训练和知识问答的输出、引用、日志导出和可复用分享包。
- 实现插件与 MCP 管理中心:能力发现、启停、权限摘要、健康状态和作用域说明。
- 实现知识库集合与访问范围:集合/标签、文档归属、选择性检索、引用追溯和聊天/Agent 绑定。
- 实现模型运行洞察:远程/本地模型延迟、错误分布、令牌/成本估算和默认模型推荐,不采集或显示敏感正文。
- 复核现有 Scheduler、Agent、记忆、知识库、插件/MCP 与运行时能力的可复用边界。
- 编制调度中心、Agent 工作台、记忆与运行产物中心的技术设计。
- 编制知识库集合、插件/MCP 管理和模型运行洞察的技术设计。
- 明确隐私安全、数据保留、权限、实施顺序与功能验收标准。
- 生成并复核统一的功能扩展技术开发文档。
- 实现调度与自动化中心的持久化、API、桌面页面和显式启用工作流。
- 实现 Agent 工作台的模板、定义版本、权限审阅和显式运行入口。
- 实现记忆与上下文控制、运行产物归档和脱敏导出能力。
- 实现知识库集合/范围绑定、插件/MCP 管理和模型运行洞察。
- 更新文档、迁移说明与待办;不在本轮运行测试、构建或发布。
- 调度中心采用持久化草稿、显式启用/暂停、运行审计和手动运行确认;页面打开不会创建 Agent Run。
- Agent 模板与定义版本保存凭据无关的 JSON 快照;控制中心提供记忆、产物、知识集合、插件/MCP 配置档和脱敏模型洞察入口。
- 集合绑定与洞察均采用兼容性基础实现:Agent 的既有
knowledge_config保持可扩展,指标只读取脱敏聚合桶,不保存消息正文或密钥。
- 未运行迁移启动、静态检查、API、PySide6 离屏、权限隔离、调度重启恢复、导出脱敏或 CI;本轮遵循“不执行测试”的约束。
- 未创建 Agent Run、未下载模型、未启动训练、未构建、未打包或发布;用户已明确要求对本轮计划内代码执行提交和推送。
- 盘点所有未提交文件、分支差异和未跟踪规划材料。
- 审阅功能扩展的后端、桌面端、本地化、文档和待办差异。
- 提交计划内变更并推送到 origin/master,不运行测试、构建或发布。
- 本轮功能扩展已提交为
ee57721;默认 HTTPS 推送在连接 GitHub 的 443 端口时超时,待使用 HTTP/1.1 传输重试。
- 完成 P0 模型就绪状态、首次使用向导、聊天/智能体前置检查与验收标准。
- 完成 P1 智能体创建闭环、远程模型诊断和独立桌面质量门禁。
- 完成 P2 CPU/GPU 真实验证准备、跨平台打包和发行工程准备。
- 核对恢复后的本地工作区、origin/master 与 v0.1.2-dev 标签。
- 审阅功能扩展未验证范围与桌面应用版本一致性。
- 准备 v0.1.2 版本提升和跨平台发行所需的本地改动清单。
- 核对当前 master、工作区和本地标签中不存在 v0.1.2-dev。
- 已创建指向
e570006的本地 v0.1.2-dev 开发标签;默认 HTTPS 推送超时,待以备用传输方式同步。 - 保留正式 v0.1.2,直到版本号、跨平台签名与发布门槛完成。
- 核对唯一版本源、现有打包脚本和未提交调度测试改动边界。
- 将桌面端和构建入口统一为 0.1.2-dev。
- 增加 release manifest 和 SBOM 生成入口,且不触发构建。
- 更新跨平台发行文档与开发待办,不运行测试或创建正式标签。
- 审阅未提交调度测试契约改动与自动化中心 API 的一致性。
- 补齐知识集合范围、产物归档与脱敏模型洞察的实际接入。
- 完善 release manifest/SBOM 元数据与受保护签名作业接口。
- 更新功能和发行文档,记录未执行验证边界。
- 盘点并审阅所有未提交功能、版本、工作流、文档和调度契约变更。
- 统一提交计划内变更至本地 master,不运行测试、构建或发布。
- 盘点并审阅本轮控制中心、知识绑定、签名配置与文档改动。
- 统一提交本地 master,并核对其与 origin/master 的提交关系。
- 准备远程推送所需的提交范围和回退信息。
- 盘点记忆、产物、知识集合和签名工程的剩余实现缺口。
- 增加记忆与运行产物的显式编辑、删除和脱敏导出入口。
- 增加知识集合的文档归类与 Agent 范围绑定入口。
- 增加受保护签名流水线的配置接口与最小权限文档。
- 核对 GitHub 远端标签是否存在、为注释标签且指向 e570006。
- 确认本地标签和工作区状态并汇报同步结论。
- 复核 v0.1.2-dev 的未验证边界、桌面端产品缺口和跨平台发行依赖。
- 确定以“可验证的受控自动化与知识范围”为核心的下一迭代目标与非目标。
- 为调度恢复、集合级检索、Agent 工作台和指标采集编写可排序的开发任务与验收标准。
- 将阶段依赖、隐私约束、人工确认点和后续验证门槛写入技术规划文档。
- 建立新增领域对象的迁移策略、服务端归属校验、统一脱敏和时间显示安全基线。
- 完成本地计划的重启恢复、下一次执行计算、并发/失败状态机和自动化页三语言收敛。
- 将知识集合绑定下沉至 Chat/Agent 检索查询,并提供来源追溯与集合桌面管理。
- 实现 Agent 工作台的定义、模板、版本、权限/知识范围审阅及三语言体验。
- 在既有模型调用收尾路径接入无正文的聚合指标写入、预算偏好和解释性洞察。
- 实现插件/MCP 显式健康检查、配置档影响预览与受确认的治理动作。
- 更新计划、待办与未验证范围;不自动启用计划、创建 Run、调用模型或进入发行流程。
- 已新增 SQLite 安全追加迁移说明与统一脱敏辅助;运行产物、计划审计与运行元数据避免持久化已知凭据字段。
- 已实现已启用本地计划的保守重启恢复、
skip错过触发、skip/queue_one/allow_parallel并发策略、每日/每周预览和失败自动暂停。 - 已让知识集合范围进入 RAG 查询、知识问答与 Agent 上下文提供器;集合管理可查看成员、解绑文档和删除集合而不删除文档本体。
- 已新增 Agent 工作台、隐私聚合模型指标/预算偏好和受管理员确认的扩展健康/影响/生命周期控制。
- 仍未运行迁移启动、API、PySide6、权限隔离、调度恢复、集合过滤、指标写入、插件治理、构建或发行验证;正式 v0.1.2 门槛未改变。
- 审阅当前未提交的工作台、自动化、控制中心、指标和扩展治理代码,列出可在不运行服务前修复的产品缺口。
- 完善定义与控制中心的只读审阅、权限/影响说明和可逆操作提示。
- 为自动化、模型洞察和扩展治理补齐不触发执行的可视化信息与客户端契约。
- 收敛新增页面的中英日静态文案和高风险操作的显式确认边界。
- 更新计划与待办,持续声明未验证范围,不执行测试、真实模型调用或发行操作。
- Agent 工作台已可查看定义、模板和不可变版本,但尚缺少定义差异摘要、知识集合名称解析与高风险权限提示的集中呈现。
- 自动化页已要求启用/立即运行确认,但尚缺少最近执行历史、错过触发与并发策略的可视化解释;这些均可在不触发 Agent Run 的前提下补齐。
- 控制中心已能维护集合和预算偏好,但尚缺少预算只读摘要、产物审阅详情和插件/MCP 配置档影响信息。
- 扩展治理页已有健康和影响预览,但应在界面上清楚区分管理员权限不足、健康检查节流和“操作未执行”的状态。
- 修复记忆编辑的服务端用户归属校验,使内容和重要性更新均限定为当前用户拥有的记忆。
- 控制中心新增已脱敏产物详情、插件/MCP 配置档只读预览、显式删除、记忆编辑及预算摘要;预览不会应用配置档、加载插件或启动 MCP 服务。
- 自动化页新增执行历史读取、时区、错过触发和并发策略说明;读取历史不会创建 Agent Run。
- 模型洞察返回错误分类与日/周预算提醒摘要,预算始终只提供信息,不停止、路由或改变模型调用。
- Agent Run 启动新增二次确认;扩展治理进一步说明管理员权限与健康检查节流。
- 核对 28 个已修改文件、6 个新增文件、分支基线与开发版本标识。
- 审阅全量差异、空白错误、敏感文件/密钥模式与版本归档文档。
- 统一提交当前 v0.1.2-dev 开发实现和技术文档到本地 master,不运行测试、构建或发布。
- 记录本地提交 SHA、工作区清洁度和远程推送准备关系。
- 核对远程 master 快进条件、当前
APP_VERSION与正式v0.1.2发行门槛。 - 推送已归档的本地 master 提交至 origin,不创建或推送正式
v0.1.2标签。 - 记录远程同步 SHA,并说明正式标签仍需满足的版本号、签名与跨平台验证条件。
- 复核当前 v0.1.2-dev 基线、既有功能扩展计划、发行计划与未提交跟踪记录。
- 审查并发、线程、任务取消、SSE、调度恢复、SQLite 迁移、插件生命周期与用户隔离方面的遗留债务。
- 设计 B2–H7 的任务分解、阶段依赖、风险边界、非目标及可验证验收标准。
- 编写下一迭代技术开发计划并同步待办,保持不执行测试、构建、发布或真实运行操作的约束。
- 仓库内不存在 B2–H7 的既有阶段定义;下一计划将明确其命名含义与依赖关系,避免与历史 Phase/3.x 文档混淆。
DEVELOPMENT_PLAN.md中“已完成/测试全绿”属于历史版本材料;当前计划必须以a529ecd的v0.1.2-dev未验证实现和现行发行门槛为准。- 进程内
Scheduler具备任务取消与gather收敛基础,但回调异常当前被静默忽略;内存任务映射与持久化计划/执行记录之间需要明确的幂等、状态和可观测性协调。 - Task SSE 的 outbox 采用进程内发布线程和至少一次唤醒,需规划跨进程 lease、退避/死信和可观测指标;当前 SQLite 引擎未显式设置 WAL、busy timeout 或写入重试策略,需纳入并发写入治理。
- Agent 运行时以单进程集合维护执行、审批和去重状态;取消与终态收尾需要原子化状态迁移,事件流无界队列需要背压策略,且 flush/指标异常的静默隔离应转为可观测但不影响主路径的失败记录。
- 插件管理器以全局内存状态和共享工具注册表执行生命周期,缺少串行锁、持久化审计、装载回滚与 scope 隔离;桌面
ApiWorker仅能请求中断并在关闭时强制终止,缺少协作取消、超时和页面级请求去重。
- 盘点当前 schema、手写增量迁移、SQLite 连接参数与 Run/计划状态字段的兼容性边界。
- 实现迁移账本、迁移版本检查、SQLite WAL/busy timeout 和有限锁冲突重试的安全基线。
- 为工作区 API 引入稳定请求/错误契约,并统一脱敏审计关联字段。
- 审查并固定 C3 的 Run/计划 claim、CAS 终态、取消传播、事件背压和指标失败隔离方案。
- 更新 B2–H7 技术计划与待办,记录未验证范围,不执行任何真实运行操作。
- 实现 Agent Run/计划 occurrence 的持久 claim、CAS 终态、幂等事件键和指标 emission 基线。
- 实现 SSE 有界订阅、慢消费者 resync、outbox lease/退避与可重放治理。
- 实现计划恢复、取消、保留清理和运行时关闭的确定性生命周期协调。
- 实现插件/MCP 生命周期锁、操作审计、回滚语义和作用域隔离基础。
- 实现桌面 ApiWorker 协作取消、超时、请求代次与剩余三语言交互收敛。
- 完善验证矩阵、迁移/并发/发行证据模板和门禁脚本;不实际运行验证、签名或发行。
- 更新文档与待办,汇报累计未验证实现与提交准备状态。
- 盘点当前 20 个已修改文件、6 个新增文件、
master基线与开发版本标识。 - 审阅迁移账本、CAS/lease、outbox/SSE、桌面异步和插件治理变更的引用完整性与敏感信息风险。
- 核对 C3、B2–H7、H7 验证、迁移与签名文档的版本归档边界及未验证声明。
- 准备统一本地提交候选;不运行测试、构建、签名、发布或推送。
- 核对用户确认后的工作区候选与当前
master基线。 - 暂存全部经审阅的 B2–H7 代码、迁移、客户端与文档变更,并检查暂存区格式。
- 创建本地
feat: implement B2-H7 concurrency and lifecycle foundations提交。 - 记录提交 SHA、工作区清洁度和相对 origin/master 的推送准备关系。
- 核对 origin/master 快进条件与当前归档提交 SHA。
- Git 传输恢复后,推送本地 master 的 B2–H7 归档提交至 origin;当前网络连接已阻塞安全推送。
- 创建本地注释开发标签
v0.1.3-dev;Git 传输恢复后再推送该标签,不创建正式 tag 或 Release。 - 初始化下一迭代周期的目标、非目标、工作包和未验证边界。
- Git 传输恢复后核对远程分支与开发标签;当前先核对本地标签和工作区状态并汇报。
- I1:实现迁移 ledger/schema/索引的只读预检和失败诊断,不运行真实升级演练。
- I2:为 CAS、lease、occurrence、event/outbox 和 SSE resync 增加脱敏只读诊断。
- I3:扩展控制面 API 的稳定契约、关联标识和审计保留边界。
- I4:完善运行时关闭、补偿、retention 和受确认恢复动作的状态可见性。
- I5:收敛高频桌面请求编排、窗口关闭回收和中英日资源键。
- I6:完善 H7 证据 JSON schema、发行 go/no-go 表和受保护签名材料;不执行验证或发行。
- 审阅当前迁移账本、SQLite 元数据、管理权限与桌面 API 客户端,确定只读预检契约。
- 实现 ledger/schema/索引差异的只读诊断服务与无敏感响应模型。
- 接入管理员受保护的预检读取 API 和桌面控制中心入口,严禁调用
init_db()或执行迁移。 - 更新 I1 文档和待办,完成静态审阅后统一提交 I1 代码、开发计划和 todo 到本地 master。
- I2:为 Run/计划 claim、事件/outbox lease 与 SSE resync 实现脱敏只读诊断模型和管理员读取入口。
- I3:将剩余控制面写端点收敛为稳定请求/错误契约、关联标识与脱敏审计边界。
- I4:增加运行时关闭、补偿、retention 与受确认恢复动作的只读状态可见性。
- I5:为高频桌面页面接入请求代次、关闭回收与中英日交互资源收敛。
- I6:完善 H7 证据 JSON schema、发行 go/no-go 清单与受保护签名材料,不执行任何验证或发行。
- 更新 v0.1.3-dev 开发计划和待办,汇报全部未验证实现与本地归档准备。
- 核对 10 个已修改文件、4 个新增文件、当前
master基线与详细 diff。 - 审阅静态格式、迁移/诊断只读边界、控制面审计与敏感信息风险。
- 暂存并创建 I2–I6 本地开发归档提交,不运行测试、构建、签名、发布或推送。
- 记录提交 SHA、工作区清洁度和相对 origin/master 的推送准备关系。
- 刷新 origin/master 并核对
c0966c8、aed9497的安全快进条件。 - 推送本地 master 的两项 I1–I6 归档提交至 origin。
- 核对远程 SHA、工作区清洁度和本地/远程分支关系。
- 核对当前未完成的产品、稳定性、验证、外部环境和正式发行任务。
- 区分可在本地继续开发的工作与必须获得验证授权、凭据、平台或用户批准的阻塞项。
- 按优先级、依赖和开发/发布风险输出剩余任务清单。
- 获得用户验证授权后,按 H7/I6 证据矩阵对 I1–I6、B2–H7 运行迁移、并发、SSE、生命周期、插件、桌面和权限验证并保存脱敏证据。
- 已为 Agent 定义/模板、模型默认、计划草稿与计划动作补齐稳定契约、关联标识与脱敏审计;旧客户端兼容性仍待单独验证。
- 已提供 retention 的用户绑定只读预览 token 与确认语义检查;实际清理、恢复和补偿仍明确禁用。
- 已将请求代次、关闭回收与三语言资源扩展到 Agent、工作台、自动化、扩展、模型、知识和运行时高频页;交互覆盖仍待获得验证授权后复核。
- 在用户明确要求创建新快照时,为包含 I1–I6/NT1–NT5 的固定提交创建新的不可变开发标签,不重写
v0.1.3-dev。 - 通过固定 SHA、版本号升级、跨平台签名、安装验证、受保护审批和用户发行批准后,才可创建正式版本标签与 Release。
- 已新增
docs/TODO_HISTORICAL_ARCHIVE.md归档索引并修正 v0.1.3 开发计划中的过期 Git 传输描述;历史验证与发行决策仍保留可追溯性。
- 盘点
c92ae0a之后仍未收敛的控制面事务边界、审计原子性、旧客户端兼容性与只读诊断契约。 - 制定下一阶段的顺序化技术开发计划,区分可静态实现项、需验证授权项与需用户确认的状态变更项;见
docs/NEXT_STAGE_STABILITY_HARDENING_PLAN.md。 - SH1:收敛计划和模型默认控制面的事务/审计边界;计划草稿创建/更新、模型默认设置/清除、计划启用/暂停/删除均已采用兼容的单次持久化提交与提交后协调策略,仍待独立验证。
- SH2:实现脱敏、分页、只读的操作审计查询与客户端/控制中心摘要入口。
- SH3:将遗留 AgentEngine 对话状态按用户与 Agent 隔离,并保留匿名兼容 scope;不执行 chat 或工具调用。
- SH4:收敛工具权限上下文与 EventBus 失败/溢出诊断契约,不改变实际 policy 决策或恢复事件。
- SH5:为固定候选 SHA 补齐兼容性/验证证据映射与文档治理;不执行实际测试、迁移、构建、签名或发行。
- 计划草稿创建/更新与模型默认设置/清除可使用
commit=False延迟服务内部提交,使 API 在写入脱敏审计后单次提交;外部运行时计划生命周期仍保留原有独立事务,未在本轮模拟或执行。 - 操作审计新入口只返回固定头字段、时间游标和关联标识,明确不返回
metadata_json、请求正文或模型正文;控制中心仅显示这些摘要。 - AgentEngine 以
(user_id, agent_name)隔离真实用户内存状态,未传用户的遗留调用固定使用匿名 scope;工具权限上下文仅传递声明摘要,生命周期快照新增 EventBus 写失败/队列溢出计数。 docs/NEXT_STAGE_STABILITY_HARDENING_PLAN.md与docs/NEXT_STAGE_VALIDATION_EVIDENCE_MAP.md仅定义后续验证与 No-Go 边界;本轮未运行任何验证或运行性动作。
- 完成运行时计划启用、暂停、删除与立即运行路径的事务/审计策略设计;不得为实现或审阅而调用这些动作。
- 审阅 SH1–SH5 的完整差异、兼容性、只读/确认边界及敏感信息扫描;不运行测试、服务、迁移或真实运行时操作。
- 创建本地归档提交并推送已审阅的下一阶段改动到
origin/master;不得创建、移动或推送任何标签。
- 检查 GitHub HTTPS/DNS 连通性、远端
master引用和本地领先提交,再重试正常 Git 推送;不得通过 API 强行移动远端 ref。 - 在远端同步状态明确后盘点下一阶段的剩余可靠性、兼容性和只读诊断债务,并形成顺序化开发计划;见
docs/NEXT_STAGE_OBSERVABILITY_REDACTION_PLAN.md。 - 按新计划顺序实施 OR1–OR5 的静态开发项,不触发模型、Agent Run、计划、插件、迁移、构建、签名、标签、Release。
- OR1:在 EventBus 持久化及订阅前统一脱敏事件 body、敏感键和错误详情,并限制非敏感文本长度。
- OR2:新增 EventBus/后台任务只读聚合计数,且将事件持久化失败日志收敛为异常类型。
- OR3:控制中心以显式点击的只读摘要显示新增诊断,并补齐中英日模板资源。
- OR4:OpenAI 兼容端点以关联响应头和稳定错误 envelope 替代底层异常回显,保留成功与 SSE 结构。
- OR5:新增
docs/NEXT_STAGE_OBSERVABILITY_VALIDATION_MAP.md,定义固定 SHA、脱敏证据与 No-Go 条件。 - 获得单独授权后,按 OR1–OR5 验证映射执行测试并收集脱敏证据;在此之前不创建 tag、签名或 Release。
- 审阅 OR1–OR5 全量差异、未跟踪文档、敏感信息和静态格式,再创建单一归档提交并推送至
origin/master;归档提交为33c65a8e7875ffc6813f2fad4d31f5ddbeecef04。 - 以推送成功后的固定提交为基线盘点下一阶段剩余技术债务,并创建顺序化、非运行性开发计划;见
docs/NEXT_STAGE_API_COMPATIBILITY_PLAN.md。 - 按 AC1–AC5 顺序实施 API 兼容与远程模型配置加固;验证、构建、签名、标签和 Release 继续独立受控。
- 审阅
docs/NEXT_STAGE_API_COMPATIBILITY_PLAN.md与待办差异、远端基线和敏感信息后,创建并推送仅包含规划材料的 Git 提交。 - 盘点并规范化远程 provider 的 base URL、协议、模型名称与仅摘要化的凭据状态;保持密钥 write-only,不连接或探测 provider。
- 静态审阅 AC1 的兼容字段、Responses 默认与显式 Chat Completions 回退边界;不执行网络模型调用、测试、迁移、构建、签名、标签或 Release。
- 审阅并归档 AC1 的 URL/协议/模型名规范化、公开配置摘要、稳定错误与 provider 验证确认契约,推送至
origin/master;归档提交为77dc9ed2004a87e7faffcffd10bd243b7f2c135f。 - 盘点模型、知识和训练 API 的非执行性控制面错误路径,区分可安全收敛的元数据端点与必须保持未调用的执行型端点。
- 实现 AC2 的内容无关元数据 problem code、关联标识与脱敏失败响应;上传、检索、回答、训练、扫描、provider 验证和推理路径均未调用或改造。
- 审阅并归档 AC2 本地模型、知识库与训练任务元数据错误契约,推送至
origin/master;归档提交为78158c6a638b572328b7fe00270d3b6c20547cef。 - 盘点 SSE 查询参数、
Last-Event-ID、用户与 Run 作用域、cursor 失效和桌面重连入口,保持全程不启动流或发布事件。 - 实现 AC3 的稳定 cursor/作用域/重连协议契约与脱敏断线响应;不创建 Run、恢复计划、调用模型或重放事件。
- 获得单独授权后验证跨用户/跨 Run cursor、Last-Event-ID 优先级、批量 resync、断线退避和关闭回收;在此之前不启动 SSE 流。
- 审阅并归档 AC3 的任务/Agent Run SSE cursor、关联标识、控制事件、脱敏断线状态和关闭回收改动,推送至
origin/master;归档提交为a5f573c3b7318cd5cbc310b9caf516354be2f0f3。 - 盘点桌面模型配置对 provider
endpoint、credential_state、协议、错误关联标识与本地化资源的现有展示路径,且不触发保存或验证。 - 实现 AC4 的只读安全配置摘要、稳定关联提示和中英日资源;不显示 API Key、密文、密钥摘要或异常正文,也不自动连接 provider。
- 获得单独授权后,在中英日界面验证 provider 保存、取消验证、确认验证、稳定错误关联提示和 API Key 不回显;此前不打开或连接 provider。
- 审阅并归档 AC4 的 provider 安全摘要、验证确认、关联错误提示和三语言资源改动,推送至
origin/master;归档提交为4d85faa07d73231ab43163ad5b8126e2ca46cd8e。 - 审阅 API 兼容计划、既有验证证据模板与 Release No-Go 门槛,确定 AC5 的固定候选 SHA、最小脱敏证据和阻断条件。
- 编写 AC5 API 兼容性验证证据映射与待办收口;不运行测试、启动服务、连接 provider、创建 tag、签名或 Release。
- 已定义 AC1–AC4 的固定候选 SHA、最小脱敏证据、No-Go 条件、桌面三语言检查和正式发行隔离;见
docs/API_COMPATIBILITY_VALIDATION_EVIDENCE_MAP.md。 - 获得单独授权后才可针对该映射执行 API、SSE、桌面或 provider 验证;当前状态必须保持
not_run和 No-Go。
- 审阅并归档 AC5 验证映射与待办收口,推送至
origin/master;不得创建、移动或推送标签。 - 以同步后的固定提交盘点仍未收敛的可靠性、控制面兼容性、用户隔离和桌面生命周期债务。
- 创建下一阶段顺序化、非运行性开发计划,明确可静态实施项、验证授权项与正式发行阻断条件。
- 已完成后续技术债务盘点与顺序化计划;见
docs/NEXT_STAGE_EXECUTION_INTENT_PLAN.md。 - EI1:收敛 Agent Run 创建、取消、批准和拒绝的显式确认、稳定错误、关联标识与脱敏审计;不创建或执行 Run。
- EI2:收敛用户发起的任务重试/取消与批量部分失败契约,保留内部状态上报路径;不重试、取消或投递任务。
- EI3:收敛训练开始、停止和模型注册的确认、用户作用域与审计;不读取数据集或启动训练。
- EI4:收敛桌面确认对话框、稳定错误关联提示和三语言资源;不模拟用户操作或调用写 API。
- EI5:编写固定 SHA 的执行意图与跨用户验证映射;不执行验证、构建、签名、标签或 Release。
- EI6:新增集中式动作风险目录,登记风险等级、确认要求、对象类型和审计字段白名单;不触发控制面动作。
- EI7:为 EI1–EI3 控制面接入审计摘要预校验、动作字段白名单与审计持久化不确定回执;不执行运行性动作。
- EI8:提供高风险动作的用户绑定、摘要化、短期预览令牌与始终阻断执行的确认检查;不查找目标、不写审计或执行动作。
- EI9:为任务重试/取消和批量重试增加预期版本契约、无枚举泄露的不可用响应与仅含稳定 ID/状态/版本的批量成功结果;不执行任务操作。
- EI10:收敛 Memory 与 Workspace 删除/关联控制面,新增确认、关联标识、用户范围与无正文审计摘要;不读取内容或执行资源变更。
- EI11:对齐插件与 MCP 的确认、风险目录和无凭据审计摘要,区分保存配置与实际连接/生命周期;不安装、加载、连接或变更扩展状态。
- EI12:提供用户范围、内容无关的预算/队列/委托/工具上限摘要;不收集正文、不阻断或触发运行性动作。
- EI13:新增受版本控制的控制面错误目录,定义 HTTP 状态、可重试性、关联标识要求与禁止暴露字段;不批量重写历史端点。
- EI14:收敛关键桌面页面的协作取消、关闭回收与稳定错误码/关联标识提示;不启动 GUI、SSE 或发起 API 请求。
- EI15:新增执行意图治理与验证隔离文档,固化候选 SHA、未运行证据、同步可追溯性与发行 No-Go 门槛;不执行验证、提交、标签或发行。
- 检查 GitHub 网络、远端引用和本地
c1622cd提交后重试正常 Git 推送;不得使用 API 更新远端 ref。 - 细化 EI6–EI15 的集中风险目录、审计失效回执、预览摘要、任务版本契约、Memory/Workspace、插件/MCP、预算摘要、错误目录、桌面生命周期及文档隔离边界。
- EI1–EI5:按既有执行意图计划顺序完成 Agent Run、任务、训练、桌面、验证映射的静态契约收敛。
- EI6–EI10:按扩展计划顺序完成动作风险目录、审计边界、预览摘要、任务所有权/版本和 Memory/Workspace 控制面收敛。
- EI11–EI15:按扩展计划顺序完成插件/MCP 一致性、预算摘要、错误目录、桌面关闭提示和文档治理。
- 最后执行静态格式、敏感信息、执行调用和未跟踪范围审阅;不运行测试、服务、迁移、真实 provider、构建、签名、标签或 Release。
- Agent Run 请求当前默认
execute=true,创建、取消、批准和拒绝端点也没有统一确认/关联审计契约;输入和 metadata 必须继续排除在审计摘要之外。 - 运行时取消会立即发布事件并递归取消子 Run,故 API 必须在调用前拒绝未确认请求;审计只记录动作、对象标识和确认状态。
- 桌面 Agent Run API 方法当前默认执行且未传确认载荷;需将确认与请求标识改为调用方显式参数,避免客户端默认触发运行性动作。
- 创建请求现默认
execute=false且必须confirm=true;取消/批准/拒绝同样在运行时调用前拒绝未确认请求,并仅审计确认状态、执行意图与 session 是否绑定。 - 获得单独授权后验证确认缺失拒绝、确认创建/取消/批准/拒绝、审计脱敏、旧客户端适配与运行时状态机;此前不创建或执行 Run。
- 用户任务重试/取消当前会立即调用执行器或 outbox 发布器,且批量重试缺少确认、关联审计和统一失败形状;内部
transition必须保留无确认的独立状态上报路径。 - 桌面任务客户端将以显式确认与请求标识调用用户动作;批量部分失败只允许返回当前用户可见任务的稳定 ID 与错误码。
- 任务状态存储直连取消/重试 API;应由任务中心确认分支传入显式确认,存储层保持现有用户动作刷新与内部状态同步分离。
- 单项/批量重试与取消现均在执行器或 outbox 调用前拒绝未确认请求,成功结果附加关联标识,审计仅保留动作、任务标识、确认与计数摘要。
- 获得单独授权后验证确认拒绝、重试/取消分支、批量部分失败、内部 transition 兼容性、outbox 调度与脱敏审计;此前不重试、取消或投递任务。
- 训练开始会读取数据集、写入配置并启动子进程,停止会终止进程,模型注册会创建本地模型记录;三者必须在服务调用前要求确认,并避免审计数据集路径、训练配置、日志或错误正文。
- 训练开始、停止和模型注册现均在服务调用前拒绝未确认请求,成功结果携带关联标识,审计只保留动作、任务标识、确认、数据集绑定布尔值和方法名称。
- 获得单独授权后验证取消确认、确认开始/停止/注册、用户隔离、失败脱敏、训练子进程与模型记录;此前不读取数据集或启动训练。
- 桌面客户端能读取服务端 problem 的 code 与关联标识,但仍会拼接 HTTP/连接层原始错误;需改为稳定安全摘要,并让确认提示与状态文本使用当前语言资源。
- 任务中心与训练页的静态控件可由现有本地化适配器转换;运行时确认框、失败提示与关联标识必须在调用点使用资源模板,不能保留硬编码或原始异常文本。
- API 客户端现仅保留受限稳定错误码和关联标识;Agent Run、任务重试/取消、训练与远程模型服务的动态控制面提示已使用三语言模板,且 Agent Run 取消新增显式确认。
- 获得单独授权后验证三个语言下的确认/拒绝/失败呈现、关联标识传递、任务 SSE 断线状态、Agent Run 创建/取消、训练动作与远程模型验证;此前不打开桌面界面或发起写 API。
- 已新增
docs/EXECUTION_INTENT_VALIDATION_EVIDENCE_MAP.md:要求唯一完整 40 位候选 SHA、最小化请求/审计/用户范围证据、三语言脱敏截图和严格 No-Go 处理。 - 映射覆盖 EI1–EI4 的未确认拒绝、确认动作、重复确认、跨用户范围、服务提交/审计协调、关闭/拒绝确认与动态本地化风险。
- 固定候选 SHA 并获得单独授权后,方可收集任何请求计数、状态版本、审计头字段、桌面截图或跨用户验证证据;目前全部为未执行状态,不能用于发行决定。
- 已新增
backend/app/core/action_risk.py,用不可变策略条目登记 Agent、Run、Task、Training、Provider、Schedule、Plugin/MCP、Memory/Workspace 和模型洞察动作的风险属性。 - 目录只暴露查询函数,不导入数据库、HTTP、运行时、执行器、provider 或插件加载逻辑;现有审计动作的静态登记扫描已无缺口。
- 在后续端点渐进接入或验证前,需确认现有动作码与目录的一致性、低风险配置动作的确认语义,以及允许审计字段是否与真实持久化边界一致。
-
TrainingService.start()、stop()与register_model()拥有内部提交或运行性副作用;当前 API 层后置审计无法提供跨进程、跨提交原子性,后续回执不得把审计协调失败表述为训练已成功执行。 - 已新增控制面审计摘要预校验和动作字段白名单;Agent Run、任务重试/取消与训练动作均在运行性服务调用前校验摘要,并在审计持久化失败时返回稳定的“已接受、审计持久化未知”错误码。
- 获得授权后验证数据库异常、运行时副作用与审计持久化的实际协调语义;尤其训练服务内部提交、任务发布器唤醒和 Agent runtime 内存状态不能因静态改造而宣称已具备原子事务。
- 已新增
execution_intent_preview服务及 Workspace 预览/确认检查端点;摘要只含动作、风险等级、对象类型、目标数量、版本数量、摘要哈希与过期时间,令牌绑定当前用户和动作。 - 预览与确认检查不接收正文或 metadata,不解析目标存在性,不使用数据库会话,不写审计、不调用 runtime、训练、provider、插件或任务执行器,且所有返回都标记
execution_blocked=true。 - 获得单独授权后验证令牌过期、范围不匹配、动作不匹配、确认拒绝与 UI 预览呈现;当前不得以该只读契约执行后续控制面动作。
- 单任务重试/取消和批量重试可携带当前用户可见任务的预期版本;版本不匹配在调用重试或取消服务前返回带关联标识的稳定冲突码。
- 按当前用户范围查找不到任务时统一返回
TASK_UNAVAILABLE,批量路径不返回其他用户对象详情;成功批量结果仅含新任务稳定 ID、状态和版本。 - 获得单独授权后验证跨用户不可枚举、并发版本冲突、批量混合目标与任务执行器/发布器协调;现有任务服务内部提交与发布器唤醒仍不能仅凭静态审阅宣称原子或幂等。
- Memory 编辑以当前用户范围直接更新并只审计“值是否变更/重要性是否变更”等布尔摘要;Memory 删除、产物删除、集合关联增删、集合删除和插件配置档删除均在状态变更前要求
confirm=true。 - Workspace 不可用目标统一使用当前用户范围的
WORKSPACE_RESOURCE_UNAVAILABLE;控制中心只在既有确认对话框接受后传递确认字段,并为文档归类补齐确认步骤。 - 获得单独授权后验证 Memory/Workspace 的实际删除、集合关联、回滚、审计失败与 UI 三语言错误呈现;当前未读取记忆、产物或文档正文,未加载插件、连接 MCP 或执行资源变更。
- 插件安装、加载、启停、挂载和卸载通过集中风险目录要求确认、请求关联标识及固定审计摘要;审计持久化异常返回稳定未知回执,不附带 manifest、路径、token 或异常正文。
- MCP 运行时注册明确按连接动作要求确认,MCP 移除同样要求确认;返回仅包含名称与连接请求状态,不返回 endpoint 或运行时原始结果。插件配置档保存继续作为独立、不加载扩展的配置路径。
- 获得单独授权后验证插件/MCP 未确认拒绝、管理员范围、依赖阻断、审计异常和无 token 回显;当前未发现、安装、加载、启动、停止、挂载、卸载或连接任何扩展/MCP 服务。
- 已新增只读
control-plane-budget摘要:仅使用当前用户的聚合成本估算、运行中任务数量和已配置的运行时默认限制,公开每日/每周上限、已用、剩余、状态与拒绝原因码。 - 队列没有已配置上限时明确返回
QUEUE_LIMIT_NOT_CONFIGURED;委托深度/子项数与工具迭代/调用上限仅作为默认策略摘要,端点不获取运行时实例、不写审计、不读取提示词、响应或工具参数。 - 获得单独授权后验证多时区聚合、预算边界、缺失设置、桌面展示及与未来强制限额策略的兼容性;当前摘要仅供信息参考,绝不启动、停止、路由或修改运行。
- 已新增
backend/app/core/control_plane_errors.py作为代码单一事实来源,并以docs/CONTROL_PLANE_ERROR_CATALOG.md说明确认缺失、审计不确定、不可用、并发冲突与预览策略错误的稳定语义。 - 每条目录记录包含 HTTP 状态、可重试性、关联标识要求和禁止字段;目录明确禁止原始异常、正文、路径、所有权细节和凭据进入控制面错误展示。
- 获得单独授权后逐端点核对目录覆盖、HTTP 兼容字段、三语言 UI 呈现和可重试流程;当前目录不自动重写未迁移端点,也不构成接口行为验证。
-
AsyncApiMixin保持请求键 generation、协作requestInterruption()、有限等待和晚到回调失效;聊天流与运行时间线已移除强制terminate(),静态扫描未发现桌面客户端剩余强杀调用。 - 后台 API/SSE 工作者未知异常统一为
CLIENT_REQUEST_FAILED,已知客户端错误仅透传稳定 code 与可选关联标识;Agent、训练、控制中心和运行时间线的关键动态错误展示使用本地化安全格式化器。 - 获得单独授权后验证窗口关闭时的线程回收、SSE 中断、晚到回调抑制、三语言关联提示与无原始异常展示;当前未打开 GUI、消费 SSE 或发起网络请求。
- 已新增
docs/EXECUTION_INTENT_GOVERNANCE_AND_VALIDATION_ISOLATION.md,将 EI1–EI14 的静态交付与 EI5 证据映射、AC5 基线、不可变v0.1.3-dev标签和开发版发行限制建立可追溯关联。 - 文档明确候选版本必须为提交后的唯一完整 40 位 SHA,所有实际控制面、GUI、SSE、provider、训练、插件、迁移、构建和签名验证均为未运行状态;未授权前不得创建正式 tag 或 Release。
- 获得明确授权、固定候选 SHA 和隔离验证环境后,才可按 EI5 映射收集证据并由发行负责人审阅;当前文档不替代验证、审批、签名或发行操作。
-
git diff --check通过;受检后端、桌面和文档目录未发现冲突标记;桌面客户端静态扫描未发现强制terminate()调用。 - 新增执行意图预览与预算摘要服务静态扫描未发现 runtime、训练、任务发布器、审计写入或数据库提交调用;受控审计调用未包含训练路径、运行正文、连接地址、manifest 或凭据字段。
- 未运行 pytest、Ruff、后端服务、GUI、SSE、迁移、Docker、Agent/任务/训练/模型/provider/插件/MCP 动作、构建、签名、标签或 Release;最终行为结论必须等待固定候选 SHA 和单独授权。
- 核对当前 Git 分支、未提交文件、逐文件差异和未跟踪治理文档;不执行提交、推送、测试或运行性操作。
- 汇总 EI1–EI15 新增治理文档及其核心要点,并明确其不构成行为验证或发行批准。
- 复核当前工作区差异、暂存范围和远端
master基线后,创建仅含 EI1–EI15 静态实现与治理文档的本地归档提交:61b210946ad6af7ca1b6d22b924c08dd85c92533。 - 以正常 Git 协议推送归档提交至 GitHub
master并核对远端引用:61b210946ad6af7ca1b6d22b924c08dd85c92533;未创建或变更标签、Release。
- 盘点
7d8fdc1d2adfbb55458b2032ca4d7ebc327b60d5已归档基线的未完成待办、控制面技术债务与桌面客户端遗留项;不运行验证或控制面动作。 - 编写下一阶段顺序化技术开发计划,标明静态可实施项、必须单独授权的行为验证项和正式发行 No-Go 条件;见
docs/NEXT_STAGE_CONTROL_PLANE_ASSURANCE_PLAN.md。 - 按计划实施首个无运行性副作用的工作包:CP1 控制面契约目录;不调用端点、运行时或数据库。
- 已新增
backend/app/core/control_plane_contracts.py与docs/CONTROL_PLANE_CONTRACT_CATALOG.md,将 19 个已迁移高风险动作交叉映射到风险策略、确认/不可用/审计未知错误码、所有权语义和只读预览资格。 - CP1 目录仅依赖已有的动作风险与错误目录查询,不导入 HTTP、数据库、运行时、provider 或插件管理器;静态扫描未发现执行、审计写入或提交调用。
- 后续 CP2–CP8 需逐项静态实施;任何端点行为、跨用户范围、预览过期、运行性协调和正式发行验证均需固定候选 SHA 与单独授权。
- 审阅 Agent Run、Task、Training、Memory、Workspace、Plugin/MCP 等资源的当前用户范围、管理员范围和版本冲突路径;不探测跨用户对象。
- 编写统一的可用性、不可枚举、版本冲突与管理员范围设计,并新增仅描述策略的静态辅助契约;见
docs/CONTROL_PLANE_OWNERSHIP_SEMANTICS.md。 - 静态核对 CP2 代码不查询或泄露跨用户资源,不创建测试用户、不启动服务或触发控制面动作。
- 已新增
backend/app/core/resource_access.py:为 Agent Run、Task、Training、Memory、Workspace、Plugin 与 MCP 资源登记当前用户/运行时管理员范围、不可用代码与适用冲突代码;辅助函数不执行查询或状态变更。 - 错误目录新增管理员、Agent Run、训练、插件和 MCP 的不可用/范围代码;
get_runtime_admin()现返回带关联标识的RUNTIME_ADMIN_REQUIRED,不回显管理员配置列表。 - 静态扫描显示资源辅助模块未导入数据库、网络或插件执行依赖,未包含查询、提交或全局对象查找调用;
git diff --check通过。 - 未来获得固定候选 SHA、隔离用户和明确授权后,验证跨用户不可枚举、管理员拒绝、版本冲突刷新与端点兼容字段;当前未创建用户、查询他人资源、启动服务或触发控制面动作。
- 审阅 Agent runtime、任务发布器、训练服务、插件/MCP 生命周期和审计服务的提交/内存/外部副作用边界;不启动或调用任何组件。
- 编写领域状态、审计持久化、独立运行性副作用与稳定未知回执的协调设计,并新增仅描述分类的静态辅助契约;见
docs/CONTROL_PLANE_COORDINATION_BOUNDARIES.md。 - 静态核对 CP3 代码不执行提交、发布、运行、训练、插件或 MCP 动作;实际协调语义仍待固定候选 SHA 和单独授权验证。
- 已新增
backend/app/core/control_plane_coordination.py,为 21 个受控动作分类same_session_persistence、post_commit_dispatch、independent_runtime_side_effect或read_only,并固定persisted、accepted、durability_unknown与read_only回执的真实语义。 - 协调目录不导入数据库、网络、子进程、运行时或插件执行依赖,不包含提交、发布、启动、停止、加载或连接调用;所有不确定回执都标记不可安全重放。
- 后续获得固定候选 SHA 与明确授权后,必须以最小化脱敏证据验证任务发布、训练内部提交、Agent runtime、插件和 MCP 的实际协调结果;当前不得将
accepted、pending或durability_unknown视为执行完成、已回滚或可自动重试。
- 复核并归档 CP2/CP3 所有权与协调边界的静态实现,推送至 GitHub
master;不创建或变更标签、Release。 - 为 CP4 意图/预览生命周期实施盘点令牌动作、范围、过期、摘要哈希与确认语义;见
docs/EXECUTION_INTENT_PREVIEW_LIFECYCLE_DESIGN.md,预览不得变为执行令牌。
- 审阅执行意图预览服务、Workspace 路由与桌面客户端的现有请求/响应契约;不创建预览令牌或调用 API。
- 实现版本化目标—版本摘要绑定、稳定预览回执和只读桌面呈现模型;令牌始终保持
execution_blocked=true。 - 静态核对 CP4 代码不查找目标、不写审计、不执行任务/训练/Agent/provider/插件/MCP 动作,也不将预览令牌用于执行。
- 当前预览令牌已经绑定 purpose、当前用户、动作、目标摘要、版本摘要、目标数量和受限 TTL,路由不查目标且确认检查始终返回
execution_blocked=true;但版本摘要仍是与目标列表分离的顺序列表,尚未按目标标识绑定。
- 预览服务升级至 purpose/schema
v2:目标标识和版本按目标绑定后仅生成不可逆摘要;旧的顺序版本列表仅保留为兼容性摘要,明确不代表目标绑定。 - 预览检查新增专属稳定代码,且返回
EXECUTION_INTENT_EXECUTION_DISABLED;桌面视图模型不保留预览令牌、目标标识或摘要,并永远返回can_execute=False。 - 静态扫描确认预览服务不导入运行时、持久化、网络或训练依赖;未发现执行阻断反转、原始目标字段写入摘要/令牌、桌面令牌/摘要展示或格式错误。
- 获得固定候选 SHA、隔离用户与明确授权后,验证 TTL、非法 purpose、scope/action/schema 不符、版本绑定不完整、旧字段兼容、三语言只读呈现和执行持续阻断;当前未创建令牌、调用 API 或启动 GUI。
- 整理 CP1–CP4 已完成静态架构、未提交/未推送状态与核心控制面边界;见
docs/CONTROL_PLANE_ASSURANCE_ARCHITECTURE_STATUS.md。 - 输出 CP5–CP8 后续路线图、固定候选 SHA 前置条件、验证隔离与正式发行 No-Go。
- CP5:建立桌面控制面页面—风险动作—确认—请求键—关闭回收—本地化/安全错误呈现覆盖矩阵,并只修复可静态确认的缺口;见
docs/DESKTOP_CONTROL_PLANE_COVERAGE_MATRIX.md。 - CP6:建立候选 SHA 后才能填充的验证证据登记册、脱敏字段白名单与 No-Go 交叉索引;不收集任何真实证据;见
docs/CONTROL_PLANE_VERIFICATION_LEDGER.md。 - CP7:冻结 Run、事件、计划与 outbox 的并发/迁移设计、兼容窗口与回滚前置条件;不执行 DDL、迁移或恢复;见
docs/CONCURRENCY_MIGRATION_FREEZE.md。 - CP8:复核版本、签名、跨平台安装、审批与发布阻断清单;不改版本、不创建标签、不构建、不签名或发布;见
docs/RELEASE_GOVERNANCE_FREEZE.md。 - 对 CP5–CP8 执行最终静态格式、冲突标记、敏感信息和运行性调用审阅;不运行测试、服务、GUI、SSE 或控制面动作。
- 覆盖矩阵已登记 Agent Run、任务中心、训练、控制中心、运行时间线、远程模型服务、自动化、聊天和只读意图预览的确认、请求键、关闭回收与安全错误呈现。
- 自动化页面现对启停、立即运行、删除保持确认后才传递
confirm=true,并将失败提示、历史错误正文和动态成功文案收敛到稳定错误格式化与三语言资源;聊天页会话/模型加载失败不再直接显示原始异常文本。 - 静态检查通过:未发现自动化页面不安全错误调用,桌面客户端未发现
.terminate(),覆盖矩阵包含自动化页面;git diff --check通过。 - 在固定候选 SHA、明确授权和隔离环境中验证语言切换、确认拒绝、关闭回收、SSE 断线和所有 UI/API 交互;当前未启动 GUI、SSE 或请求服务。
- 证据登记册已交叉索引 CP1–CP8,要求唯一完整候选 SHA、授权记录、隔离环境、脱敏审阅和最小化结果/审计/关联标识摘要;不接受正文、凭据、路径、URL、所有权细节或原始异常。
- 静态检查确认登记册不存在已填充的 40 位候选 SHA、非
not_run模板状态、真实材料路径或 URL;git diff --check通过。 - 只有在固定候选 SHA、获得明确授权和完成隔离环境准备后,才可填写任何证据行;在此之前不得从网络、数据库、GUI、SSE、运行时或日志收集真实证据。
- 已新增
backend/app/core/concurrency_migration_contract.py,登记 Agent Run、事件、计划 occurrence、TaskOutbox、指标 emission 的现有 ORM 结构与迁移验证状态,并将任务显式幂等键唯一约束标记为未来仅追加迁移需求。 -
CONCURRENCY_MIGRATION_FREEZE.md规定只追加、双读/单写兼容、旧行 nullable、无内容回填、应用级回退优先于破坏性 DDL,以及 CAS/lease/唯一键/派送失败的 No-Go 条件。 - 静态检查确认 CP7 目录不导入数据库、迁移框架、运行时或服务,不含 DDL、提交、查询、发布或启动调用;
git diff --check通过。 - 固定候选 SHA、隔离数据库/用户与明确授权后,方可从只读 schema 预检开始验证迁移、CAS、重复 occurrence、迟到回调、outbox lease 和 emission 去重;当前未执行 DDL、迁移、回填、恢复或并发操作。
- 已新增
RELEASE_GOVERNANCE_FREEZE.md,将 CP1–CP7 控制面、所有权、协调、预览、桌面、证据和并发门槛与候选 SHA、版本、远端一致性、签名、安装和审批分离记录。 - 文档采用
development → candidate_frozen → authorized_validation → evidence_reviewed → signed_and_installed → user_approved → release_authorized → tagged_and_published状态机;缺少任一条件均停止后续动作。 - 静态检查确认文档无构建、签名、标签或发布命令,未声明当前 Go 结论且包含 No-Go 边界;
git diff --check通过。 - 仅在固定候选 SHA、完整验证/签名/跨平台安装证据和当期用户/发行批准齐备后,才可由明确授权操作者执行正式标签或 Release;当前不得进行上述操作。
- 工作区当前仅包含 CP4–CP8 的预览、桌面覆盖、证据、并发迁移与发行治理静态改动,以及其相应待办记录;本地
master比origin/master领先一个此前归档的 CP2/CP3 提交。 -
git diff --check通过;受检差异无冲突标记;桌面客户端无.terminate();CP4 未发现执行阻断反转;CP7 静态目录无可执行依赖;CP8 文档无标签、构建、签名或发布命令。 - 未运行 pytest、Ruff、后端服务、GUI、SSE、迁移、DDL、恢复、Agent/任务/训练/provider/插件/MCP 动作、构建、签名、标签或 Release;行为验证、远端同步、候选 SHA 固定和发行均需后续单独授权。
- 当前 ORM 在多类资源上已有
user_id和局部索引,但现有C3_CONCURRENCY_AND_IDEMPOTENCY_DESIGN.md提议的 Run/事件/计划执行state_version、executor lease、occurrence claim 和 event/emission 唯一键仍是后续追加迁移设计,不得在代码或文档中称为已迁移或已验证。
- 已创建本地 CP2/CP3 归档提交
fcc08b74930531156317061c38bcbedbe5c8fa45;两次正常 HTTPS 推送均因连接 GitHub 443 端口超时失败。GitHub 只读引用核对显示远端master仍为7d8fdc1d2adfbb55458b2032ca4d7ebc327b60d5,未使用 API 修改远端引用。
-
TrainingService.start()在写配置、创建训练记录、启动子进程及更新运行状态之间存在多次内部提交;stop()会终止子进程并提交状态。因此 API 审计只能准确表达协调持久化状态,不得虚称跨资源原子性、回滚或安全重放。 - 插件生命周期、MCP 连接与任务发布路径可能先改变运行时/发布器的独立状态,再进入 API 层审计与数据库提交;审计持久化未知回执只能表达协调未知,不能指示操作未发生或可无条件重试。
- 远程 provider 对话框和模型卡当前仍优先展示原始 base URL,且验证动作未在客户端确认后传递
confirm=true;应改为后端生成的 endpoint、凭据状态与明确确认对话框。 - 动态 provider 状态与错误提示必须显式经
i18n.ui_localizer.text()使用当前 locale 翻译;仅调用localize_tree()不会重译后续写入的动态文本。
- 任务 SSE 已按用户范围和持久事件 ID 重放;Agent Run SSE 已传递当前用户,但需补齐 header cursor、事件 ID、关联标识及脱敏失败边界。
- 桌面任务流已有退避重连但会显示原始异常文本;Agent 流客户端仅传递 query cursor,需收敛为双 cursor、稳定断线码与脱敏状态。
- 任务状态存储已有只读快照刷新入口;需让流工作器识别 resync/错误控制事件并触发刷新,且移除关闭路径中的强制线程终止。
- 知识上传/检索/回答及训练启动、任务投影、日志流、停止和模型注册均可能读取正文、处理数据或触发运行性行为,继续排除在本轮静态改造范围之外。
- 知识库未初始化、文档不存在与训练任务不存在属于内容无关的元数据错误,可优先收敛为稳定 problem 响应。
- 现有 provider 服务已加密存储 API Key,并通过
to_public_dict()对列表响应保持 write-only;待补齐 URL endpoint 规范化、协议枚举与配置错误脱敏收敛。
- 盘点可继续实施的 I3 控制面、I4 生命周期、I5 桌面稳定性、开发快照和待办治理工作。
- 设计稳定契约、审计保留、受确认恢复、请求编排与三语言收敛的技术边界。
- 设计不可变开发快照、版本文档清理、SBOM/签名预检与发行决策材料的非执行性准备。
- 编写并归档非测试型设计开发文档,显式列出暂缓的验证、外部环境和正式发行步骤。
- NT1:为 Agent、模型、知识和自动化控制面补齐稳定请求/错误契约、关联标识、用户归属和脱敏审计。
- NT2:实现 retention、恢复、补偿和关闭治理的只读预览、短期预览 token 与显式确认契约,不执行状态变更。
- NT3:将请求代次、关闭回收、超时提示和三语言资源覆盖扩展到剩余高频桌面页面。
- NT4:实现不可变开发快照元数据、当前计划索引和历史待办归档,不移动共享标签。
- NT5:补齐候选 changelog、证据 schema、平台职责矩阵和版本提升清单,不执行构建、签名、标签或 Release。
- 更新设计文档与待办,汇报全部非测试型实现和后续验证阻断项。
- 已完成代码、客户端接口、桌面请求编排、三语言资源、快照治理和发行决策材料的静态实现;所有 lifecycle 预览确认均继续返回
execution_blocked=true,未执行 retention 清理、计划恢复、插件补偿或运行时恢复。 - 本轮未运行 pytest、Ruff、服务、迁移、GUI、Docker、真实模型/Agent/计划/插件动作、构建、签名、标签、Release、推送或快照校验脚本;任何正式结论均须基于后续固定 SHA 与明确授权的脱敏证据。
- 核对当前完整
git diff、未跟踪文件和标签/分支基线,确认改动均属于 NT1–NT5 且不包含敏感信息或未授权运行性行为。 - 执行静态格式、结构与范围检查;不运行测试、服务、迁移、构建、签名或发布步骤。
- 将审阅通过的 NT1–NT5 改动创建为单个本地 Git 提交;不推送、不创建或移动标签。
- Agent 模板、MCP、计划草稿和 Run 控制面仍存在自由字典请求与临时错误;模型默认选择/清除与本地记录删除可优先接入稳定契约和审计。
- 模型扫描、下载、安装与 Agent chat/Run 会触发外部或运行性行为,继续排除在当前非测试型实施范围之外。
- 生命周期诊断已安全计算 retention 候选数量且不执行清理;预览令牌可使用现有 JWT 密钥签名,绑定管理员、策略、候选摘要和过期时间,避免持久化 token 或触发治理动作。
- 当前启动路径只有固定列清单的手写追加迁移,没有迁移版本表、历史 schema 校验或显式索引演进记录。
- 工作区的集合、配置档和洞察写端点混用自由 JSON 字典与临时
HTTPException.detail文本;改造应保持现有字段和客户端兼容,同时新增稳定 code/correlation_id 结构。
AgentRun当前只有状态和时间字段,没有持久state_version;Run 终态冲突不能只依赖运行时内存集合。ScheduleExecution记录审计结果但没有 occurrence/claim 唯一键;计划回调在多重恢复或延迟重试下需要数据库级触发 claim。TaskRecord.version已体现版本化投影思路,可作为 C3 compare-and-set 契约的参考,但 Agent Run 与任务中心必须保留独立状态模型。SQLAlchemyRunStore.update()目前是无条件读改写,RunRecord也未携带持久版本和 lease;C3 必须先扩展这两个契约,再把运行时的_running降级为本地优化而非状态事实来源。
ApiWorker只能请求线程中断,关闭时会强制terminate;ModelForgeClient也未给普通 JSON 请求统一有限超时或取消语义。G7 将以请求超时、可丢弃结果和页面代次防止 UI 被过期响应覆盖,而不承诺终止已发出的服务端写操作。
EventBus目前有无界持久化队列,SQLAlchemyEventStore未使用新event_key;需要有界入队、显式溢出诊断,以及按终态/sequence 派生的事件键与唯一冲突幂等处理。
- GitHub Release URL 对开发标签返回 404 属正常现象;标签树 URL 尚未解析,待从仓库 tags 列表确认是否已推送。
- GitHub 标签列表当前仅显示
v0.1.1-beta.1;尚未显示本地已创建的v0.1.2-dev,需重新执行标签推送。 - 执行全量质量验证、提交同步,并记录外部环境或凭据阻塞项。
- 2026-08-21:提交
e413968已推送。GitHub ActionsModelForge CI #22中新增desktop作业成功(51 秒)并生成desktop-coverage-xml;主test作业在“完整测试覆盖”步骤失败,Docker 构建因依赖失败跳过。根因是审批事件已被写入协程取出但flush()未等待其完成;现已改为队列join()一致性边界,补充在途异步写入回归测试,并在本地通过 393 个测试、3 个环境跳过及依赖审计。GPU Smoke 仍因缺少匹配的自托管 NVIDIA Runner 而排队。 - 2026-08-30:在本机(Windows 10 + Docker Desktop WSL2,engine 29.7.2)完成 2026-08-28 遗留的 Docker 端到端启动补验,结论通过:docker.io 不可直连,基础镜像
python:3.10-slim、postgres:16-alpine经docker.m.daocloud.io拉取后重打标签,modelforge:server构建成功;docker-compose.server.yml全链postgreshealthy →migrate退出码 0(alembic 版本0002_api_platform)→volume-init退出码 0 →apphealthy;/healthz200,注册/登录(JWT)→/auth/me→ 会话创建与列表 → 模型列表均 200,直查 PostgreSQL 确认users/sessions落库,/api/v2未认证请求被 401 拦截;首次启动因生产 CORS 校验拒绝http://源而崩溃属预期防护,改 HTTPS 源后正常。同日以 pin 依赖(pytest 9.1.1、SQLAlchemy 2.0.52,项目.venv)完成 pytest 全量复核:395 passed / 2 failed / 3 skipped,覆盖率 71.86%,Ruff 通过;2 个失败均为 Windows 环境限制而非回归(test_agent_file_access符号链接需特权WinError 1314;test_phase7无盘符绝对路径在 Windows pathlib 下不算 absolute,错误码降级为DIRECTORY_NOT_FOUND但仍 fail closed),CI ubuntu 不受影响。8 个桌面 GUI 测试文件因本机 PySide6 6.11.1 DLL 与 Anaconda Python 环境冲突未运行,由 CI ubuntu 覆盖;本机 lint 曾因遗留空api/目录(仅.pyc)触发 I001,清理顶层空壳目录(api/common/database/gui/pytorch及models/__pycache__)并恢复结构契约要求的backend/app/plugins后通过(提交27f42b8)。未执行签名、标签、Release 或任何 GitHub Release 操作;models/user-*等测试残留目录已清理。