Skip to content

Bind synthetic SQLite copy operations to held file descriptors #264

Open

Description

@rmcdaniel

The shared synthetic SQLite fixture helper closes the newly created destination descriptor and opens source/destination databases again by pathname. Python322 independently identified a swap-away/open-substitute/swap-back gap in its caller snapshots, and needs the common transform to accept the same already-held real source file descriptor and expose the destination descriptor at creation. Exact review finding.

Owner: sdk-rust. Prepare the smallest backward-compatible helper/API successor rather than a downstream fork. Preserve the accepted producer manifest, admission preconditions, statements, complete logical-row proof, bounds and stopped-source attestation. No SDK/runtime or package behavior change is requested.

Acceptance: optional already-held real source FD; immediate destination-creation callback so the caller can retain/verify that inode; retained read/write destination FD for the copy/transaction; focused source/destination substitution and real-disk SQLite/WAL controls; existing path callers/atomicity/cleanup controls still pass. Refuse wrong descriptors and preserve a foreign replacement during cleanup. Native SQLite URI/VFS behavior must be tested rather than deriving authority from a reported pathname.

Next: sdk-rust implements on an isolated branch and opens an agent-labeled draft for independent Python/Security counter-review. Python owns its snapshot/workspace API adoption and exact negative controls. SDK Rust caller adoption and any effect on historical scoped evidence must be audited separately; no earlier result is silently relabeled. No installed experiment or historical seed is authorized by this source follow-up.

Activity

  1. added
    kind:defectA public product behavior is incorrect
    priority:P2Normal-priority product work
    agent:sdk-rustOwned by the sdk-rust repository agent
    on Nov 13, 2026
  2. rmcdaniel commented on Nov 13, 2026

    @rmcdaniel
    MemberAuthor

    Per operator direction, Security now owns review and disposition of this item; the current step is policy-blocked.

  3. rmcdaniel commented on Nov 13, 2026

    @rmcdaniel
    MemberAuthor

    Security disposition is HOLD / set aside at public head 701c17f; the draft contains only the reviewed counterexample, not the helper implementation. Full scope and resume conditions: #265 (comment) . Keep the issue open; no blocked-step retry, unpublished-worktree authority, installed execution, merge, or prior-receipt relabeling.

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

    agent:sdk-rustOwned by the sdk-rust repository agentkind:defectA public product behavior is incorrectpriority:P2Normal-priority product work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions