Skip to content

归档说明(2026-10-02):本文的 M01–M08 全部关闭,架构工程阶段与完整交付两个停止点均已达成,因此不再是现行执行入口。原位置:docs/temp/plans/architecture-closeout-plan-2026-10-01.md。文中「本轮」「现行」「唯一执行计划」等措辞与逐门状态只代表 2026-10-01 的记录;部署形态收敛与配置治理属新一轮工作,见现行计划。本文保留原始停止条件、批次与验收口径,供新一轮重开 M01/M03/M06/M07 时对照复用依据。

架构调整收尾工作计划 ​

更新日期:2026-10-01。本文是本轮唯一执行计划,面向仓库开发与验收,确定剩余工作、完成条件和停止点。沿用 AR、W、M 编号;原始问题和完整场景要求见归档评估与归档计划。

当前进入收尾阶段:保持 Backend、Runtime、Renderer 和共享契约包的边界,完成可靠性、权限隔离、系统恢复与用户行为验收后结束架构工程阶段;容量与正式发布另设交付完成条件。未完成门继续登记,不以归档或阶段结束代替验收。

1 收尾目标与停止条件 ​

架构工程阶段结束 ​

以下条件必须同时满足,才可标记为“架构工程阶段完成”:

  1. 固定候选源码、工作区补丁、锁文件、DB revision 和镜像身份,保留逐项状态与证据位置。
  2. M04 剩余构建故障、额度、外部交接和 Batch 一次消费通过;普通 Run、截图与版本传播的既有证据按输入和代码差异确认可复用。
  3. M02 完成所承诺的文件、token、网络边界以及构建/检查取消与超时回收。已发现的越权、泄漏和资源遗留必须修复。
  4. M07 在独立目标完成 SQLite 和 PostgreSQL 的完整业务恢复及负例,达到本计划的恢复目标。
  5. M08 完成用户路径、工作空间权限、双 API 入口及匹配 Agent Kit 版本的行为回归;相关契约、类型与测试门通过。
  6. M01 在最终工程候选上覆盖实际入口、有效 PNG、ZIP 下载与加载、凭证拒绝及相关执行生命周期;M05 兼容范围、升级顺序和限制同步到正式文档。
  7. 没有未关闭的 P0,且没有属于本阶段范围的 P1。阶段报告明确 M03/M06 仍开放,并列出当前可用部署范围。

达成后停止本轮结构调整,进入常规缺陷维护。此时可以宣告工程阶段告一段落;完整计划继续等待交付验收。

完整交付结束 ​

工程阶段完成后,M03 与 M06 也通过:正式容量采样可对账并达到开跑前冻结的目标;最终模板、Registry、amd64/arm64 真实产物、外部 Gateway 契约和远端门禁齐备。所有 M01–M08 均在明确版本与支持范围内完成,才可标记为“本轮架构调整与交付完成”。

环境暂不可用或缺目标值时登记原因、所需条件和下一动作,保持对应门开放。已有环境等待不阻止工程阶段按上述条件结束。

2 本轮范围与后续边界 ​

范围本轮处理方式
已实现的模块边界、CAS、租约与写围栏保留,修复验收发现的正确性问题;不引入另一套认领、续跑或浏览器执行机制
W05a/b/c固定样本已通过的实现不重做;补 M04 交接保护,并核对真实部署中删列 revision 与发布范围
W01/W06/W02完成 M02/M07/M08,补验收必需的边界修复与夹具
W03/W04补时间与计数口径、容量 drill、最终候选/模板/发布证据;由 M03/M06 关闭
W07 模块拆分只随上述风险修改拆分直接涉及的职责;API、租约和行为保持一致
W08 文档与证据随每批更新本计划和专题文档;只保留一个现行执行入口
Lite 内置 Renderer、NAS 单镜像后续条件候选,本轮保留 platform-lite + 独立 Renderer 的候选拓扑
全仓按行数重构、微服务拆库、通用工作流平台后续需求单独论证,不作为本轮完成条件
普通 Run 跨重启自动续跑、任意旧版本兼容、跨版无中断混池超出本轮支持范围;不通过本轮验收推导这些承诺
Renderer 多槽、提升全局并发预算本轮保持每 Worker 单槽;先做资源、角色拆分和增加单槽 Worker 对照,再决定后续方案
Dashboard、资产运营视图等产品功能回到产品迭代,不并入架构收尾

新增问题先判断是否破坏本轮已承诺的正确性、权限、数据、产物或恢复行为。属于该范围的 P0/P1 必须处理;维护性建议和新增产品能力进入后续事项,不自动扩充总计划。涉及降低既有隔离或数据承诺的调整须由用户明确决定,不能用改文档替代修复。

3 当前候选与已有证据 ​

代码 HEAD 为 73b003680827b11a1fae0bbc31207d103bf0f349。当前工作区还包含 SQLite 迁移事务、Renderer 错误映射及配套演练脚本/记录,尚未提交;本计划不把 HEAD 单独当作最终候选。旧兼容样本固定 4c7eee809d19a268e2c919ed5865a62ca388e6df;Runtime 实机来源为 e82c793。精确镜像身份与候选补丁摘要见对应记录,均为本地证据,未代表 Registry 发布。

已有能力可复用证据适用边界
核心契约生成与生产 Schema 校验原计划实施记录W02 约定核心实体;其余兼容类型不自动算完成
owner 失效收敛、静默活跃保护、会话解除双 Backend 演练实测配置与候选;paused/外部交接保护继续补
同版跨副本预览、具备门禁旧版的跨版拒绝浏览器版本演练不外推更早无版本门禁的 Runtime 或任意混池
截图取消、硬期限、强杀、过期租约与迟到 PNG 拒绝截图生命周期截图定向场景;构建和其它执行域另验
PG/SQLite 完整旧入口、迁移中断、应用回滚、Kit/产物组合M05 完整镜像演练固定 ref、schema、配置与实际渲染样本;补偿不恢复已删历史代次
Lite 混合负载与阶梯探索探索性容量、阶梯记录旧候选与有限样本,不能当本轮 SLA、饥饿或正式容量结论
构建晚到防覆盖(INV-5)、并发配额饱和与外部交接 CAS 一次消费M04 可靠性回归构建租约与晚到上传物理清理、全局/工作空间配额、外部Batch CAS抢占与完整结果清空
构建令牌越权拦截、子进程脱敏降权与系统灾备恢复(RPO/RTO)M02 与 M07 验收报告任务token跨任务拦截(403)、子进程敏感变量剥离、完整业务快照恢复与模型凭据解密检验

历史结果按覆盖输入和源码差异复用。每次新增候选记录复用依据;修改 Schema、权限、执行生命周期、编译输入或镜像拓扑时,只重开受影响场景与必要跨域回归。

4 执行批次与排期 ​

以下是连续投入时的工作量预算,执行日从下一轮实际开始计算,不作为日历承诺。工程阶段总计预留 3–5 个工作日;含容量与完整发布约 1–2 周,环境等待另记。M02 若需要实质隔离修复,应记录影响并更新预算,不能为了赶排期跳过门禁。

批次工作量预算优先工作与责任域交付物与出口
第零批 固定候选0.5 个工作日W04/W05/W08;整理已有补丁和证据,核对源码/镜像/DB/配置,核对实际部署迁移范围可追溯候选清单、复用场景表;未核对部署状态时继续采用保守升级顺序
第一批 多副本可靠性1–1.5 个工作日Backend/AI/Runtime;优先 M04,定向复测受影响 M01构建故障、额度、外部交接与一次消费全部留证;修复后无迟到写入、重复续跑或占用遗留
第二批 隔离与恢复1–2 个工作日W01/W06;先 M02,再在独立目标执行 M07,M08 夹具可提前准备允许/拒绝矩阵、进程回收记录、双库一致备份恢复、完整业务和负例、RPO/RTO
第三批 工程联合收尾0.5–1 个工作日W02/W07/W08;M08,最终工程候选 M01 与相关契约回归用户路径/权限/跨仓报告、支持范围与版本清单、工程阶段完成报告
第四批 容量与发布交付3–5 个工作日先 W03/M03,再 W04/M06;发布清单和 arm64/Registry 条件可提前准备可解释容量结论、推荐资源/规模、最终模板与双架构产物、外部契约、完整交付报告

各批实际变更、命令、结果、失败与复测进入 docs/temp/runs/<date>-<candidate>/。阶段操作按依赖串行执行;复用已有本轮专属环境,不重启业务服务或复用开发数据。

5 工程阶段必做场景 ​

M04 构建与 AI 外部交接 ​

  1. 构建 attempt:真实执行中强杀、租约过期/回收、旧 attempt 晚到上传、取消与完成竞争。当前 attempt 才可提升产物;页面版本复核生效,过期产物不覆盖或删除已提升产物,子进程/临时文件/额度释放。
  2. 认领与额度:多个独立 Job 在双执行副本竞争,实际达到全局和工作空间预算。保存不同 Job/Attempt/Worker ID 与额度快照;确认不超限、等待/拒绝可解释、终态后可再领取。正常任务数多不等同饱和验证。
  3. 活跃与交接保护:A 失效/扫描期间保持 B 静默但正常执行,覆盖 paused、waiting_external、有效 resuming Batch 租约及取消竞争。收敛器不能误杀,失效执行不能借旧 owner 或旧 Batch 围栏提交。
  4. Batch 一次消费:页面、图片和组件任务在同 step 封口,覆盖成功、失败、取消和供应商等待;双协调器竞争下全部终态只恢复一次。waiting_provider 使用合法 next_poll_at,不占执行租约;resolving Requirement 匹配有效 resuming 租约;消费后完整 Task result 清空。
  5. 摘流与回收:Worker 摘除前运行现有只读检查;检查实际进程、僵尸、临时产物、租约和槽位。截图已通过场景按差异复用,执行生命周期变更后定向重跑。

外部模型/图片供应商可用受控服务生成确定响应,但领域入队、租约、轮询、取消、渲染与自动续跑必须走生产路径。受控模型结果不能证明真实供应商的可用性或延迟。

M02 文件 token 与网络边界 ​

对可信领取器、编译/检查子进程和 Renderer 浏览器分别记录允许/拒绝矩阵:全局凭证文件与父进程环境、自己的任务目录与其它任务目录、只读应用目录、自己的任务 token 与其它 job token、Backend 控制 API、Renderer 控制 API 和非必要网络目标。补缺失、空凭证、过期票据及跨任务越权负例。

当前共享 UID/GID 10001 与组可写任务目录只证明全局凭证降权,不证明任务间文件隔离。实测不成立的已承诺边界必须修复并复测;沿用 Lite 已接受的受限形态,不新增生产多租户隔离承诺。构建/检查取消、期限与异常退出均要求子进程及僵尸消失、目录/槽位释放。

M07 完整系统恢复 ​

SQLite 与 PG 各准备一套独立恢复目标。固定样本包含既有账号、工作空间、页面、上传资源、截图、构建 ZIP 和一条可解密模型凭证;备份绑定 schema、镜像、配置与密钥,并通过停写或一致快照保证备份集一致。

本轮内部恢复目标采用 RPO 不超过 24 小时、RTO 不超过 2 小时,这是演练验收目标,不是新增对外 SLA。记录备份恢复点、模拟事故时间、恢复开始和完整业务通过时间;恢复数据与备份集一致,备份后的缺失写入显式计入 RPO。

恢复后实际验证登录、读页、资源下载、模型凭据解密、预览、真实 PNG、ZIP 下载与入口加载。错误密钥、缺资源、错误版本、校验和不匹配必须清晰失败。只恢复到本轮目标,不进行生产在线一致备份体系重建或生产数据修复。

M08 用户行为与跨仓回归 ​

验证资产筛选/详情/批量、AI 进程停止文案与会话重新发起、富文本自闭合节点不绑定写入与成对空节点可编辑、诊断降级不使整页失败。跨用户工作空间写入必须拒绝;Internal 与 External 两入口覆盖读取、写入、异步任务及归档。

固定同级 Agent Kit 的 Git ref、配置与契约版本,跑真实 CLI/Skill 典型路径。只修本轮变更导致的兼容缺陷,不顺带扩展 CLI/MCP 功能。保留真实 E2E 报告、截图与两仓版本;类型检查不代替行为证据。

6 容量与发布交付条件 ​

W03 与 M03 ​

先保留可关联逻辑请求/attempt 的入队、开始、结束时间和结果,分别计算排队、执行、端到端 P50/P95。计数包含到达、成功、失败、拒绝、超时、取消与在途,停止负载后继续采到排空;领域 Job、Task 与 attempt 不重复算用户请求,未知量保留未知。

定位 M03-F1 的具体拒绝操作、UTF-8 大小、单项/总量预算、当前占用和清扫结果;small/medium/large 使用不同 artifact 负载,另测同项目多次新建预览与 TTL。预算内、单项超限、总量超限分别留证,不能直接提高上限绕过拒绝。

本计划新设以下内部验收目标,用于首轮正式采集,不是历史已通过结果或对外 SLA。Lite 总资源受限 2C4G,5–10 个测试用户、约 3 个交互预览;先采空闲 10 分钟,再用独立生成器持续混合负载至少 30 分钟,每类至少 30 个独立请求。样本不足时延长实际窗口,保留真实到达率;外部模型/图片依赖受控,真实供应商延迟另记。

业务基准到达率端到端 P95 目标
正常页面预览导航12 次/分钟已就绪预览不超过 5 秒;冷启动单独记录且不超过 20 秒
轻量页面元数据或源码 PATCH6 次/分钟不超过 5 秒,不能与 AI 重任务混算
AI 页面写工具的持久化任务1 次/分钟不超过 90 秒,计至 Job/Task 终态与对应自动续跑完成
页面截图6 次/分钟不超过 45 秒,计至 PNG 可下载
项目构建1 次/分钟不超过 180 秒,计至 ZIP 可下载并抽验入口加载

预算内正常请求各业务成功率至少 99%,正常负载无 OOM、无租约遗留或计数失配,停止到达后 5 分钟内排空。越限、取消和故障注入使用独立样本,预期拒绝单列,不能把非预期失败移出成功率分母。冷热样本、各业务样本数及 P95 算法必须写入报告。

正式采集前把以上目标、固定 fixture、全局/工作空间预算与资源限制写入运行记录。若不达标,保留本轮失败结果,再据实测修实现或降低推荐负载/提高推荐资源并冻结新对照;不能事后修改同一次运行的阈值来宣布通过。缺少环境或完整时间/计数时只记探索,M03 保持开放。

对照 SQLite/真实 PG 的锁重试、执行耗时、观测开销与资源峰值;对比增加 CPU、Runtime 分角色与增加第二个单槽 Renderer。失败时按实测调整推荐资源/规模或修实现,不承诺固定吞吐。没有依赖或没有采集的图片/资源操作明确排除容量结论。

W04 与 M06 ​

核对 deploy/compose/ 全部交付模板的配置、固定镜像版本、manifest/digest、权限与可拉取性。amd64 和 arm64 各通过真实截图、产物下载与入口加载;官方 Dockerfile 构建成功和健康接口不能代替执行。

外部 Gateway 必须用 scripts/contracts/check-gateway-openapi.py 验证契约 JSON;核对真实 required checks 与 workflow job 名,分别保留配置与运行结果。发布验收使用明确固定标签和版本清单,不能自动移动 latest/sqlite-lite 或改变仓库可见性。

容量与发布目标缺少环境时保留待验状态。拓扑或生产执行依赖变化后,定向重跑 M01/M03/M07;两容器结果不能给单容器合并形态背书。

7 验收状态与责任域 ​

以下为 2026-10-01 制定收尾计划时的状态;本次文档整理没有新增业务验收。

门当前有效状态关闭阶段与责任域
M01实际入口/PNG/ZIP/加载、凭证与生命周期证据完备,全套契约、Docker 上下文与部署探针对齐;见 M08 报告 与 M03/M06 报告已关闭(Runtime/Renderer/测试)
M02凭证脱敏、跨任务令牌越权拦截(403)、子进程降权(UID 10001)与超时强杀已完成;见 2026-10-01 报告已关闭(Runtime/Backend/部署)
M03M03-F1 成因定位透彻,自动化容量防漂移门禁闭环(5 passed),2C4G 推荐配置与 P95 性能基线建立;见 2026-10-01 报告已关闭(Backend/观测/部署)
M04owner 故障、构建故障/晚到防护(INV-5)、并发配额饱和、外部交接 CAS 与 Batch 一次消费已完成;见 2026-10-01 报告已关闭(Backend/AI/Runtime)
M05固定 N/N-1 的完整入口、双库中断/回滚与样本产物组合完成;见 M05 演练报告 与 M06 模板核对已关闭(Backend/部署)
M064 套交付模板(lite/prod/runtime-roles/with-deps)核对无误,外部 Gateway OpenAPI/Nginx 透传契约与 Docker Context 全绿;见 2026-10-01 报告已关闭(交付/测试)
M07系统快照导出、数据灾备恢复、全链路数据对拍(账号/读页/资源/截图/ZIP/模型凭据解密)及负例全部通过;见 2026-10-01 报告已关闭(部署/Backend)
M08双入口隔离四象限 403 强拦截、Editor 用户行为(资产/富文本/AI停止文案)及 Agent Kit 88 项跨仓全绿通过;见 2026-10-01 报告已关闭(Editor/Backend/Runtime/Agent Kit)

W01→M02,W02→M08,W03→M03,W04→M01/M06,W05→M04/M05,W06→M07,W07 随相关修改验收,W08 随批维护。归档计划中的原始完成要求可追溯;未覆盖范围不能被整个门的“完成”标记吞掉。

8 执行约束与结果登记 ​

沿用根 AGENTS.md 与Docker 演练说明。Backend 不运行浏览器,截图派发独立 Renderer;Renderer 每 attempt 新建浏览器/Context 并由 tini 回收孤儿。普通 Run 中断不自动续跑,但必须终态收敛和释放会话;外部任务保持统一 Batch 续跑。

升级采取排空停旧、N 独立迁移器前滚、启动新实例;应用回滚保留补偿 schema,关闭旧迁移器。预览池同一发布身份,跨版整池排空切换。实际支持范围以兼容矩阵和升级回滚为准。

每批先执行改动匹配的最小单测/API/集成测试,再补对应真实场景。DTO、Schema、公开 Kit、Gateway、权限或生命周期变更按 AGENTS.md 联动生成与相关契约;无新输入或失败时不重复同一轮已通过的全部测试。文档移动至少运行 pnpm run test:repository 与 git diff --check。

运行记录必须保存:候选与补丁/镜像身份、资源和 DB revision、租约/预算/模型依赖、预定目标、独立样本 ID、实际命令和退出码、失败与修复后结果、产物摘要、进程/槽位/清理证据。密钥、token 和登录态不入库,大二进制留本地并登记摘要。

阶段结束在同一计划更新状态,新增运行目录的完成报告;逐门列出通过、失败、未执行、复用及依据。工程阶段报告明确开放的 M03/M06 和后续条件;完整交付报告给出全部支持模板、架构、版本、容量和恢复边界。时间预算到期本身不构成完成。

9 归档与后续维护 ​

09-30 评估和 09-29 计划的最新工作区正文已迁入 docs/temp/archive/,增加历史说明并修正引用;此前未提交的 M05 状态保留在归档快照并由本文接续。具体移动清单见归档索引。

docs/temp/plans/ 只保留本文作为现行执行计划。新发现和状态在本文更新,详细结果进入 runs/;历史评估、旧方案进入 archive/。运行证据保留原位置、版本和失败记录,不改成当前完成结论。

工程阶段结束后,本轮排除项按实际产品需求重新排期;没有需求或复审触发条件时保持后续事项。新的总体评估只在职责边界、部署形态或产品承诺发生实质变化时开展,不按每天新增报告重开已关闭问题。