Repository navigation
生产容量与适用快照、独立授权检查点及隔离恢复记录 #84
Description
当前范围 · 2026-10-03
更新为当前运维跟踪:main 105c2cf / native46 已部署,msgd 与 worker 在运行,公开 JSON health、精确安装产物和实际浏览器/只读公开 WS 均已有证据。旧“没有生产访问、未部署”不再适用;代码及恢复功能的实现项也不再由这份总门槛反复阻塞。
本 issue 只保留尚未取得的具体现场结果:目标主机的有界容量/资源预算、仍适用的真实快照与 rollback 集外 current pin、隔离恢复及停止/回滚步骤,以及实际账号历史解密/指定备份集退役的操作者记录。入口日志归 #64,旧库是否仍适用归 #65,有限 CA 和真实本机控制台归 #70。CI 演练和部署成功不替代这些结果,也不要求为了关闭 issue 执行生产销毁或资金操作。
剩余完成条件
- 按当前真实主机拓扑建立有界容量/磁盘/响应预算,记录实际负载和资源gate;CI四客户端数字或单会话受压样本不推导并发容量。
- 对仍适用的真实备份/retained数据,记录保护来源/摘要/冻结时间、current pin外部来源与恢复后当前授权;只在全新隔离目标演练,并写明停止/回滚/本机promotion步骤与结果。
- 集中记录逐账号历史密文实际解密和列明备份集的操作者退役证明;不要求为了issue关闭执行生产删除/销毁/转账。
- 跨引用实际入口与日志收集链的秘密泄露核验 #64/确认旧 LedgerAccount/escrow 存量是否仍适用;适用时验证隔离迁移 #65/#70的独立运维结果,删除重复全章手工matrix与已过时的未上线表述。
- [P1] 托管历史密文恢复与在线/备份旧钥退役 #68/[P1] 一致备份恢复后重放撤销与退役事实 #69 已关闭的是功能实现;具体账号的 retained 密文实际解密、指定外部备份集退役、实际快照/current pin 来源仍在本项跟踪。
- 记录适用的生产在途任务 SIGTERM 排空/重启(优雅退出:worker 停止后仍可能领取任务及子进程提前终止 #213)、SSH 管理操作路径与审计(SSH 远程发行与划拨被物理控制台门槛拒绝 #210)、客户端完整升级/恢复交互(客户端默认身份与 profile 恢复容易选错,操作前需明确当前主体 #219)的实际证据。无需为清理 issue 停服、销毁密钥或转账。
本轮依据当前主线 105c2cf716c1179d49bc79224f10f44a3b031163、已完成 CI 和只读部署盘点更新范围。没有执行新的生产迁移、删除、Root/CA 变更或资金操作。旧的全章/全客户端人工矩阵不再作为本项永久门槛。
历史需求与旧验收记录(保留供查阅;当前待办以上述范围为准)
2026-09-30 核验:候选交付包与有界隔离测量已完成,真实现场验收仍 blocked
main c8ed2610ab774dba3085972683c1d2c8a9232222 / tree 89f8e4119e625cb421b75be468392b2d7b187930。独立主线5个适用工作流全部通过;八个shard ZIP摘要及精确JUnit node-ID完整互斥并集 2569 core+8 conformance,无失败/错误/跳过。全部十份产物归该source/run,精确来源。
- 同一wheel的锁定server/client-only安装、真实daemon/签名客户端、四传输全表零变、真实OpenSSH/PAM/StrictModes、installed official selftest42项;主线候选交付包。wheel/sdist/两份锁与已验PR逐字节一致,全部release摘要核验;步骤见
docs/DEPLOYMENT.md。 - #187修复真实演练发现的私有Git packed-ref归档空目录丢失;新增真实PG/Git恢复、只读拒绝修复、symlink拒绝回归。#188加真实COMMIT失败与完整数据库行值回滚断言。
- 独立主线安装测量36683776308:临时Linux/4CPU,启动1.1885s,4客户端×8写入32次6.5881s/4.8572req/s,32读取15.1822s/2.1077req/s,RSS/HWM81180KiB,SIGKILL重启1.0437s,备份1.5109s,空PG恢复3.1388s。全表values/sequence守恒,删除marker后仍持久quarantine,promotion=false。范围仅为可重复有界CI负载;未据此宣称目标机容量、真实快照恢复或上线。
新增#189/#190与集成#193仍须最终组合验收;#192修复OAuth源钥当前权限/只读边界。旧2531/2541与更早记录归原PR,不累计成当前新增测试。以下剩余现场条款保持原范围,不因代码证据勾为生产验收。
已有源码证据,后续保留
- Validate semantic escrow references and real legacy backup migration #87 真实旧代码生成的 LedgerAccount 迁移 fixture、引用分类/回滚;不是真实生产快照。
- fix(backup): retain money policy during isolated recovery #97 隔离恢复保留 money 配置,仍不复制生产 DSN/mail/外发连接。
- fix(effects): fence expired notification retries without a lease sweep (#81, #85) #109/fix(effects): fence tool, Git and maintenance completions (#82, #84, #85) #113 的通知/工具/Git/维护 lease 完成栅栏;过期执行 uncertain,不自动重发。
- fix(market): close escrow, private delivery and arbitration lifecycle gaps (#73–75) #102 版本化市场、签署事实/CAS 根、真实备份恢复和隔离 20→10→5/selftest 的源码回归;SMTP sink 不是真实生产投递。
剩余验收与证据要求
- 真实旧安装/存量库清单、受保护备份/manifest、合法加解密材料的来源与时间点;在新隔离目录/空 PG 中迁移,不在生产上试错。
- 备份↔恢复的 PostgreSQL/Git/CAS/LFS、账本/receipt/sequence/余额/总量、retained Revision、授权与失效事实、在途/终态业务一致性;结合 确认旧 LedgerAccount/escrow 存量是否仍适用;适用时验证隔离迁移 #65/[P1] 托管历史密文恢复与在线/备份旧钥退役 #68/[P1] 一致备份恢复后重放撤销与退役事实 #69,先隔离再重放撤销后才可另行批准 promotion。
- 启动/配置/更新/回滚与 Root/CA 有限策略迁移、真实控制台、实际 sshd、Nginx/proxy/log/APM、邮件/Webhook 外发和无配置零外发;各自列出实际环境、命令、时间、产物与未测项。
- 容量、磁盘/配额、并发上传/提交/查询/worker、资源耗尽/响应上限/长历史搜索、崩溃/恢复时长的可重复基准;不杜撰吞吐或资源数字,不以单元 mock 替代真实资源限制。
- 明确回退/停止条件、operator 步骤与所需批准;逐项“代码实现/隔离验收/现场验收/已部署”分栏,部署结果不得从 CI 绿灯推导。
任务 A
负责本总门槛、只读 preflight/演练脚本和现场 blocker;任务 B 提交市场/存储/外发负例,C 提交协议/真实客户端/完整构建与测试证据,再统一核查。共享修改按 #83 串行整合。
本轮没有生产访问材料、部署/迁移/恢复、真实邮件/资金、Root 操作或性能压测。缺材料时继续保持 open/blocked,明确缺失项,不写“已验收/已上线”。源代码可按 CI 门槛合并,生产放行是独立且未授权的动作。
Activity
Merge reviewed and verified #81–85 partial fixes (#106)
LIghtJUNction commentedon Sep 27, 2026
#97 已随 #106 合并到 main(10cd82cebcc76db430ffd0129058a5a38a168cdb),完整 CI 36349643025 已通过。修复恢复配置遗漏
[money],避免隔离恢复后自定义货币显示名/代码被静默重置。回归使用真实 PostgreSQL 的 pg_dump/pg_restore 和 Git/CAS,检查恢复前后货币策略/余额一致,恢复目标使用新 DSN、回环绑定、0600 配置,无生产邮件/Valkey连接,恢复后的写入和清理仍禁用。没有向生产位置恢复,没有部署、发行、转账或更改生产授权。
此修复不等于旧快照全量守恒/撤销恢复、真实安装故障演练和完整容量预算已验收;这些原检查项继续保留,本 issue 不关闭。
fix(effects): unify fenced tool, Git and maintenance completions (#113)
LIghtJUNction commentedon Sep 27, 2026
补充:#113 已合并到 4c46671,维护任务的 job 完成状态与结果现在在同一个受租约/执行轮次约束的事务内写入,移除了后续无保护覆盖状态的事务。过期、缺失租约、被新执行轮次替代、已 uncertain 和正常完成五个用例均通过真实 PostgreSQL CI。
完整组合 CI 36353193024 success:1,109 项测试、8 项 conformance、wheel/sdist 全部通过,零失败/错误/跳过;合并代码树与已测试代码树一致。前述保留 money 策略的隔离恢复修复仍在当前代码中。
没有运行生产维护、生产恢复或部署;不能据此把全部旧快照恢复、安装故障和容量预算验收标为完成。
LIghtJUNction commentedon Sep 28, 2026
Refs #84 — A 已提交 #116(head c97a528),提供不变更安装的
python -m msg.admin.preflight --config <显式授权配置>及9类现场证据清单。它不会执行部署、迁移、恢复、Root解锁、外发或自动放行;empty/missing/inconsistent均明确区分,field decision始终blocked,退出2。已实际跑58项A组合回归(真实PG17.11/age1.2.1/Git),以及精确源码树/提交传输校验;新的Py3.15/PG16完整四分片与conformance/wheel/sdist尚在#116核验。它们是代码/测试环境证据,不是生产配置、真实受保护快照、实际容量数据、真实控制台或B/C最终组合验收。
本轮上述生产现场材料均未取得,#69完整policy/promotion代码也仍未完成;因此#84保持open/blocked,未修改权威完成归档宣称完成。详细文件、命令和摘要:
docs/TASK_A_RECOVERY_20260928.md、docs/TASK_A_VERIFICATION.md。最终合并仅交C。Merge #118: integrate recovery safety without weakening current autho…
LIghtJUNction commentedon Sep 29, 2026
2026-09-30 下一阶段基线:#176 已按用户“先合并”指令合并到 main,merge commit
25cf518a64ca2b6af820367caa4f5bb46dbc2f02。#182/#183/#184 已进入该历史;当前仓库没有开放 PR。新工作分支:work/python315-quality-deploy-20260930,从该 main 精确创建。下一阶段只做合并后的质量/部署前收口,不重建已合入功能:固定 Python 3.15 目标、Ruff 0.16.9 的 py315 严格配置与零诊断/零 stderr/格式通过、uv/uv_build 0.12.20、warning-as-error;随后在同一最终 head 跑 8 分片实际 node-ID 完整互斥并集、conformance/实际 tokenizer、wheel/sdist/干净安装、Recovery/Client/Hosting/Tool 等专项。失败先补回归,不 skip/xfail/弱化断言。代码门禁通过后再进入 #84 的部署 preflight;生产现场证据仍独立,不因本次 merge 自动完成。
#84 仍保持生产验收门槛:本阶段只准备可部署源码、构建产物、启动/回滚和只读 preflight 证据;没有真实环境授权前不执行生产迁移、Root/PIN、资金、外发、恢复 promotion 或备份退役。
Quality gates for Python 3.15 and exact release artifacts
Restore market compatibility exports and rehearse installed deployment
Merge PR #185: Python 3.15 quality and verified deployment artifacts
LIghtJUNction commentedon Sep 29, 2026
2026-09-29 当前接续(#185 已合并)
main
5cdaeba2b7b191a27684093cce7b5a153c99c88d/ tree3ad68f2012896310abfa9bcaf800c9ab05f6c886已实际读回,等于最终PR通过的树。18个PR工作流全部success;8份ZIP摘要/JUnit node-ID独立核验 2531 core + 8 conformance,零失败/错误/跳过。精确来源和产物摘要见 #185证据,更新索引见#83。合并后main push是独立运行,正在核验,不预记成功。源码与候选发布包已有严格最终证据:2531 core + 8 conformance、18个PR工作流、同一wheel哈希锁server/client安装、真实启动/重启/客户端/四传输/doctor/worker、真实SSH/Git与installed official selftest。已按精确expected head合并且main tree与验收树相同;新的9个main push门禁另核,未提前计success。公开health200是旧式empty页面,不是新版本readiness。仍缺授权目标机/部署版本配置日志链、合法保护快照、current pin、VT/串口Root、真实容量/持久性及切流/停止/回滚许可。preflight decision=blocked/退出2必须保留,没有生产部署。
各条款源码入口与独立现场材料见
docs/RELEASE_ACCEPTANCE.md。本评论更新证据归属,不降低原验收范围或扩大现场权限。LIghtJUNction commentedon Sep 29, 2026
主线交付证据已收齐:9个适用main push均success,主线2531+8逐node-ID/八份ZIP摘要独立核验0失败/错误/跳过。主线包与已验PR的wheel/sdist及server/client锁逐字节一致,当前候选包/运行/摘要/交接见5898702154。
这完成源码与隔离候选包收口,不解除本issue的现场blocked,也不授权切流。下一阶段需要目标机的授权只读运维入口、真实部署/日志拓扑、受保护快照manifest与来源、独立current pin及物理控制台操作者,再按已有preflight/隔离演练和停止条件继续。不要在公开issue或聊天上传PIN/私钥/token/生产备份。其余完整条款仍按#83与RELEASE_ACCEPTANCE逐项核验,16个总体验收issue未虚报完成。
Verify installed-package concurrency, crash recovery and full restore…
LIghtJUNction commentedon Oct 3, 2026
2026-10-03 整理:把已交付的功能修复与生产现场事项分开跟踪。
已只读核实当前部署为
msgd 0.2.14-20261003.46,来源105c2cf716c1179d49bc79224f10f44a3b031163;该 main 的完整 CI 原始 JUnit/manifest 已核验。本文原来的旧版本数字仍属历史,不代表现在没有上线。以下现场事项继续留在本 issue,不能因对应功能 issue 关闭而视为通过:
本次仅整理跟踪范围,没有生产恢复、停机演练、密钥销毁、旧账号归档或真实外发。原有容量、存储拓扑、日志链和恢复停止条件继续保持开放。
[-][P1] 生产验收、容量与恢复证据(不授权部署)[/-][+]生产容量与适用快照、独立授权检查点及隔离恢复记录[/+]