Skip to content

security(core/R-15): Gate 4 — journal, admission, rekey/recovery and cross-process serialization #922

Description

@qnbs

CURRENT CONTROL-PLANE CHECKPOINT — 2026-10-06 — GATE 4 ACTIVE / RETENTION TERMINAL

CURRENT_MAIN = bf745090f7e980e167b1bbf01c7f6dea51fb451f
RESULTING_MAIN_CI_CD = 37434052556 / SUCCESS
RESULTING_MAIN_CODEQL = 37434052501 / SUCCESS
VERCEL_PRODUCTION = dpl_75HQcQhuYP6CxX43EjMov8Sjosdb / READY / exact CURRENT_MAIN / canonical HTTP 200
ROLLBACK = dpl_7XTy9jGDikUauvgT8oPQUtq7YAmq / READY
OPEN_PULL_REQUESTS = 0
DEPENDENCY_TRAIN = TERMINAL
FINAL_RETENTION = TERMINAL
RETENTION_RESULT = 11 stale deployments deleted; 79 orphaned aliases removed; 4 deployments remain; 3 protected Production/Main aliases remain; UNKNOWN = 0
B2A = TERMINAL
B2 = NOT TERMINAL
B2_IMPLEMENTATION_ALLOWED = NO until fresh read-only R4 admission returns READY
PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO
GATE_4D = IN PROGRESS
ACTIVE_CHILD = #359 / QNB-11
NEXT = fresh read-only R4 authority-admission audit on exact current main
GATE_4E = PENDING
GATE_5 = GATED

B2a root-bound resume is terminal via #967. B2 and Gate 4 remain open. Retention completion removes the operational hold but does not authorize source mutation or any later gate.


HISTORICAL / SUPERSEDED CONTROL-PLANE CHECKPOINT — 2026-10-04 — GATE 4D-A MERGED / RETENTION UNBLOCKED

CURRENT_MAIN = 8f1400c4bb6a84be8da940584b86b00233df1d4b
GATE_4_TRACKER = OPEN / IN PROGRESS
PR_957 = MERGED
RESULTING_MAIN_CI_CD / CODEQL = SUCCESS
VERCEL_PRODUCTION = READY exact main / HTTP 200
POST_#957_RETENTION = READY TO EXECUTE
GATE_4D = IN PROGRESS
GATE_5 = GATED
PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO

HISTORICAL / SUPERSEDED — previous control-plane checkpoint

CURRENT_MAIN = 2001e63f3b7b1fbf2faa0270238f0de43ba84db1
PR_953 = MERGED / Successor A read-snapshot slice landed
PR_954 = OPEN / DRAFT / MERGEABLE
PR_954_HEAD = 93384b5a71f8bed4f2cde1428b762d2db0b13790
PR_954_BASE = 2001e63f3b7b1fbf2faa0270238f0de43ba84db1
PR_954_SCOPE = Successor B — Mutation / Root-Recovery / Lifecycle Closure
PR_954_SIZE = 16 files / 2 commits / +2121 -100
CODEANT = Quality / Coverage / SCR / SAST / SCA SUCCESS exact head
CODERABBIT = status SUCCESS, but Draft PR auto-review is disabled; do not call review clean
DEEPSOURCE = Python / Shell / Docker SUCCESS; review grade A; Rust status not inferred
VERCEL_PREVIEW = dpl_2JuoEypL2STM2hXvq9ESVa1Gmz9N BUILDING exact head
CI_CD = IN PROGRESS / not yet terminally proven here
CODEQL = not yet terminally proven here
REVIEWS = no submitted reviewer epoch yet
UNRESOLVED_REVIEW_THREADS = 0 at this checkpoint
PR_952 = OPEN / DRAFT / FROZEN PROVENANCE — DO NOT MERGE
GATE_4B = ACTIVE
4C / 4D / 4E = PENDING
PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO

Successor B is correctly based on the #953 resulting main and carries the semantic A+B union: #953 SessionBinding/rebind semantics plus the mutation/root-recovery/lifecycle mechanisms extracted from frozen #952. The prepared-root Step-F same-instance recovery R1–R5 proof remains this PR's material closure scope.

Do not close Gate 4B, #922, #445, or advance #359/4D until #954 converges on its exact final head, merges normally, and the exact resulting-main CI/CD + CodeQL + Vercel Production gate is terminal.


HISTORICAL / SUPERSEDED — Successor A exact-head checkpoint — PR #953 — 2026-10-03

PR = #953
HEAD = e9bd7556ab0f8111f843b78038fa56078792a097
BASE = 3cd2b6a37ab8b5bbe8abe32830cd8170b0c9d052
FILES = 15
COMMITS = 3 signed
MEANINGFUL_LINES = 1870
PR_952 = OPEN / DRAFT / frozen provenance
CODEQL = SUCCESS
CHANGELOG/TEXT GUARDS = SUCCESS
CODEANT = all gates SUCCESS
CI_CD = IN_PROGRESS; all Rust/Node/platform/signature/security/build jobs green, E2E/VRT downstream still running
VERCEL = SUCCESS exact head
CODEX_EXACT_HEAD = one new P2 race remains open
MERGE_READY = NO
PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO

The Terra/Codex closure commit e9bd7556... is now on the remote despite the executor's final report having observed a delayed remote ref. The earlier transport blocker is therefore RESOLVED / transient.

The three P2s from 12cf7833... are implemented and their threads are now resolved:

  • steady-state validated same-key external forward rebind;
  • lifetime-contract cross-process barrier wording;
  • admitted snapshot-backed catalog enumeration with raw production list/load paths gated away.

Fresh exact-head Codex review on e9bd7556... found one additional VALID same-slice blocker: a mid-capture TOCTOU can occur when provider.state() observes the old runtime as Unlocked, another process commits root N+1, then the subsequent anchor read sees N+1. Current code publishes N+1 into AuthorityCell.current before proving the provider is bound to N+1; resolve_ref then returns Locked, and future retry cannot take the strict-forward rebind path because N+1 has already poisoned current.

Required invariant for closure: never publish a newer snapshot into current before provider/key usability for that exact anchor is established. Prefer rebinding/validation before publication, or otherwise restore/retain the previous snapshot on resolution failure. Preserve explicit-lock, route-change/rotation, rollback, same-generation mismatch and incompatible-authority refusals.

This is still Read/Snapshot scope, but anti-cascade remains binding. One surgical race fix with a deterministic mid-capture regression is admissible; if it needs broad provider redesign or another architectural expansion, stop/split rather than cascade.

The new CodeScene Large Method warning on the 134-line cross-process integration test is non-material and resolved by evidence; no suppression or proof weakening.

Resource horizon remains unchanged: after #953 protected merge + exact resulting-main CI/CD/CodeQL/Vercel Production + cleanup/retention, executor reports and STOPs. No successor B or 4C.


CURRENT EXECUTION MODE — 2026-10-03 — RESOURCE-BOUNDED GATE 4B SPLIT

CURRENT_MAIN = 3cd2b6a37ab8b5bbe8abe32830cd8170b0c9d052
PR_952 = OPEN / DRAFT / FROZEN PROVENANCE
PR_952_HEAD = e34aae28bba31269a814a9a2778346e568c3577e
PR_952_BUDGET = 16 files / 3000 meaningful lines / 5 signed commits
PR_952_MERGE = FORBIDDEN — validated prepared-root recovery gap remains
GATE_4B_SPLIT = ADMITTED
SUCCESSOR_A = Read/Snapshot Admission Closure
SUCCESSOR_B = Mutation/Root-Recovery/Lifecycle Closure
CURRENT_AGENT_HORIZON = SUCCESSOR_A ONLY → merge → exact resulting-main proof → cleanup/retention → STOP
CONTROL_PLANE_WRITES = ChatGPT session only; coding agent read-only except successor-PR operations
4C = PENDING
4D = PENDING via WorldScript-Studio#359 / QNB-11
4E = PENDING
RELEASE_READY = NO
PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO

Anti-cascade/resource decision: PR #952 is no longer a correction target. It is the immutable reviewed extraction source. The current coding-agent run is deliberately bounded to the first successor PR only and must stop after its normal protected merge, exact resulting-main CI/CD + CodeQL + Vercel Production verification, worktree/branch cleanup, and safe Vercel retention. It must not start successor B or 4C in the same execution epoch.

Control-plane ownership is also split deliberately: GitHub issue, Linear, milestone, release-program and checkpoint curation is performed from the ChatGPT control-plane session; the coding agent should only read those records when needed and should not spend token/week quota duplicating status maintenance.

The prepared-root Step-F coordinator-recovery Critical is Gate 4B successor-B scope, not Gate 4D. Gate 4D remains crash-resumable rotation/rekey after 4B and 4C. #360/QNB-12 remains open until complete Gate 4B closure.


CURRENT R-15 CHECKPOINT — PR 952 / e34aae2 — recovery finding blocks merge

CURRENT_MAIN = 3cd2b6a37ab8b5bbe8abe32830cd8170b0c9d052
4A = TERMINAL via 950
4B_FOUNDATION = TERMINAL via 951
4B_INTEGRATION = ACTIVE / PR 952
PR_952_HEAD = e34aae28bba31269a814a9a2778346e568c3577e
PR_BUDGET = 16 files / 3000 meaningful lines / 5 signed commits
CODEQL = 37132489430 SUCCESS
CI_CD = 37132489420 SUCCESS — all required exact-head jobs terminal green
VERCEL_PREVIEW = dpl_FBpTZftnpnum9ZahLkPCeMfAWUtz READY exact head
CODEX = exact e34aae28 review reports no major issue
CODERABBIT = current incremental review 401b81b8 to e34aae28 complete / no actionable finding
CODEANT_QUALITY_SCR = FAILURE — valid material recovery finding is not dismissed
CODEANT = fresh full review completed; validated prepared-root recovery gap remains OPEN
MERGE_READY = NO
GH_360 = OPEN / QNB-12 In Progress
GATE_4 = ACTIVE / QNB-168 In Progress / M3 Active
4C = PENDING
4D = PENDING via 359 / QNB-11
4E = PENDING
RELEASE_READY = NO
PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO

The minimal stale-CAS correction is signed/pushed and locally verified: success and reconciled stale CAS clear the local mutation latch only after physical/writer/admission revalidation; all uncertain errors remain fail-closed. Normal Git transport works; no sandbox/protection/signing bypass occurred.

New material finding: after an injected step-F COMMIT failure, the public coordinator reconciliation returns PreparationPending even when the provider fault is removed. Existing authenticated recover_root is not integrated into the provider-owning coordinator operation API. Lock/shutdown correctly refuse, but same-instance recovery is incomplete. Diagnostic proof is retained locally; temporary probes were removed from source. Do not merge or close 360/QNB-12 until this is fixed with fault proof and fresh exact-head convergence.

No-op RootBusy is separately proved retryable after contention release; its conservative latch is not the prepared-root recovery defect. Remaining DeepSource Rust / CodeScene reds are understood test-only advisory findings, not green. No 4C journal, 4D rekey, collector, deletion, current-app authority change or Gate-7 switch was introduced. At saturated budget, establish a bounded mutation/root-recovery/lifecycle proof slice rather than expand or delete meaningful safety evidence.

HISTORICAL / SUPERSEDED — prior Gate-4B foundation checkpoint

CURRENT R-15 CHECKPOINT — 2026-10-03 — GATE 4B FOUNDATION TERMINAL VIA #951

CURRENT_MAIN = 3cd2b6a37ab8b5bbe8abe32830cd8170b0c9d052
RESULTING_MAIN_VERIFICATION = TERMINAL
4A = TERMINAL via #950
4B_FOUNDATION = TERMINAL via #951
PR_951_FINAL_HEAD = d3c87fe675300b2d29e797625b192516a94fd191
PR_951_MERGED_AT = 2026-10-03T04:51:40Z
RESULTING_MAIN_CI_CD = 37097936085 SUCCESS
RESULTING_MAIN_CODEQL = 37097936105 SUCCESS
VERCEL_PRODUCTION = dpl_9W7p2XZ4dscci5d2sXasPHK7iibz READY / PROMOTED exact CURRENT_MAIN / HTTP 200
HOUSEKEEPING = COMPLETE — clean local main; merged branch/tracking ref removed; other worktrees preserved
RETENTION = COMPLETE — 3 stale predecessor previews deleted; all 15 protected IDs and alias bindings verified
4B_OVERALL = ACTIVE / #360 / QNB-12
4B_INTEGRATION = NEXT — protected operation / authority-key / snapshot / lifecycle integration
GH_360 = OPEN until complete 4B acceptance
4C = PENDING / authenticated journal + paged manifest
4D = PENDING / #359 / QNB-11 / rekey + key-epoch crash window
4E = PENDING / first enable + disable refusal + Gate 4 closure
GATE_4 = ACTIVE
RELEASE_READY = NO
PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO

All resulting-main CI/CD jobs succeeded, including Security Audit, Verified Signatures, Node 22/24, Core/Tauri Rust, Linux/macOS/Windows platform evidence, Build, Playwright, Deep Coverage, Storybook, Browser Quality, CI Success and Pages. Final-head CodeRabbit/CodeAnt/Codex review converged with no actionable finding and no unresolved thread. The two DeepSource test false positives remain evidence-dispositioned advisory red, not green; unavailable reviewer quotas remain recorded.

This terminal checkpoint is for the kernel admission foundation only. It does not complete issue 360, Gate 4B overall, Gate 4 or production Core authority. The next bounded engineering owner remains 4B integration, not 4C.

HISTORICAL / SUPERSEDED — #951 merged, post-merge proof was pending

CURRENT_MAIN = 3cd2b6a37ab8b5bbe8abe32830cd8170b0c9d052
LAST_VERIFIED_MAIN = 4f33d7786076c1d00e73d5db9c527fbd1ea31693
4A = TERMINAL via #950
4B = ACTIVE / #360 / QNB-12
4B_FOUNDATION_PR = #951 MERGED at 2026-10-03T04:51:40Z
PR_951_FINAL_HEAD = d3c87fe675300b2d29e797625b192516a94fd191
4B_FOUNDATION_TERMINAL = NO — resulting-main + Production + housekeeping pending
RESULTING_MAIN_CI_CD = 37097936085 IN_PROGRESS
RESULTING_MAIN_CODEQL = 37097936105 IN_PROGRESS
VERCEL_PRODUCTION_EXACT_CURRENT_MAIN = PENDING VERIFICATION
GH_360 = OPEN until complete 4B integration acceptance
NEXT_ENGINEERING = 4B protected-operation integration, only after foundation terminal proof
4C = PENDING / journal + paged manifest
4D = PENDING / #359 / QNB-11 / rekey + key-epoch crash window
4E = PENDING / first enable + disable refusal + Gate 4 closure
GATE_4 = ACTIVE
RELEASE_READY = NO
PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO

Final-head CI/CD and CodeQL succeeded; CodeRabbit, CodeAnt and Codex reviewed the final delta/head without remaining actionable findings. All review threads are resolved. The two DeepSource test findings remain evidence-dispositioned advisory false positives, not a green status; quotas are recorded as unavailable. The normal protected squash merge did not close #360 or switch production Core authority. No next semantic slice or retention deletion starts before the exact resulting-main gate.

HISTORICAL / SUPERSEDED — pre-merge #951 checkpoint

CURRENT_MAIN = 4f33d7786076c1d00e73d5db9c527fbd1ea31693
GATE_3 = TERMINAL via #949
GATE_4 = ACTIVE via #922
4A = TERMINAL via #950
PR_950_FINAL_HEAD = f2dde0e65bb4dacfd6753f16a6bce1e28bf13078
RESULTING_MAIN_CI_CD = 36994420903 SUCCESS
RESULTING_MAIN_CODEQL = 36994420828 SUCCESS
VERCEL_PRODUCTION = dpl_7Z1r45ckAp4YeYpdHWtHdzQ8BWNN READY exact CURRENT_MAIN
4B = ACTIVE / #360 / QNB-12 / PR #951 kernel admission foundation; protected-operation integration follows
PR_951_HEAD = cb5b63c0f39ca6b8238ebbe00b03ead9f8ab4d02
PR_951_STATUS = OPEN / exact-head CI and review pending / not terminal
GH_360 = OPEN until full 4B acceptance
4C = PENDING / journal + paged manifest
4D = PENDING / #359 / QNB-11 / rekey + key-epoch crash window
4E = PENDING / first enable + disable refusal + Gate 4 closure
NEXT = 4B → 4C → 4D → 4E → Gate 5 → Gate 6 → explicit Gate 7 authorization
PRE_GATE_7_RESIDUAL = #948
RELEASE_READY = NO
PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO

Live reconciliation confirms Gate 4A terminal, including exact resulting-main CI/CD, CodeQL and Production evidence. Gate 4B is the current renderer-neutral admission/fencing owner. Historical legacy filesystem defects remain provenance; this checkpoint does not claim a production authority switch or Gate 4 closure.

HISTORICAL / SUPERSEDED — CURRENT EXECUTION — 2026-10-02 10:21 CEST — GATE 4 / SLICE 4A ACTIVE — superseded by verified Gate 4A terminal checkpoint

#950 is based directly on terminal Gate-3 main. It adds the cross-process root commit lock and guard ownership around root publication/recovery/key-epoch writes. Current exact-head evidence is partial: Vercel Preview, CodeScene, CodeAnt quality gates and several governance/security checks are green; CodeQL, Security Audit, Cubic, CodeRabbit, DeepSource Rust/Shell and remaining CI are still pending/running. Sourcery is quota-limited and Codex has been requested.

Program position

Child owner of #445 for R-15 Gate 4.

TARGET_RELEASE = v1.30.0
PREDECESSOR = Gate 3 terminal
LEGACY_P0_OWNERS = #359 + #360
PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO

Objective

Build the durable control plane that makes enable/disable/rotate/migrate operations crash-resumable, race-free and cross-process serialized.

Required state machine

Persist authenticated operation ID/version, source/target epochs, bounded inventory/checkpoints, per-record progress or equivalent cursor, prepared/committed authority generation, recovery-required state, and exact resume/abort/finalize semantics including shutdown/cancellation.

Admission / concurrency

  • ordinary protected reads/writes and migration/rekey share one coherent admission model;
  • no save/autosave writes into an obsolete epoch after migration passed a record;
  • no plaintext legacy read bypasses locked/migrating policy;
  • exclusive migration authority for critical phases;
  • conflicting processes cannot both perform authority transitions;
  • crash/restart deterministically resumes or fails closed;
  • exact replays do not duplicate side effects.

Existing P0 reconciliation

Acceptance

Non-goals

  • all-class migration (Gate 5);
  • packaged shadow qualification (Gate 6);
  • production cutover (Gate 7).

Activity

  1. qnbs commented on Sep 30, 2026

    @qnbs
    OwnerAuthor

    Linear control-plane mirror

    GitHub remains the implementation/evidence source of truth; Linear tracks sequencing, priority, dependencies and milestone progress.

  2. qnbs commented on Oct 1, 2026

    @qnbs
    OwnerAuthor

    Related desktop-lock owner — 2026-10-01

    Coordinate Gate 4 cross-process serialization/admission with #831. #831 is not an automatic Gate 4 blocker, but Gate 4 must not create a second incompatible native ownership primitive and should reuse/share a trustworthy process-ownership mechanism where the evidence supports it.

  3. qnbs commented on Oct 2, 2026

    @qnbs
    OwnerAuthor

    Live Gate 4 checkpoint — 2026-10-02 10:21 CEST

    Gate 3 is terminal via #949 → main 4f119e20d472a571c96ef9c43f479f68e3c47115: CI/CD 36981985445 SUCCESS, CodeQL 36981985385 SUCCESS, and Vercel Production dpl_2r1QiNXDpGw1YdG52eUbuRc3p6fx is READY on the exact SHA. #921 and #357 are closed.

    Gate 4 is now active through PR #950, slice 4A, exact head b72cb4125eb2d3cf0ab494c4bd9f9f05d3dbed39. Scope: cross-process root_commit_mutex and guard enforcement around root publication/recovery/key-epoch writes. The current exact-head epoch is not terminal: Vercel Preview and several static/reviewer gates are green, while CodeQL, Security Audit, Cubic, CodeRabbit, DeepSource Rust/Shell and other checks are still running/pending. Sourcery is quota-limited; Codex review has been requested.

    Recorded Gate 4 sequence from #950: 4A root mutex → 4B unified admission (#360) → 4C journal/paged manifest → 4D crash-resumable rotation/rekey (#359 + Gate-3 key-epoch crash window) → 4E first enable/disable refusal + Gate 4 closure.

    PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  4. qnbs commented on Oct 2, 2026

    @qnbs
    OwnerAuthor

    #950 exact-head review checkpoint — b72cb41

    The re-enabled Codex GitHub App is reviewing again. Its current P2 is validated independently and overlaps CodeRabbit:

    • P2 / data-integrity: load_committed_root() is not actually read-only. It reads the committed anchor, then calls ensure_pointer(), which can rewrite the pointer without holding root_commit_mutex. A stale reader can therefore restore the prior pointer after a concurrent writer's E2 readback but before F. Fix by making the load path read-only, or move repair under the mutex with anchor revalidation.
    • CodeRabbit minor: RootCommitGuard::guards() compares lexical paths; equivalent symlink/normalized paths can be rejected despite holding the same OS lock. This is fail-closed (not an authority bypass) but is a real functional-path-identity issue.
    • CodeAnt nitpick: child-process cleanup in a failing root-lock test can leave the helper alive until its timeout; test-hygiene only.

    Current positive evidence on this head: CodeQL, Security Audit, Verified Signatures, Core/Tauri Rust, Linux/macOS/Windows secure-store evidence, Semgrep, GitGuardian, CodeScene, CodeAnt and Vercel Preview are green. Node 22/24 and Cubic are still running at the latest readback. Sourcery remains quota-limited.

    Hold merge. Finish the exact-head epoch, then batch validated findings into one correction wave and restart exact-head verification. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  5. qnbs commented on Oct 2, 2026

    @qnbs
    OwnerAuthor

    #950 correction-wave head — 791d608

    The first review wave was fixed in one push:

    • Codex/Cubic/CodeRabbit stale-pointer race: fixed by making cold start pointer-read-only and adding guarded repair_root_pointer with anchor re-read/re-authentication.
    • Root guard path identity: canonicalized; equivalent paths now match, different/unresolvable roots remain fail-closed.
    • Child-holder test cleanup: fixed with drop-time release/kill/reap.
    • Contract/ledger wording drift: corrected.

    Fresh-head evidence: Codex re-review says no major issues; Cubic SUCCESS; CodeRabbit confirms the path-identity fix; CodeQL, Security Audit, signatures, Core/Tauri Rust and all three OS evidence lanes are green; Vercel Preview dpl_GC837iV9M15QtQCw56Mif9RuVx44 is READY on the exact head. Node 22/24 remain in progress at the latest readback.

    New current-head finding: CodeAnt reports that load_committed_root() now reads the recoverable pointer only to compute pointer_stale, but read_pointer() still propagates non-NotFound I/O errors. Because the contract states the filesystem pointer is recoverable state and the secure anchor is authority, a pointer-only read failure should not make an otherwise authenticated committed root unreadable. Validate/fix this before merge (e.g. represent pointer state as stale/unknown without weakening authenticated root checks; keep repair under the mutex).

    PR remains NOT merge-ready until this finding is dispositioned and the new exact-head epoch is terminal. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  6. qnbs commented on Oct 2, 2026

    @qnbs
    OwnerAuthor

    Gate 4A TERMINAL — 2026-10-02

    #950 merged from final head f2dde0e65bb4dacfd6753f16a6bce1e28bf13078 into main 4f33d7786076c1d00e73d5db9c527fbd1ea31693 (2026-10-02T10:14:59Z; 5 commits, 15 files, +625/−36).

    Resulting main:

    • CI/CD 36994420903 passed (18 jobs succeeded, 1 skipped).
    • CodeQL 36994420828 passed.
    • Vercel Production dpl_7Z1r45ckAp4YeYpdHWtHdzQ8BWNN is READY on the exact SHA; HTTP 200.

    Status token: R15_GATE4=SLICE_4A_ROOT_COMMIT_MUTEX.

    What landed:

    • The mutex: the cross-process root_commit_mutex (§11.1). On Unix it is a flock on the canonical root directory itself; on Windows it is LockFileEx on a no-delete-share lock file. The OS releases it when the holder crashes.
    • The guard: it is not Sync, and it is required by commit_root, recover_root, write_key_epoch and repair_root_pointer. A catalog commit re-reads the root and commits under it.
    • Read-only cold start: cold start never rewrites the pointer; repair happens only under the mutex.

    The review waves fixed:

    • the stale-reader pointer-repair race;
    • recoverable pointer error semantics;
    • canonical root identity;
    • lock-target replacement;
    • the same-guard concurrent writers;
    • test cleanup and postconditions.

    One test-hygiene P3 (pre-clean moved) is deferred to the next PR that touches gate4a_root_lock_test.rs. Codex was quota-limited on the final head (recorded as unavailable). Its last completed review, on 791d608b, found no major issues. Sourcery was quota-limited.

    Gate 4 state: 4A TERMINAL. NEXT = 4B, the unified admission gate (#360 / QNB-12). After that come 4C (journal and paged manifest), 4D (rotation/rekey, plus #359 and the key-epoch crash window) and 4E (first enable, disable refusal, closure). Gate 4 remains active. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO. Execution is paused until 2026-10-06 00:00 Europe/Berlin (weekly usage reset).

  7. qnbs commented on Oct 3, 2026

    @qnbs
    OwnerAuthor

    Gate 4B integration — live exact-head checkpoint

    PR = #952
    HEAD = 401b81b8be2d4fc0f007d1e043e9aae36f52b119
    BASE / CURRENT_MAIN = 3cd2b6a37ab8b5bbe8abe32830cd8170b0c9d052
    PR_STATE = OPEN / MERGEABLE / NOT MERGE_READY
    PR_SIZE = 16 files / 2853 meaningful lines / 3 commits
    CI_CD = 37115923615 SUCCESS
    CODEQL = 37115923652 SUCCESS
    CORE_RUST = SUCCESS
    TAURI_RUST = SUCCESS
    NODE_22_24 = SUCCESS
    PLATFORM_LINUX_MACOS_WINDOWS = SUCCESS
    SECURITY_AUDIT = SUCCESS
    VERIFIED_SIGNATURES = SUCCESS
    CI_SUCCESS_AGGREGATOR = SUCCESS
    VERCEL_PREVIEW = dpl_GcxxZ4ZWbSxJUYFyyEMYww6y53vA READY exact HEAD
    VERCEL_PRODUCTION = dpl_9W7p2XZ4dscci5d2sXasPHK7iibz READY exact CURRENT_MAIN
    CODESCENE = RED — remaining findings are test-maintainability metrics; production findings improved
    DEEPSOURCE_RUST = RED / advisory; current test findings evidence-dispositioned
    MERGE_READY = NO
    PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO
    

    The first correction wave fixed the original macOS failure and the prior CodeAnt/Codex/CodeRabbit clusters. Fresh exact-head review found a narrower second wave:

    • VALID: retained-epoch transient read errors must preserve undecided Io semantics instead of reporting authenticated corruption/recovery.
    • VALID: reject the reserved <installation>/ordinary-writers root collision centrally before snapshot/provider/key observation on every operation path.
    • VALID: failed unlock must retain the exclusive guard across panic/unwind; do not take() the stored guard before verification succeeds.
    • VALID: a durable PENDING marker followed by a failed/busy PENDING-root event must latch local recovery-pending state so lock/shutdown cannot report a clean drain. Keep this bounded to Gate 4B; do not pull the Gate 4C persistent journal/manifest into this PR.
    • NON-MATERIAL / contract clarification: clean shutdown need not retain a permanent cross-process fence after the local storage instance is closed. The retained fence contract applies to confirmed lock until verified unlock; shutdown must drain/refuse unresolved recovery, then may release on completion/exit.
    • NON-MATERIAL as deletion authority: SnapshotRetention::is_referenced is explicitly non-authorizing; reclamation already validates coordinator ownership/scope before consulting it.
    • PARTIALLY_VALID documentation: distinguish the logical Arc<Snapshot> pin from per-operation physical location pins; do not introduce a new hazard-pointer/RCU/persisted-pin architecture without a newly proven contract requirement.

    CodeAnt's prior two Majors are resolved at this head and its Quality Gate reports PASS. CodeRabbit and Codex independently agree on the transient-I/O finding; Codex additionally raised the reserved-root and unrooted-PENDING cases. CodeScene remains red only on the integration-test structure after production-code improvements; its remaining metrics have been individually dispositioned without suppression or test weakening.

    Split gate: keep #952 together only for this narrow correction if it remains the same Gate-4B semantic/proof unit and is near-net-neutral. At 2853 meaningful lines there is almost no size reserve. If the next correction materially exceeds ~3000 lines, adds another independent authority/recovery abstraction, or begins 4C/4D semantics, split at a real lifecycle/recovery proof boundary before pushing.

    Next cadence remains: one narrow coherent correction → signed push → entirely fresh exact-head CI/reviewer epoch. No stale-head merge.

    Gate 4B integration remains ACTIVE through #952. #360 stays OPEN until final-head convergence, normal protected merge, resulting-main CI/CodeQL/platform/security/signature proof, exact-SHA Production verification, housekeeping and GitHub/Linear reconciliation. 4C/4D/4E remain pending.

  8. qnbs commented on Oct 3, 2026

    @qnbs
    OwnerAuthor

    Gate 4B exact-head checkpoint — 7878df9

    PR = #952
    HEAD = 7878df9084457fea1633506ce326d4eae3c819b9
    BASE / VERIFIED_MAIN = 3cd2b6a37ab8b5bbe8abe32830cd8170b0c9d052
    STATE = OPEN / MERGEABLE / NOT MERGE_READY
    COMMITS = 4
    FILES = 16
    MEANINGFUL_LINES = 2994
    GITHUB_DIFF = +2940/-54
    PR_SIZE_GOVERNANCE = SUCCESS with over-hard-tier warning
    VERCEL_PREVIEW = dpl_DWs2jZ1QW4K9q2YpPXLYSRGr1nD8 READY exact HEAD
    CI_CD = 37119007516 IN_PROGRESS
    CODEQL = 37119007529 QUEUED
    MERGE_READY = NO
    PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO
    

    Correction commit: fix(core): fence recovery and unlock cancellation (#445).

    The new commit remains inside Gate 4B and addresses the validated second-wave clusters:

    • retained-epoch read errors now distinguish NotFound from transient I/O;
    • reserved ordinary-writers root collision is centrally rejected before authority/key observation across operation paths;
    • failed/unwound unlock retains the exclusive fence and clears runtime keys;
    • a local pending-record latch refuses clean lock/shutdown drain until same-identity reconciliation/write clears it;
    • shutdown semantics are clarified as coordinator close, not a durable installation-wide LOCKED authority;
    • SnapshotRetention wording is explicitly non-authorizing.

    No Gate 4C journal/manifest, Gate 4D rekey state machine, collector, deletion path or production authority switch was added.

    Current exact-head external evidence:

    • CodeAnt Quality Gates/coverage/SCR/SAST/SCA = SUCCESS;
    • CodeRabbit status = SUCCESS;
    • Vercel = SUCCESS/READY exact head;
    • DeepSource Python/Docker/Shell = SUCCESS; Rust remains FAILURE on the same test-only drop analyzer class and must be evidence-dispositioned, not called green;
    • CodeScene remains red on test-only cohesion/assertion metrics (19 isolated integration cases; 8 large assertion blocks), with production root-store health improved.

    Important review note: the new pending_record latch is intentionally conservative and is set before the admitted mutation/reconciliation call. Fresh reviewers should explicitly verify that early non-durable failures cannot create an unintended permanent local recovery latch or require an impossible recovery path.

    Split gate: 2994 meaningful lines leaves effectively zero correction reserve. Freeze scope now. Any new substantive architecture/recovery work, 4C/4D semantics, or material LOC growth should trigger a real split rather than another expansion of #952.

    Do not merge until the full exact-head CI/reviewer epoch is terminal and every new finding is dispositioned.

  9. qnbs commented on Oct 3, 2026

    @qnbs
    OwnerAuthor

    Gate 4B exact-head terminal-CI / fresh-Codex checkpoint — 7878df9

    PR = #952
    HEAD = 7878df9084457fea1633506ce326d4eae3c819b9
    BASE / VERIFIED_MAIN = 3cd2b6a37ab8b5bbe8abe32830cd8170b0c9d052
    STATE = OPEN / MERGEABLE
    FILES = 16
    COMMITS = 4
    MEANINGFUL_LINES = 2994
    CI_CD = 37119007516 SUCCESS
    CODEQL = 37119007529 SUCCESS
    VERCEL_PREVIEW = dpl_DWs2jZ1QW4K9q2YpPXLYSRGr1nD8 READY exact HEAD
    MERGE_READY = NO
    PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO
    

    All CI/CD jobs on the exact head are terminal green: policy, security, signatures, Core Rust, Tauri Rust, Node 22/24, Linux/macOS/Windows secure-store evidence, Storybook, Build, Playwright, E2E Deep Coverage, Browser Quality and the CI Success aggregator. CodeQL is also SUCCESS.

    Fresh Codex review on exact head 7878df90 raised one material P2:
    Clear the mutation latch after a stale CAS.

    Validated control flow:
    ProtectedStorage::try_write_record sets pending_record before calling protected_write_admitted. The lower write path first reconciles, then checks expected_generation, and returns ProtectedError::StaleGeneration before begin_write when the CAS is stale. The current ? therefore exits with the local latch still set even though no new PENDING write was begun. This can make later try_lock / try_shutdown incorrectly return RecoveryPending.

    Correction requirements:

    • fix this narrowly inside Gate 4B;
    • do not clear the latch for genuinely uncertain/durability-relevant failures;
    • before clearing on a proven-resolved stale-CAS outcome, preserve the existing physical/admission identity checks (record/location pin, writer guard, operation admission); if those checks fail, remain fail-closed;
    • add deterministic regression proof that stale CAS leaves no false recovery latch and a subsequent clean lifecycle transition does not require an unnecessary reconciliation/write;
    • audit adjacent error exits only far enough to ensure the fix does not accidentally broaden clearing semantics.

    PR budget is effectively exhausted at 2994 meaningful lines. Prefer line-neutral/line-reducing correction and test reshaping over growth. Do not introduce 4C journal/manifest, 4D rekey, collector, deletion or cutover scope. No suppressions/test weakening.

    DeepSource Rust remains advisory red on the test-only drop analyzer class; CodeScene remains red on test-only cohesion/assertion metrics. Neither should drive semantic weakening.

    After a signed fix push, all current-head evidence becomes stale: start a completely new exact-head CI/reviewer epoch. Normal protected merge only after final-head convergence; no admin/bypass/self-authorization.

  10. qnbs commented on Oct 3, 2026

    @qnbs
    OwnerAuthor

    Gate 4B anti-cascade decision: superseding split, not merge.

    PR #952 is frozen at e34aae2 (16 files / 5 signed commits / 3000 meaningful lines). Prepared-root recovery finding remains VALID and merge-blocking; no source push or suppression will squeeze its full R1–R5 proof into a saturated PR.

    Replacement A: read/snapshot admission only, from verified main 3cd2b6a. Replacement B: mutation/root-recovery/lifecycle closure, only from A's terminal resulting main, reusing recover_root before fresh capture under shared admission → writer serialization → finite root event. No new durable format, journal, or rekey state machine.

    Exact A/B/S/D extraction and finding ownership are recorded locally in crates/target/PR952-SUPERSEDING-EXTRACTION-2026-10-03.md; existing #952 remains the immutable review provenance. The prepared-root Critical belongs to B/R1–R5; retained snapshots/locators/read lifetime to A; commit-refresh/stale-CAS/lifecycle to B; physical collection and rotation remain later gated owners. #952 stays OPEN until replacement A is safely open/cross-linked and B ownership is durably recorded.

    WorldScript-Studio#360 / QNB-12 stays OPEN / In Progress. Gate 4 / QNB-168 / M3 stays active. 4C/4D/4E pending.
    PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  11. qnbs commented on Oct 3, 2026

    @qnbs
    OwnerAuthor

    PR #953 final-head checkpoint — 3c118bc652210a5861fe408e9d89e4893a66a3a0.

    • 15 files / 1925 meaningful lines / 4 signed commits
    • final mid-capture publication/rebind race fixed in one-file commit fix(core): make snapshot publication rebind atomic (#445)
    • deterministic interleaving test proves N→N+1 external commit between state observation and anchor read cannot poison AuthorityCell.current; exact key usability and exact anchor equality are proven before publication; subsequent capture remains usable
    • earlier read/snapshot P2s remain closed
    • CodeAnt legacy-write observation is partially valid but explicitly deferred to Successor B mutation/writer-admission owner; it does not invalidate the immutable pinned read proof and does not admit mutation scope into feat(core): admit protected reads through pinned snapshots (#445) #953
    • CodeQL, CodeAnt gates, Vercel, CHANGELOG/Text guards are green exact-head
    • DeepSource Rust and CodeScene remain advisory reds for already-dispositioned test-fixture/test-method metrics; no suppression or proof weakening
    • CI/CD still converging (Node 22/24 currently running at this checkpoint)
    • fresh Codex review on exact 3c118bc6... still pending
    • MERGE_READY = NO until terminal CI + fresh exact-head reviewer convergence
    • no Successor B / 4C; production authority switch remains NO
  12. qnbs commented on Oct 4, 2026

    @qnbs
    OwnerAuthor

    PR #953 continuation authorization — 2026-10-04.

    Fresh Codex exact-head review on 3c118bc652210a5861fe408e9d89e4893a66a3a0 produced three VALID Read/Rebind P2s:

    1. prepared-only anchor changes can currently lock/strand a reader even though committed read authority did not change;
    2. KeyState::Locked cannot distinguish explicit lock from a stale previously-unlocked session, so same-key forward auto-rebind can violate explicit-lock refusal;
    3. before first capture, current=None provides no baseline, so a stale previously-unlocked runtime cannot rebind after an external same-key advance.

    NEW EXECUTION POLICY: these findings are explicitly authorized for further correction on #953. Do NOT stop merely because another fixable same-slice P2 appears. Continue correction → local proof → signed push → fresh exact-head review/CI cycles until #953 genuinely converges and can be merged normally. Only an unfixable platform/auth/protection blocker or a scope change into Successor-B mutation/root-recovery/4C may stop execution.

    Preferred common design direction: preserve a non-secret provider session-binding witness (scope + committed root, or equivalent) that survives stale-root detection but is cleared by explicit lock. Use it to distinguish explicit lock from stale binding and to establish a safe pre-first-capture baseline. Prepared-root-only changes must not be treated as read-authority changes; compare/revalidate the committed read-authority projection rather than the whole AnchorState where appropriate.

    #360 / QNB-12 remain open. Successor B remains mutation/root-recovery/lifecycle. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  13. qnbs commented on Oct 4, 2026

    @qnbs
    OwnerAuthor

    Gate 4D sequence checkpoint — 2026-10-04

    #957 is merged and resulting-main remains exact at 8f1400c4bb6a84be8da940584b86b00233df1d4b. Vercel Production remains READY on that SHA. The five #957 preview candidates remain present and individually classify as non-production / non-rollback.

    Cursor could not mutate Vercel: MCP has read capability but no deployment/alias delete wrapper, its CLI session is logged out, and no token is present. No deletion was attempted. Therefore:

    POST_#957_RETENTION = NOT COMPLETE
    PR_958 = FROZEN
    MERGE_#958 = NO
    FURTHER_PUSH_#958 = NO
    SLICE_B_IMPLEMENTATION = NO
    NEXT = authenticated local Vercel cleanup via Claude Code CLI Sonnet / existing operator session
    PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO
    

    After retention becomes terminal, re-fetch the full #958 three-channel review census and address its two root-cause families in one docs-only correction wave.

  14. 19 remaining items

  15. qnbs commented on Oct 8, 2026

    @qnbs
    OwnerAuthor

    Gate 4D Slice D2b-2 (manifest authority-first epoch preflight) is terminal on resulting main 18630d7693961db469aab09e91dca81f15c6ed8c via #1004: resulting-main CI/CD (37717028036) and CodeQL (37717027958) succeeded, Production dpl_TRn38nYsAgdGomdeVCjbi7WJTLXk is READY on the exact SHA with HTTP 200, and post-merge retention is complete (0 previews, 0 unknown). B2, C1, D1, D2a, D2b-1 and D2b-2 are terminal; Gate 4D and Gate 4 remain in progress. Next: D2b-3 read-only admission (registry-resolved journal key route), then D3, streaming capture, C2. Details and open criteria: #359 issuecomment-6051161562. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  16. qnbs commented on Oct 8, 2026

    @qnbs
    OwnerAuthor

    Gate 4D Slice D2b-3a (registry-resolved key route of a bound journal) is terminal on resulting main 014c1c18548386cbc56cc04d18395aff4fe3b8b6 via #1005: resulting-main CI/CD (37736258294) and CodeQL (37736258202) succeeded, Production dpl_8gHMgs7CMCustYohgRzyUFhyhmgm is READY on the exact SHA with HTTP 200, and post-merge retention is complete (0 previews, 0 unknown). B2, C1, D1, D2a, D2b-1, D2b-2 and D2b-3a are terminal; Gate 4D and Gate 4 remain in progress. Next: D2b-3b read-only admission (wire the route into the composed journal operations and drop the caller-supplied key), then D3, streaming capture, C2. Details and open criteria: #359 issuecomment-6054183103. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  17. qnbs commented on Oct 8, 2026

    @qnbs
    OwnerAuthor

    Gate 4D Slice D2b-3b (the journal-owner operations use the key route; no caller-supplied journal key) is terminal on resulting main 6ee0db777523ec407dd944211101f34f5bdd5093 via #1006: resulting-main CI/CD (37747908889) and CodeQL (37747908987) succeeded, Production dpl_s6atn7q4kbXERdvqAG2o4sRBiKTw is READY on the exact SHA with HTTP 200, and post-merge retention is complete (0 previews, 0 unknown). Slice D2b is complete (source-key retention, manifest authority-first preflight, registry-resolved key route and its wiring); B2, C1, D1, D2a and D2b are terminal; Gate 4D and Gate 4 remain in progress. Next: the epoch-relation validation slice (ROTATE target > source, ENVELOPE_MIGRATION relation stated first), then D3, streaming capture, C2. Details and open criteria: #359 issuecomment-6056185184. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  18. qnbs commented on Oct 8, 2026

    @qnbs
    OwnerAuthor

    Gate 4D epoch-relation validation (a journal's target epoch follows its operation: ENABLE 0 -> 1, ROTATE target > source, ENVELOPE_MIGRATION keeps the key epoch) is terminal on resulting main 5a1474bb5605fee1e71a6ccbb60160aeeba22bb2 via #1007: resulting-main CI/CD (37760960561) and CodeQL (37760960559) succeeded, Production dpl_2h5r5Mqx3rCA6E7bJm8FaUrz77SC is READY on the exact SHA with HTTP 200, and post-merge retention is complete (0 previews, 0 unknown). B2, C1, D1, D2a, D2b and the epoch relation are terminal; Gate 4D and Gate 4 remain in progress. Next: D3 read-only admission, then streaming capture and C2. Details and open criteria: #359 issuecomment-6058049029. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  19. qnbs commented on Oct 8, 2026

    @qnbs
    OwnerAuthor

    Gate 4D Slice D3a (the cursor and the lease across journal successors: within a phase the cursor never regresses, a forward phase change enters the new phase at (0, 0), entering recovery keeps the last cursor, an ordinary successor never touches the lease, and the same-owner renewal exists as a predicate) is terminal on resulting main f10b30d0b53d9556152d4039916293dee2b7784c via #1008: resulting-main CI/CD (37774706261) and CodeQL (37774706198) succeeded, Production dpl_9LkSbnWuGLj4QEwJBrrdPFtqPL8i is READY on the exact SHA with HTTP 200, and post-merge retention is complete (0 previews, 0 unknown). B2, C1, D1, D2a, D2b, the epoch relation and D3a are terminal; Gate 4D and Gate 4 remain in progress. Next: D3b read-only admission (wiring the renewal), then streaming capture and C2. Details and open criteria: #359 issuecomment-6060229800. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  20. qnbs commented on Oct 8, 2026

    @qnbs
    OwnerAuthor

    Gate 4D Slice D3b (the journal owner renews its own lease through a composed operation of its own: a fenced publish of the renewal and a root binding step that proves the renewal relation under the root lock; the ordinary checkpoint and the plain advance still cannot carry a lease change) is terminal on resulting main bc7d248a4ec972ef410bf1dc8791bcf9f553b1ec via #1009, which completes D3: resulting-main CI/CD (37788245553) and CodeQL (37788245538) succeeded, Production dpl_9K7UQuCe4woooYMeekVXZefrMbpM is READY on the exact SHA with HTTP 200, and post-merge retention is complete (0 previews, 0 unknown). B2, C1, D1, D2a, D2b, the epoch relation and D3 are terminal; Gate 4D and Gate 4 remain in progress. Next: streaming capture read-only admission, then C2. Details and open criteria: #359 issuecomment-6062050668. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  21. qnbs commented on Oct 8, 2026

    @qnbs
    OwnerAuthor

    Gate 4D streaming capture, stage one (building and staging a captured inventory one page at a time, so a very large inventory no longer has to be resident in memory; each page sealed once and staged in a private pending directory that is never authority, the successor built by the same function as capture_inventory) is terminal on resulting main edcd9535a25e7ef5869dd7bd4bbb8da29532e968 via #1010: resulting-main CI/CD (37825712187) and CodeQL (37825714367) succeeded, Production dpl_g83XFkCJgD9fKjABp9jEZeLHh4QV is READY on the exact SHA with HTTP 200, and post-merge retention is complete (0 previews, 0 unknown). B2, C1, D1, D2a, D2b, the epoch relation, D3 and the staging stage are terminal; Gate 4D and Gate 4 remain in progress. Next: stage two (promotion and the composed commit), then C2. Details and open criteria: #359 issuecomment-6067262533. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  22. qnbs commented on Oct 8, 2026

    @qnbs
    OwnerAuthor

    Gate 4D streaming capture, stage two (a) (a staged inventory is promoted into the digest directory page by page and the successor published and bound under the root lock, in commit_inventory_capture's order and through one shared core; the staged files go only after the root has committed, so a retry still has them) is terminal on resulting main abd49cf99a1dcd4b21a25fc655f6cdc1ded6a08a via #1011: resulting-main CI/CD (37845701613) and CodeQL (37845701689) succeeded, Production dpl_FeW7A38bTyBdwxKv6pFSpTPLtQpk is READY on the exact SHA with HTTP 200, and post-merge retention is complete (0 previews, 0 unknown). B2, C1, D1, D2a, D2b, the epoch relation, D3 and streaming S1 and S2a are terminal; Gate 4D and Gate 4 remain in progress. Next: S2b admission (the key-routed staging session), then C2. Details and open criteria: #359 issuecomment-6069729328. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  23. qnbs commented on Oct 9, 2026

    @qnbs
    OwnerAuthor

    Gate 4D streaming capture S2b TERMINAL — PR #1012 (mirror)

    CURRENT_MAIN = d5878c18e81d4f15ed486edf4240b96e9dbe6942      PR_1012 = MERGED (3 signed commits; 10 files; 3 review threads, 0 unresolved)
    RESULTING_MAIN_CI_CD = 37859962668 / SUCCESS      CODEQL = 37859962546 / SUCCESS
    VERCEL_PRODUCTION = dpl_AVqAuddhF9EHfXGmqGvt9yaQi6vz / READY / exact main / canonical HTTP 200      ROLLBACK = dpl_FeW7A38bTyBdwxKv6pFSpTPLtQpk
    RETENTION = TERMINAL (3 previews deleted by exact ID, absence proven; 29 production/PROMOTED deployments + 3 canonical aliases retained; 0 previews; UNKNOWN = 0)
    STREAMING_S2B = TERMINAL      GATE_4D = IN PROGRESS      OPEN_PRS = 0      PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO
    

    begin_streamed_capture / StagingSession: a capture is staged and committed without the caller holding a key; the journal key is routed from the authenticated root/registry, the committed manifest and binding are read from the root, and one journal directory value is held per capture. Full text and proof: #359 issuecomment-6071500665.

    Open before Gate 4 terminal: C2 exclusive conversion driver; inheriting unchanged pages; bounded adapter defaults; pending-directory reclamation; Gate 4E write barrier. NEXT: read-only admission of the C2 driver on exact main.

  24. qnbs commented on Oct 9, 2026

    @qnbs
    OwnerAuthor

    Gate 4D C2a TERMINAL — PR #1013 (mirror)

    CURRENT_MAIN = d50dcbb5d4f1995b42f180f7cda4d2548c2e5398      PR_1013 = MERGED (3 signed commits; 9 files; 1 review thread, 0 unresolved)
    RESULTING_MAIN_CI_CD = 37868374940 / SUCCESS      CODEQL = 37868374924 / SUCCESS
    VERCEL_PRODUCTION = dpl_HJ5UFEHKrTx88paGFh2JNeV4ZbyU / READY / exact main / canonical HTTP 200      ROLLBACK = dpl_AVqAuddhF9EHfXGmqGvt9yaQi6vz
    RETENTION = TERMINAL (2 previews deleted; 30 production/PROMOTED + 3 aliases retained; 0 previews; UNKNOWN = 0)
    C2A = TERMINAL      GATE_4D = IN PROGRESS      OPEN_PRS = 0      PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO
    

    begin_conversion: the entry gate of the exclusive conversion driver. It needs the installation's exclusive admission (by mutable borrow; a shared guard does not type-check), derives the root layout from the admitted scope, re-reads the committed binding, the registry-routed key and the root-named manifest, and returns a session only for the owner of the lease in ADMIT or CONVERT with the final inventory captured. Read-only: no write, no lock, no key, no clock. Full text and proof: GH #359 issuecomment-6072537648.

    Open before Gate 4 terminal: C2b (owner steps through the gate, first caller of the D3b renewal), C2c (cursor-driven iteration, crash/resume), inheriting unchanged pages, bounded adapter defaults, pending-directory reclamation, Gate 4E write barrier. NEXT: read-only admission of C2b.

  25. qnbs commented on Oct 9, 2026

    @qnbs
    OwnerAuthor

    Gate 4D C2b-1 TERMINAL — PR #1014 (mirror)

    CURRENT_MAIN = 5cdf12cb44185918931a3b4f4dfe8d609c45d6a1      PR_1014 = MERGED (7 signed commits; 8 files; 21 review threads, 0 unresolved)
    RESULTING_MAIN_CI_CD = 37881709739 / SUCCESS      CODEQL = 37881709758 / SUCCESS
    VERCEL_PRODUCTION = dpl_G5Yi6KMAVaJCUxfED8a9utf3CRpx / READY / exact main / canonical HTTP 200      ROLLBACK = dpl_HJ5UFEHKrTx88paGFh2JNeV4ZbyU
    RETENTION = TERMINAL (6 previews deleted; 31 production/PROMOTED + 3 aliases retained; 0 previews; UNKNOWN = 0)
    C2B1 = TERMINAL      GATE_4D = IN PROGRESS      OPEN_PRS = 0      PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO
    

    ConversionSession::renew_lease: the first real caller of the D3b renewal, and the first step that moves the journal through the exclusive gate. The root event is taken through the held admission, the committed journal is read back under it and the root settles the outcome, every file operation goes through canonical paths, the journal directory is pinned below the installation and outside the root, and a differing crashed candidate is quarantined. Disclosed: six review waves (the QNB-11 text asked for one) and 1042 meaningful lines (over target, inside the hard tier). Open: C2b-2, C2c, handle-relative adapter I/O (Gate 4E/5), inheriting pages, adapter defaults, pending-directory reclamation, write barrier. NEXT: read-only admission of C2b-2. Full text: GH #359 issuecomment-6074441537.

  26. qnbs commented on Oct 9, 2026

    @qnbs
    OwnerAuthor

    Gate 4D C2b-2 TERMINAL — PR #1015 (mirror)

    CURRENT_MAIN = c4628b5440143e154364ee9bc99b1595b32251fc      PR_1015 = MERGED (3 signed commits; 6 files; 4 review threads, 0 unresolved)
    RESULTING_MAIN_CI_CD = 37890155449 / SUCCESS      CODEQL = 37890155447 / SUCCESS
    VERCEL_PRODUCTION = dpl_BKPsiSMc6X6PipP9Nt9S3oJuUYaL / READY / exact main / canonical HTTP 200      ROLLBACK = dpl_G5Yi6KMAVaJCUxfED8a9utf3CRpx
    RETENTION = TERMINAL (2 previews deleted; 32 production/PROMOTED + 3 aliases retained; 0 previews; UNKNOWN = 0)
    C2B2 = TERMINAL      GATE_4D = IN PROGRESS      OPEN_PRS = 0      PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO
    

    The conversion session enters CONVERT and moves the checkpoint cursor through the same fenced step as the lease renewal; the admission check now follows every outcome of the commit call. One consolidated correction wave; the cursor-against-page finding is deferred to C2c with a criterion. Open: C2c-1 (authenticated page access, page-local cursor), C2c-2 (iteration, crash/resume, VERIFY), handle-relative adapter I/O (Gate 4E/5), inheriting pages, adapter defaults, pending-directory reclamation, write barrier. NEXT: read-only admission of C2c-1. Full text: GH #359 issuecomment-6075712353.

  27. qnbs commented on Oct 9, 2026

    @qnbs
    OwnerAuthor

    Gate 4D C2c-1 TERMINAL — PR #1016 (mirror)

    CURRENT_MAIN = 4428fdd81c9e656be37861895a6cb001ef129dbc      PR_1016 = MERGED (3 signed commits; 6 files; 0 inline threads, 1 reviewer note fixed)
    RESULTING_MAIN_CI_CD = 37901688894 / SUCCESS      CODEQL = 37901688906 / SUCCESS
    VERCEL_PRODUCTION = dpl_DBXbZkbSJDN2ii4yqSxfsDuC9XMp / READY / exact main / canonical HTTP 200      ROLLBACK = dpl_BKPsiSMc6X6PipP9Nt9S3oJuUYaL
    RETENTION = TERMINAL (2 previews deleted; 33 production/PROMOTED + 3 aliases retained; 0 previews; UNKNOWN = 0)
    C2C1 = TERMINAL      GATE_4D = IN PROGRESS      OPEN_PRS = 0      PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO
    

    The conversion session authenticates the page set once, reads pages keylessly, and the checkpoint cursor is page-local (the contract now says what the entry index means); the cursor is checked against the authenticated entry count of the selected page. One correction wave. Codex was rate-limited for this PR (NO_SIGNAL). Open: C2c-2 (iteration, per-entry step, crash/resume, VERIFY), handle-relative adapter I/O (Gate 4E/5), inheriting pages, adapter defaults, pending-directory reclamation, write barrier. NEXT: read-only admission of C2c-2. Full text: GH #359 issuecomment-6077415264.

  28. qnbs commented on Oct 9, 2026

    @qnbs
    OwnerAuthor

    Gate 4 / Gate 4D: C2c-2 is terminal — PR #1017 merged as 92bf64ac: the conversion session iterates the inventory through the caller's idempotent EntryStep (page-bounded batches, persisted page-local cursor, crash/restart resume) and leaves CONVERT for VERIFY only after it saw the end. Resulting-main CI/CD 37923143912 and CodeQL 37923143923 success; Production dpl_B31kADJeBvN6uXPhg4dAFusYkEw3 exact 92bf64ac; retention terminal (4 previews removed, 34 Production, 3 aliases, 0 previews). Full proof, one deferred cosmetic criterion and the remaining Gate 4 list: #359 (comment). Gate 4 stays in progress; Gate 5 does not start early. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

  29. qnbs commented on Oct 9, 2026

    @qnbs
    OwnerAuthor

    Gate 4 / Gate 4D: F1 is terminal — PR #1018 merged as d1710f0a: DurableFs::read_at_most and list_dir_at_most are required trait methods (no default that loads everything first), pinned by a compile-fail doctest triple; test doubles use test-support-only helpers; no runtime behaviour changed. Resulting-main CI/CD 37930964197 and CodeQL 37930964418 success; Production dpl_9T9o3RvF7LkaFmToPnaUX5VqMMgb exact d1710f0a; retention terminal (1 preview + 1 alias removed, 35 Production, 3 aliases, 0 previews). Proof, residuals and the remaining Gate 4 list: #359 (comment). Gate 4 stays in progress; Gate 5 does not start early. PRODUCTION_AUTHORITY_SWITCH_ALLOWED = NO.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions