Skip to content

[codex] Add Doltlite storage strategy#5

Draft
JanJakes wants to merge 3 commits intotrunkfrom
doltlite
Draft

[codex] Add Doltlite storage strategy#5
JanJakes wants to merge 3 commits intotrunkfrom
doltlite

Conversation

@JanJakes
Copy link
Copy Markdown

@JanJakes JanJakes commented Apr 29, 2026

Summary

Adds a new doltlite storage strategy that uses Doltlite as the branchable SQLite backing store for both WordPress database tables and BranchFS-managed files.

This includes runtime routing/bootstrap support, Doltlite control commands, BranchFS branch checkout integration, SQLite Database Integration patches needed for Doltlite branch checkout, static PHP build integration for Doltlite, storage-driver documentation, and performance fixes for Doltlite-backed BranchFS reads/imports.

Validation

  • scripts/build-dist.sh completed and the resulting PHP reported doltlite_engine() = prolly.
  • FORKPRESS_RUNTIME_BUNDLE=/dev/null cargo test -p forkpress passed: 21/21.
  • cargo build -p forkpress passed.
  • PHP lint passed for the Doltlite runtime/control scripts plus touched init/import scripts.
  • Fresh forkpress init --strategy doltlite completed in about 9.6s after import transaction optimization.
  • Main page served after init: 200 in about 0.65s.
  • Branch preview served after creating a branch: 200 in about 0.65s.
  • End-to-end smoke covered Doltlite branch creation/list/status, server start, and Git clone from /site.git.

Known follow-ups

This remains a draft because the Git write path still needs work before review-ready status:

  • Git push / forkpress commit is wired but still needs optimization and correctness work in post-push import/commit processing.
  • Push rollback for Doltlite is still stubbed pending a validated reset-to-hash path.
  • CI/release validation is still needed across the supported Linux musl and macOS targets.

Manual testing

rm -rf .forkpress .fp-doltlite-clone

target/debug/forkpress init --strategy doltlite --admin-password admin
target/debug/forkpress branch create test --from main
target/debug/forkpress branch list

target/debug/forkpress server start --port 18181 --background

curl -i http://127.0.0.1:18181/
curl -i -H 'Host: test.wp.localhost:18181' http://127.0.0.1:18181/

git clone http://127.0.0.1:18181/site.git .fp-doltlite-clone

target/debug/forkpress server stop

Expected: init should complete in seconds rather than minutes, and page loads should be fast once the server is running.

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