Concrete search, irreversible purge, first-class contradictions tool, vestige update CLI, dense dream persistence fix, embedding-model upgrade repair, and a /dashboard/waitlist Pro early-access preview. 25 MCP tools. SQLite migration v13. Backwards compatible: 'delete' remains as a 'purge' alias. Closes #50, #51.
3.9 KiB
Vestige State And Plan
This document is a public, sanitized replacement for an older internal planning snapshot. It intentionally omits private local paths, personal operating context, unpublished roadmap notes, and private repository locations.
For current user-facing release information, use:
README.mdCHANGELOG.mddocs/STORAGE.mddocs/COGNITIVE_SANDWICH.mddocs/CLAUDE-SETUP.md
Current Release Shape
Vestige v2.1.2 is the "Honest Memory" release. Its public scope is:
- concrete literal search for quoted strings, env vars, UUIDs, paths, and code identifiers
- irreversible purge semantics with content-free deletion tombstones
- first-class contradiction inspection through the MCP
contradictionstool - the
vestige updateCLI flow for binary and Cognitive Sandwich updates - dense dream connection persistence fixes
- embedding-model upgrade repair during consolidation
- an opt-in
/dashboard/waitlistpreview for Vestige Pro early access
The release keeps the local-first baseline intact. Heavy model hooks, local verifier models, and preflight automation remain optional.
Release Gates
Before tagging a release, run:
cargo test --workspace --no-fail-fast
cargo clippy --workspace -- -D warnings
pnpm --filter @vestige/dashboard check
pnpm --filter @vestige/dashboard build
git diff --check
For dashboard route changes, rebuild and stage apps/dashboard/build/ so the
embedded static assets match apps/dashboard/src/.
Product Principles
- Exact things should stay exact. Literal identifiers should not lose to semantic expansion.
- Forgetting should be honest. A hard purge should remove content, embeddings, graph edges, and derived references while retaining only non-content proof that deletion happened.
- Contradictions should be visible. Trust-weighted disagreement should be inspectable directly instead of hidden inside a broader reasoning tool.
- Installation should remain boring. Users should not need a large local model or background hook system just to use memory.
- Pro features should add managed convenience without weakening local-first ownership.
Public Architecture Summary
Vestige is organized as:
crates/vestige-core: storage, search, embeddings, memory lifecycle, FSRS, graph, dream, and cognitive modulescrates/vestige-mcp: MCP server, CLI, dashboard backend, tools, update flowapps/dashboard: SvelteKit dashboard sourcepackages/vestige-mcp-npm: npm wrapper for the MCP binarypackages/vestige-init: installer helperdocs: user and integration documentation
v2.1.2 Implementation Notes
Concrete search is implemented in the MCP search tool and core SQLite
storage. Literal-looking queries use a keyword path instead of HyDE expansion,
semantic fusion, FSRS reweighting, retrieval competition, and spreading
activation.
Purge is implemented transactionally in storage and surfaced through the MCP
memory tool. memory(action="purge", confirm=true) is the explicit hard
delete path. delete remains a backwards-compatible alias.
Contradictions are exposed as a first-class MCP tool and reuse the same trust and topic-overlap logic used by the deeper reference pipeline.
The waitlist preview is a dashboard route. Its capture and support endpoints are controlled by opt-in public dashboard environment variables. If unset, the page does not silently capture private signup data.
15. Autopilot Rationale
The backend event bus exists so dashboard and MCP activity can be observed by the cognitive engine without making user-facing agent hooks mandatory. Any autonomous behavior should be conservative, rate-limited, and local-first.
Autopilot-style routing should never require a remote model, a heavy local model, or a Claude hook to make normal memory useful. It should only connect already-emitted Vestige events to existing cognitive modules when that improves maintenance, retrieval quality, or dashboard fidelity without surprising the user.