64eee3ed6d
Step 1 (Cargo + CLI): - add the `backup` feature to rusqlite (online backup API) - `--no-undo` flag (test-first) + help-banner entry Step 2 (snapshot store, src/undo.rs): - SnapshotStore: a persisted undo ring + redo stack under <project>/.snapshots/ (index.yaml + per-snapshot payload dirs) - hybrid whole-project snapshot: db via backup API + project.yaml / data/*.csv copied as files; restore is text-first, db-last (ADR-0015 §6 commit-db-last) - stage/finalize/discard, undo/redo (each snapshots current to keep the inverse possible), N=50 eviction, redo-cleared-on-new-work, orphan/staging cleanup, monotonic ids - 12 Tier-1 tests; adds a crate-visible persistence::utc_iso8601_now No worker wiring yet (step 3). 1674 passed / 0 failed / 1 ignored; clippy clean.
28 lines
603 B
Rust
28 lines
603 B
Rust
//! Library crate for RDBMS Playground.
|
|
//!
|
|
//! Most of the application lives here so that integration tests in
|
|
//! `tests/` and unit tests inside the modules can drive the same
|
|
//! code that `main.rs` runs in production. The binary entry point
|
|
//! is intentionally thin.
|
|
|
|
pub mod action;
|
|
pub mod app;
|
|
pub mod archive;
|
|
pub mod cli;
|
|
pub mod completion;
|
|
pub mod db;
|
|
pub mod dsl;
|
|
pub mod event;
|
|
pub mod friendly;
|
|
pub mod input_render;
|
|
pub mod logging;
|
|
pub mod mode;
|
|
pub mod output_render;
|
|
pub mod persistence;
|
|
pub mod project;
|
|
pub mod runtime;
|
|
pub mod theme;
|
|
pub mod type_change;
|
|
pub mod ui;
|
|
pub mod undo;
|