Repository navigation
Task A: custody challenge binding, Root rotation locking and pinned deny-only recovery replay - #116
LIghtJUNction wants to merge 11 commits into
Conversation
…s without promotion
…restored quarantine
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
串行集成 #118 已创建,保留本PR与#112全部production blobs/提交历史;head905712a73f74d0a87956d781b717e757cf124d0b。另叠加#115/#117的独立缓存/邮件防护,并修复本head全量CI36401032045的两个精确失败,未动您的分支或削弱quarantine。 market_recovery保留live阶段原有签名证据/ACL断言;restore后比较原始业务行、实际blob字节/digest,外部读取精确recovery_quarantined,写入精确writes_paused,worker不领取且所有状态不变。nonconsole测试按真实uid断言OS-admin或console的第一个门槛,非“任意失败均过”。 #118必须另跑目标完整四分片/node-ID/conformance/build/recovery并复验actual main;本PR原CI failure不被改称成功。#69全面政策重放/promotion及全部现场证据继续blocked,本增量只refs。 |
…rization Preserve #112/#116 recovery history and merged #115/#117 guards. Exact combined tree 1a8a28f passed CI36404029543 and Recovery safety36404029733: 1544 core + 8 conformance, four SHA-verified artifacts with exact disjoint JUnit node IDs, zero failures/errors/skips, wheel/sdist. Both integration-test failures fixed without changing quarantine or OS-admin/console gates. Reviewed exact head. Refs #64, #65, #68, #69, #70, #81, #83, #84, #85. Full policy promotion and production field evidence remain incomplete; no production actions.
|
已通过串行组合 #118 实际进入 main,非放弃本PR:main= 本PR原全量CI的两项失败已在#118保留原证据/权限断言并修复,不把原失败运行改称通过。因本PR仍以旧#112分支为base,现手动关闭为“已纳入#118”,不再重复merge旧分支。所有现场前置、#69完整当前政策/promotion与#85其余范围继续open,未做生产操作。 |
Task A, stacked on #112 — C is the only merger
Refs #64, #65, #68, #69, #70, #84, #85. This increment is intentionally not issue closure, production promotion or deployment.
Base: #112
512bb9b1e163151d66b94a5bc26f4b3cc6415070, already incorporatingmain@67401759a853c69fc5cb234982e1f7020b650542. Independent branch:fix/task-a-recovery-hardening-20260928. Published source88c1da3e7d3a2055682c9cd3d9083f52ff5159a6, treeff7c49364227b9d2a0e4fabdcdbe4208c811c094exactly equals the locally tested tree. No original #112/C/B branch was pushed or force-pushed. C may serially integrate the narrow patches or merge #112 first and retarget this increment; do not concurrently merge either branch.Actual fixes
Files / interfaces
Independent modules:
src/msg/admin/recovery_replay.py,admin/preflight.py,security/root_files.py; small changes tosecurity/custodial_migration.py,plugins/custodial_lifecycle.py,admin/rotation.py; strict packaged checkpoint schema/example; fourtests/test_task_a_*modules. The only shared test patch istests/test_authorization_recovery_boundaries.py, for C's serial review. No shared model/DDL/executor/application/config/bootstrap/CLI/Registry/worker/CI changes.Details:
docs/TASK_A_RECOVERY_20260928.md.Verification so far — final target CI required
Explicit remaining blockers
This replay slice does not implement a complete current ACL/TopicBan/policy authority snapshot or controlled production promotion; it never clears quarantine and always reports promotion blocked. Source/currentness of the independent pin is an operator evidence requirement, not self-certified by a database flag or hash chain. No external backup-retirement attestation means no complete server-key-retired claim.
Real #64 proxy/CDN/APM/log-chain materials, #65/#84 protected production snapshot/inventory/capacity evidence, and #70 physical-console/legacy-CA transition approvals are unavailable and remain open/blocked. #103 bank fund/market migration received source-only cross-review, not combined final-head or field acceptance. No production Root/PIN/keys, data restoration/deletion, real funds, mail or other outbound endpoints were used.