Skip to content

Refactor cross-cutting stable-memory and VFS plumbing - #10

Draft
humandebri wants to merge 29 commits into
mainfrom
refactor/phase-6-crosscutting
Draft

Refactor cross-cutting stable-memory and VFS plumbing#10
humandebri wants to merge 29 commits into
mainfrom
refactor/phase-6-crosscutting

Conversation

@humandebri

@humandebri humandebri commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Reorganize the stable-memory, metadata, and memory-manager layers behind a clearer module split
  • Update SQLite VFS, stable-blob, and connection code to reflect the new structure
  • Refresh tests and profiling/read-metrics integration to cover the refactor
  • Refresh public API and compatibility lock snapshots for the new layout

Testing

  • cargo fmt --all --check
  • git diff --check
  • rg -nUP '[\x{061C}\x{200E}\x{200F}\x{202A}-\x{202E}\x{2066}-\x{2069}]' . (no matches)
  • cargo check --no-default-features --features sqlite-bundled
  • cargo check --features canister-api
  • cargo check --features bench-profile
  • cargo check --target wasm32-unknown-unknown --no-default-features --features sqlite-precompiled
  • cargo check --target wasm32-unknown-unknown --no-default-features --features sqlite-precompiled,canister-api
  • cargo test
  • VERUS_REQUIRED=1 bash scripts/sqlite-critical-check.sh

CI failure notes:

  • The failing VERUS_REQUIRED=1 bash scripts/sqlite-critical-check.sh run first stopped because docs/PUBLIC_API_2_0.snapshot was stale after moving src/db/connection.rs to src/db/connection/mod.rs.
  • After fixing that, the same check exposed stale compatibility lockfiles caused by making candid / ic-cdk optional; those lock snapshots are now refreshed.

Invalid matrix commands for the current feature design:

  • cargo check --no-default-features intentionally fails because no SQLite backend is selected.
  • cargo check --no-default-features --features sqlite-precompiled is only valid for wasm32-unknown-unknown; native targets intentionally fail.
  • cargo test --all-features intentionally enables both sqlite-bundled and sqlite-precompiled, which are mutually exclusive.

humandebri and others added 29 commits July 2, 2026 21:55
Gate storage_stats behind canister-api and clear_superblock_cache
behind cfg(test); both lost their unconditional callers in the
phase-3 layering commits.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

1 participant