2026-01-25 01:31:03 -06:00
|
|
|
{
|
|
|
|
|
"name": "vestige",
|
feat(merge-supersede): Phase 3 — diff-previewed, reversible merge/supersede controls (v2.1.25) (#75)
Adds opt-in, preview-first combine/dedupe/supersede on a never-delete
(bitemporal) store. The default is review, never silent mutation. Every applied
operation is recorded as a reversible, auditable event with provenance — a git
reflog for your agent's memory.
Core (vestige-core):
- advanced::merge_supersede — pure Fellegi-Sunter two-threshold scoring
(embedding + tag + token Jaccard), match/possible/non_match classification,
plan/diff and operation-log types, merge-composition helpers. Unit-tested.
- storage: merge_candidates, plan_merge, plan_supersede, apply_plan, merge_undo,
protect/pin, and per-project merge_policy (persisted in fsrs_config, env
overridable). Supersede invalidates bitemporally (valid_until + superseded_by,
Graphiti-style "invalidate, don't delete") and keeps the old node queryable.
- Migration V14: merge_plans + merge_operations tables, knowledge_nodes.protected
and .superseded_by columns + indexes. Idempotent on replay (duplicate-column
guarded ADD COLUMNs).
MCP (vestige-mcp):
- Seven new tools registered + dispatched: merge_candidates, plan_merge,
plan_supersede, apply_plan, merge_undo, protect, merge_policy.
- apply_plan requires confirm=true for possible/non_match plans; match plans
auto-apply only when policy.auto_apply is set (default off).
Tests: candidate-threshold classification, plan-preview makes no mutation,
apply+undo reversibility, supersede bitemporal invalidation preserves old-node
queryability, protect blocks merge-away, low-confidence requires confirm, policy
roundtrip, migration V14 + idempotent replay. All 796 scoped tests pass; clippy
-D warnings clean on touched crates.
Docs: docs/MERGE_SUPERSEDE.md + CHANGELOG entry. Version bump 2.1.23 -> 2.1.25.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 12:55:31 -05:00
|
|
|
"version": "2.1.25",
|
2026-01-25 01:31:03 -06:00
|
|
|
"private": true,
|
|
|
|
|
"description": "Cognitive memory for AI - MCP server with FSRS-6 spaced repetition",
|
|
|
|
|
"author": "Sam Valladares",
|
fix: v2.0.1 release — fix broken installs, CI, security, and docs
Critical fixes:
- npm postinstall.js: BINARY_VERSION '1.1.3' → '2.0.1' (every install was 404ing)
- npm package name: corrected error messages to 'vestige-mcp-server'
- README: npm install command pointed to wrong package
- MSRV: bumped from 1.85 to 1.91 (uses floor_char_boundary from 1.91)
- CI: removed stale 'develop' branch from test.yml triggers
Security hardening:
- CSP: restricted connect-src from wildcard 'ws: wss:' to localhost-only
- Added X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy headers
- Added frame-ancestors 'none', base-uri 'self', form-action 'self' to CSP
- Capped retention_distribution endpoint from 10k to 1k nodes
- Added debug logging for WebSocket connections without Origin header
Maintenance:
- All clippy warnings fixed (58 total: redundant closures, collapsible ifs, no-op casts)
- All versions harmonized to 2.0.1 across Cargo.toml and package.json
- CLAUDE.md updated to match v2.0.1 (21 tools, 29 modules, 1238 tests)
- docs/CLAUDE-SETUP.md updated deprecated function names
- License corrected to AGPL-3.0-only in root package.json
1,238 tests passing, 0 clippy warnings.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 20:20:14 -06:00
|
|
|
"license": "AGPL-3.0-only",
|
2026-01-25 01:31:03 -06:00
|
|
|
"repository": {
|
|
|
|
|
"type": "git",
|
2026-06-02 12:40:48 -05:00
|
|
|
"url": "https://github.com/samvallad33/vestige"
|
2026-01-25 01:31:03 -06:00
|
|
|
},
|
|
|
|
|
"scripts": {
|
|
|
|
|
"build:mcp": "cargo build --release --package vestige-mcp",
|
|
|
|
|
"test": "cargo test --workspace",
|
|
|
|
|
"lint": "cargo clippy -- -D warnings",
|
|
|
|
|
"fmt": "cargo fmt"
|
|
|
|
|
},
|
|
|
|
|
"devDependencies": {
|
|
|
|
|
"typescript": "^5.9.3"
|
|
|
|
|
},
|
|
|
|
|
"engines": {
|
|
|
|
|
"node": ">=18"
|
|
|
|
|
}
|
|
|
|
|
}
|