vestige/Cargo.toml

39 lines
758 B
TOML
Raw Normal View History

[workspace]
resolver = "2"
members = [
"crates/vestige-core",
"crates/vestige-mcp",
"tests/e2e",
feat(storage): phase 1 -- extract MemoryStore and Embedder traits (ADR 0001) Introduce two trait boundaries that the rest of the stack now sits above, landing Phase 1 of ADR 0001 (pluggable storage and network access). Rebased onto v2.1.22 Sanhedrin from the original April work. MemoryStore / LocalMemoryStore (crates/vestige-core/src/storage/memory_store.rs): One trait, ~25 methods, covering CRUD, hybrid / FTS / vector search, FSRS scheduling, graph edges, and the forthcoming domain surface. trait_variant::make generates a Send-bound MemoryStore alias over the base LocalMemoryStore so Arc<dyn MemoryStore> works under tokio/axum. Storage errors map through a dedicated MemoryStoreError. Embedder / LocalEmbedder (crates/vestige-core/src/embedder/): Pluggable text-to-vector encoder. FastembedEmbedder wraps the existing EmbeddingService; storage never calls fastembed directly anymore. Embedder::signature() produces the ModelSignature consumed by the store's embedding_model registry. SqliteMemoryStore (crates/vestige-core/src/storage/sqlite.rs): Storage renamed to SqliteMemoryStore; the old name lives on as a pub type alias so Arc<Storage> consumers in vestige-mcp stay intact. All existing inherent methods are untouched; the trait impl is purely additive and dispatches into them. The db_path field added by v2.1.1 portable-sync is preserved. Migration V14 (crates/vestige-core/src/storage/migrations.rs): Renumbered from V12 (the original April number) to V14 to slot in cleanly after upstream's V12 (v2.1.1 sync_tombstones) and V13 (v2.1.2 purge tombstones). - embedding_model registry table (CHECK id = 1, code enforces the single-row invariant). - knowledge_nodes.domains / domain_scores TEXT columns (JSON arrays default '[]' / '{}'), domains catalogue table, supporting indexes. Phase 4 populates these columns; Phase 1 just exposes the schema. Consolidation and other cognitive pathways now accept a &dyn LocalMemoryStore (sync) or Arc<dyn MemoryStore> (async) rather than a concrete Storage. Tests: - trait-method unit tests colocated in sqlite.rs and migrations.rs - embedder/fastembed.rs tests for name/dimension/hash stability - new integration crate tests/phase_1 (added to workspace members): trait_round_trip (8), embedding_model_registry (7), domain_column_migration (5), cognitive_module_isolation (4), send_bound_variant (2), embedder_trait (2). Acceptance gate post-rebase: - cargo build --workspace --all-targets: ok - cargo clippy --workspace --all-targets -- -D warnings: clean - cargo test -p vestige-core --lib: 428 pass - cargo test -p vestige-phase-1-tests: 28 pass - cargo test -p vestige-mcp --lib: 380 pass (Storage alias preserves every existing call site) Co-existence with v2.1.1 portable-sync: this trait extraction is additive. Portable-sync's tombstone migrations (V12, V13) remain on the concrete SqliteMemoryStore; Phase 2 (Postgres) will decide which of those surfaces graduate into the trait.
2026-04-21 21:43:52 +02:00
"tests/phase_1",
]
exclude = [
"fastembed-rs",
]
[workspace.package]
release: v2.2.1 — Windows embeddings fix + backfill safety + first-run guide (#105) * patch(backfill-safety): VESTIGE_BACKFILL_AUTOFIRE gate (default OFF) + bounded promote_memory_backfill Off-by-default env gate around step-8.5 auto-fire in run_consolidation (decouples backfill from consolidation cadence). New promote_memory_backfill caps stability at MIN(stability*1.5, stability+365.0) (the bound retroactive_backfill.rs:300 already computes but discarded); both backfill entry points use it. Fixes the false 'capped' comment. Cloud-sync excluded at build (--no-default-features). Pending upstream PR to samvallad33/vestige. omega-backfill-safety-v2.2.0 off tag v2.2.0 (3bcd4667). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * release: v2.2.1 — Windows embeddings fix + backfill safety + first-run guide Board-clearing patch release. Fixes: - #101 Windows embeddings: release.yml already restores vector-search on the x86_64-pc-windows-msvc target (merged in #102); this release rebuilds the Windows binary so users actually get working embeddings. - #103 Retroactive Salience Backfill safety (from community PR #104, adjusted): * promote_memory_backfill bounds the stability multiply to MIN(stability*1.5, stability+365.0) on both auto-fire and manual paths. * VESTIGE_BACKFILL_AUTOFIRE gate — default ON (preserves the shipped/documented v2.2.0 behavior), disable with 0/false/off/no. Env value is trimmed. * Corrected the false "capped" comment and the promote_memory_backfill doc. * Added 3 tests: +365 cap binds, *1.5 multiply below crossover, gate parsing. Docs: - #83 First-Run: new docs/GETTING-STARTED.md + README pointer. - Consolidated roadmap issues #82,#84-#92 into docs/ROADMAP.md (Tracked Issues). - Documented VESTIGE_BACKFILL_AUTOFIRE in docs/CONFIGURATION.md. - CHANGELOG v2.2.1 entry. Version bumped to 2.2.1 across all manifests + Cargo.lock + dashboard build. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Peter Lauzon <inbijiburu@protonmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 12:02:42 -05:00
version = "2.2.1"
edition = "2024"
2026-01-30 00:55:03 -06:00
license = "AGPL-3.0-only"
repository = "https://github.com/samvallad33/vestige"
authors = ["Sam Valladares"]
[workspace.dependencies]
# Share deps across workspace
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1", features = ["v4", "serde"] }
tracing = "0.1"
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true
opt-level = "z"
[profile.dev]
opt-level = 1