Skip to content

Task A: custody challenge binding, Root rotation locking and pinned deny-only recovery replay - #116

Closed
LIghtJUNction wants to merge 11 commits into
fix/issues-68-70-recovery-safetyfrom
fix/task-a-recovery-hardening-20260928
Closed

LIghtJUNction wants to merge 11 commits into
fix/issues-68-70-recovery-safetyfrom
fix/task-a-recovery-hardening-20260928

Conversation

@LIghtJUNction

Copy link
Copy Markdown
Contributor

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 incorporating main@67401759a853c69fc5cb234982e1f7020b650542. Independent branch: fix/task-a-recovery-hardening-20260928. Published source 88c1da3e7d3a2055682c9cd3d9083f52ff5159a6, tree ff7c49364227b9d2a0e4fabdcdbe4208c811c094 exactly 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 to security/custodial_migration.py, plugins/custodial_lifecycle.py, admin/rotation.py; strict packaged checkpoint schema/example; four tests/test_task_a_* modules. The only shared test patch is tests/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

  • TDD: empty-history binding regression 9 failed / 1 passed before fix; Root file/race regression 5 failed before fix; fix: recovery evidence, persistent restore quarantine and root rotation integrity (#68–70) #112 restore semantic test 1 failed before repair. New checkpoint/preflight tests failed on missing implementations first.
  • Final focused combined run on the exact tree above: 58 passed, 0 failed/errors/skipped in Python 3.13.5 / actual PostgreSQL 17.11 / age 1.2.1 / Git, including crash/retry/concurrent replay and protected Root file races. This is NOT the required target-environment final gate.
  • Entire current core collection: 1,399. Do not use the historical 1,244 count. Final head must pass the unchanged four-shard exact node-ID/JUnit gate, all conformance and wheel/sdist under Python 3.15 / PostgreSQL 16 / Valkey 9.
  • Publication run 36400846976 only verified transport SHA-256 and exact tested tree before a normal fast-forward push. It is not test CI. Auxiliary asset/publication workflows and encoded transport are absent from this functional branch and PR diff.

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.

Copilot AI lite review requested due to automatic review settings September 28, 2026 09:01

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-09-28T09:07:07.059723Z 88c1da3 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copy link
Copy Markdown
Contributor Author

串行集成 #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。

LIghtJUNction added a commit that referenced this pull request Sep 28, 2026
…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.

Copy link
Copy Markdown
Contributor Author

已通过串行组合 #118 实际进入 main,非放弃本PR:main=45fe2382c63d21eef2f76d4f59141111f7d5713c,保留 905712a... 的第二父 c97a5286...,所以本PR全部提交历史已包含。实际main tree=1a8a28f467183ccab029625b0524ae5c5b7f115f,与完整CI36404029543通过tree一致,1544 core+8 conformance、4份provider SHA/JUnit node-ID逐一核对、0失败/错误/跳过、wheel/sdist,Recovery safety36404029733成功。精确head Codex review完成、无线程。

本PR原全量CI的两项失败已在#118保留原证据/权限断言并修复,不把原失败运行改称通过。因本PR仍以旧#112分支为base,现手动关闭为“已纳入#118”,不再重复merge旧分支。所有现场前置、#69完整当前政策/promotion与#85其余范围继续open,未做生产操作。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants