vestige/docs/VESTIGE_STATE_AND_PLAN.md
Sam Valladares 9936928be9
Some checks failed
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (ubuntu-latest) (push) Has been cancelled
Test Suite / Unit Tests (push) Has been cancelled
Test Suite / MCP E2E Tests (push) Has been cancelled
Test Suite / Dashboard Build (push) Has been cancelled
Test Suite / Code Coverage (push) Has been cancelled
CI / Release Build (aarch64-apple-darwin) (push) Has been cancelled
CI / Release Build (x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / Release Build (x86_64-apple-darwin) (push) Has been cancelled
Test Suite / User Journey Tests (push) Has been cancelled
v2.1.2 Honest Memory
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.
2026-05-06 02:22:24 -05:00

100 lines
3.9 KiB
Markdown

# 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.md`
- `CHANGELOG.md`
- `docs/STORAGE.md`
- `docs/COGNITIVE_SANDWICH.md`
- `docs/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 `contradictions` tool
- the `vestige update` CLI flow for binary and Cognitive Sandwich updates
- dense dream connection persistence fixes
- embedding-model upgrade repair during consolidation
- an opt-in `/dashboard/waitlist` preview 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:
```sh
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 modules
- `crates/vestige-mcp`: MCP server, CLI, dashboard backend, tools, update flow
- `apps/dashboard`: SvelteKit dashboard source
- `packages/vestige-mcp-npm`: npm wrapper for the MCP binary
- `packages/vestige-init`: installer helper
- `docs`: 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.