Skip to content

fix(storage): signed module maintenance and paged file traversal - #58

Merged
Feargin merged 7 commits into
mainfrom
codex/module-maintenance-storage
Oct 22, 2026
Merged

Feargin merged 7 commits into
mainfrom
codex/module-maintenance-storage

Conversation

@Feargin

@Feargin Feargin commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Signed stores are now available for scrub and rehome planning. The file listing uses a bounded paginated traversal preserving order and cursors.

The initial full recount of module-data no longer blocks opening the store: reading is available during recovery. An unknown usage is returned as busy. Writes wait for the protected restoration of the durable ledger and go through the previous quotas; a preparation failure closes writing. Shutdown cancels the traversal and waits for operations already started. ADR 0090 and the documentation with translations describe the contract.

On 0eac6db, static/typechecks, 1251 unit tests, docs and 6 PostgreSQL resource-catalog scenarios (including pins, fencing and unlink retry) were checked. A real signed module on the preserved set of 4 million chunks passed core-scale-startup: backup 10.85 s, worker 2.50 s including reading and SHA-256; both processes stopped cleanly. The standard 30 s budget was not increased. Writing on a large set remains closed until the full background recovery completes.

Earlier, on 631f3d9, integration (449), the Pro operational scenarios and a physical pass over 4 million chunks passed. These heavy checks were not run again. A full verify/release after the current fix is not claimed; the current CI is running. The owner permitted merging #58 after the checks.

The protected Windows Pro core-e2e on 0eac6db — passed, including the shared GC, licences, delta recovery and restoring a backup into an installation without modules.

CI for 0eac6db revealed a startup contention in the accounting of two hosts. Fixed in 43176ff: bounded cancellable retries only before entering the lock, without repeating mutations. The targeted module-data-recovery gate — 9/9; formatting/typecheck passed, the lint finding is resolved and the file was checked. New CI: 39835468506. The previous CI with the failure was cancelled as stale, successful jobs were not manually restarted.

Final commit bde1a3e: a separate step of the new gate preserves the verifiable integration command. The targeted gate together with the policy — 22/22. The product code matches 43176ff; current CI 39836514685. The owner's permission to merge #58 was received in chat.

Result: CI 39836514685 completed with success, including all HA and the final merge gate. The second attempt repeated only the two unfinished HA jobs after a slow download of Ubuntu packages; the 24 successful results were kept. The PR was merged with the owner's permission, merge 2ff0bf6.

@Feargin
Feargin marked this pull request as ready for review October 22, 2026 18:54
@Feargin
Feargin merged commit 2ff0bf6 into main Oct 22, 2026
53 of 56 checks passed
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