Commit graph

75 commits

Author SHA1 Message Date
Error42-redacted
8d7b375b31 fix: rewrite explore_connections to use SQLite storage instead of empty in-memory structures
explore_connections (chain, associations, bridges) returned empty results because
it read from CognitiveEngine in-memory data structures that were never populated.
memory_graph works because it queries SQLite directly via storage.get_memory_subgraph().

This rewrites explore.rs to follow the same pattern as graph.rs:
- Remove CognitiveEngine dependency, use Storage directly
- associations: queries depth-1 subgraph for neighbors
- chain: pulls neighborhoods around both endpoints, builds adjacency list,
  runs BFS with priority queue (ported from chains.rs algorithm)
- bridges: reuses chain logic, extracts intermediate nodes by frequency

Also updates the call site in server.rs to pass storage instead of cognitive.

Adds integration tests that insert actual connections and verify non-empty results.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 02:00:06 -08:00
Sam Valladares
ec2af6e71b fix: comprehensive audit fixes for dashboard and backend
Backend:
- Emit WebSocket events from REST delete/promote/demote handlers
- Emit DreamStarted/ConsolidationStarted from MCP tool dispatch
- Add path validation in backup_to() for defense-in-depth

Dashboard:
- Fix ConnectionDiscovered field names (source_id/target_id)
- Fix $effect → onMount in settings (prevents infinite loop)
- Fix $derived → $derived.by in RetentionCurve
- Fix field name mismatches in settings (nodesProcessed, etc.)
- Fix nested <button> → <span role="button"> in memories
- Fix unhandled Promise rejection in stats consolidation
- Add missing EVENT_TYPE_COLORS entries
- Add Three.js resource disposal and event listener cleanup
- Eliminate duplicate root page, redirect to /graph
- Update nav links and keyboard shortcuts to /graph

All 734+ tests passing, 22MB binary, zero build warnings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 15:50:47 -06:00
Sam Valladares
22831af509 docs: update CONTRIBUTING.md for v2.0
Rewrite for MCP server architecture (was Tauri app), correct license
to AGPL-3.0, add project structure guide, test commands, new tool/module
contribution guides, and dashboard build instructions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:17:52 -06:00
Sam Valladares
fc70964534 docs: add launch materials — Show HN post, demo script, and blog post
Includes HN post with prepared FAQ, Reddit cross-posts (r/rust, r/ClaudeAI,
r/LocalLLaMA), MCP Dev Summit demo scripts (30s/3min/10min versions), and
technical blog post covering FSRS-6, PE Gating, HyDE, STC, and dreaming.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:16:53 -06:00
Sam Valladares
31bbee0c7f chore: bump npm packages to v2.0.0, add dashboard mention to init
- vestige-mcp-server: 1.6.0 → 2.0.0, updated description and keywords
- @vestige/init: 1.6.0 → 2.0.0, updated banner with v2.0 and dashboard URL

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:11:37 -06:00
Sam Valladares
9b1aa9cdeb chore: CI workflows, gitignore, release pipeline for v2.0
- Add ci.yml: cargo check + clippy + test on macOS/Linux, dashboard build
- Update release.yml: build dashboard before cargo build, fix x86_64-apple-darwin runner (macos-13)
- Update test.yml: add dashboard build job, update checkout action to v4
- Add .svelte-kit/ and apps/dashboard/node_modules/ to gitignore
- Remove .svelte-kit/ from git tracking (intermediate build artifacts)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:09:39 -06:00
Sam Valladares
c2d28f3433 feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.

Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)

Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite

Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode

Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table

734 tests passing, zero warnings, 22MB release binary.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
Sam Valladares
26cee040a5 fix: guard consolidation triggers against recent activity
Triggers 2 (force after 6h stale) and 3 (mini-consolidation after 2h)
fired immediately on fresh schedulers even when user was active, because
they didn't check activity state. Added MIN_BRIEF_IDLE_MINS (5 min)
guard so both triggers require a brief idle period before firing.

Fixes test_consolidation_idle_trigger in CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 02:21:32 -06:00
Sam Valladares
697c981e49 docs: update README for v1.9.1 — 21 tools, autonomic features, memory_graph
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 02:04:58 -06:00
Sam Valladares
5b90a73055 feat: Vestige v1.9.1 AUTONOMIC — self-regulating memory with graph visualization
Retention Target System: auto-GC low-retention memories during consolidation
(VESTIGE_RETENTION_TARGET env var, default 0.8). Auto-Promote: memories
accessed 3+ times in 24h get frequency-dependent potentiation. Waking SWR
Tagging: promoted memories get preferential 70/30 dream replay. Improved
Consolidation Scheduler: triggers on 6h staleness or 2h active use.

New tools: memory_health (retention dashboard with distribution buckets,
trend tracking, recommendations) and memory_graph (subgraph export with
Fruchterman-Reingold force-directed layout, up to 200 nodes).

Dream connections now persist to database via save_connection(), enabling
memory_graph traversal. Schema Migration V8 adds waking_tag, utility_score,
times_retrieved/useful columns and retention_snapshots table. 21 MCP tools.

v1.9.1 fixes: ConnectionRecord export, UTF-8 safe truncation, link_type
normalization, utility_score clamping, only-new-connections persistence,
70/30 split capacity fill, nonexistent center_id error handling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 02:02:06 -06:00
Sam Valladares
c29023dd80 feat: Vestige v1.7.0 — 18 tools, automation triggers, SQLite perf
Tool consolidation: 23 → 18 tools
- ingest merged into smart_ingest (single + batch mode)
- session_checkpoint merged into smart_ingest batch (items param)
- promote_memory/demote_memory merged into memory(action=promote/demote)
- health_check/stats merged into system_status

Automation triggers in system_status:
- lastDreamTimestamp, savesSinceLastDream, lastBackupTimestamp,
  lastConsolidationTimestamp — enables Claude to conditionally
  trigger dream/backup/gc/find_duplicates at session start
- Migration v6: dream_history table (dreams were in-memory only)
- DreamHistoryRecord struct + save/query methods
- Dream persistence in dream.rs (non-fatal on failure)

SQLite performance:
- PRAGMA mmap_size = 256MB (2-5x read speedup)
- PRAGMA journal_size_limit = 64MB (prevents WAL bloat)
- PRAGMA optimize = 0x10002 (fresh query planner stats on connect)
- FTS5 segment merge during consolidation (20-40% keyword boost)
- PRAGMA optimize during consolidation cycle

1,152 tests passing, 0 failures, release build clean.
2026-02-20 21:59:52 -06:00
Sam Valladares
33d8b6b405 feat: Xcode 26.3 integration — install script, updated docs, blog post
Discovered that Xcode's claudeai-mcp feature gate blocks custom MCP
servers from the global .claude config. Project-level .mcp.json files
bypass this gate entirely — this is now the documented method.

- Add scripts/xcode-setup.sh: auto-installs vestige-mcp and configures
  .mcp.json for any Xcode project with checksum verification
- Rewrite docs/integrations/xcode.md with .mcp.json method, gate bypass
  docs, and new troubleshooting for "Agent has been closed" error
- Add docs/blog/xcode-memory.md: launch blog post for Vestige on Xcode
2026-02-20 17:33:23 -06:00
Sam Valladares
1bc4a762dc fix(ci): use macos-latest for Intel Mac cross-compilation
macos-13 runners are deprecated. Cross-compile x86_64-apple-darwin
from ARM macOS runner instead.
2026-02-19 03:05:33 -06:00
Sam Valladares
ce520bb246 chore: license AGPL-3.0, zero clippy warnings, CHANGELOG through v1.6.0
License:
- Replace MIT/Apache-2.0 with AGPL-3.0-only across all crates and npm packages
- Replace LICENSE file with official GNU AGPL-3.0 text
- Remove LICENSE-MIT and LICENSE-APACHE

Code quality:
- Fix all 44 clippy warnings (zero remaining)
- Collapsible if statements, redundant closures, manual Option::map
- Remove duplicate #[allow(dead_code)] attributes in deprecated tool modules
- Add Default impl for CognitiveEngine
- Replace manual sort_by with sort_by_key

Documentation:
- Update CHANGELOG with v1.2.0, v1.3.0, v1.5.0, v1.6.0 entries
- Update README with v1.6.0 highlights and accurate stats (52K lines, 1100+ tests)
- Add fastembed-rs/ to .gitignore
- Add fastembed-rs to workspace exclude

1115 tests passing, zero warnings, RUSTFLAGS="-Dwarnings" clean.
2026-02-19 03:00:39 -06:00
Sam Valladares
495a88331f feat: Vestige v1.6.0 — 6x storage reduction, neural reranking, instant startup
Four internal optimizations for dramatically better performance:

1. F16 vector quantization (ScalarKind::F16 in USearch) — 2x storage savings
2. Matryoshka 256-dim truncation (768→256) — 3x embedding storage savings
3. Convex Combination fusion (0.3 keyword / 0.7 semantic) replacing RRF
4. Cross-encoder reranker (Jina Reranker v1 Turbo via fastembed TextRerank)

Combined: 6x vector storage reduction, ~20% better retrieval quality.
Cross-encoder loads in background — server starts instantly.
Old 768-dim embeddings auto-migrated on load.

614 tests pass, zero warnings.
2026-02-19 01:09:39 -06:00
Sam Valladares
5b7d22d427 docs: update README for v1.5.0 — 23 tools, cognitive engine, dreaming 2026-02-18 23:39:40 -06:00
Sam Valladares
927f41c3e4 feat: Vestige v1.5.0 — Cognitive Engine, memory dreaming, graph exploration, predictive retrieval
28-module CognitiveEngine with full neuroscience pipeline on every tool call.
FSRS-6 now fully automatic: periodic consolidation (6h timer + inline every
100 tool calls), real retrievability formula, episodic-to-semantic auto-merge,
cross-memory reinforcement, Park et al. triple retrieval scoring, ACT-R
base-level activation, personalized w20 optimization.

New tools (19 → 23):
- dream: memory consolidation via replay, discovers hidden connections
- explore_connections: graph traversal (chain, associations, bridges)
- predict: proactive retrieval based on context and activity patterns
- restore: memory restore from JSON backups

All existing tools upgraded with cognitive pre/post processing pipelines.
33 files changed, ~4,100 lines added.
2026-02-18 23:34:15 -06:00
Sam Valladares
3fce1f0b70 feat: v2.0 distribution — IDE integrations, zero-config installer, README overhaul
- Add integration guides for Xcode 26.3, Cursor, VS Code, JetBrains, Windsurf
- First cognitive memory server with documented Xcode 26.3 MCP support
- Add npx @vestige/init — zero-config CLI that auto-detects IDEs and injects config
- Overhaul README: "The open-source cognitive engine for AI"
- Add "Why Not Just Use RAG?" comparison and cognitive science stack docs
- Update license badge to AGPL-3.0
2026-02-12 17:18:15 -06:00
Sam Valladares
04a3062328 feat: Vestige v1.3.0 — importance scoring, session checkpoints, duplicate detection
3 new MCP tools (16 → 19 total):
- importance_score: 4-channel neuroscience importance scoring (novelty/arousal/reward/attention)
- session_checkpoint: batch smart_ingest up to 20 items with PE Gating
- find_duplicates: cosine similarity clustering with union-find for dedup

CLI: vestige ingest command for memory ingestion via command line
Core: made get_node_embedding public, added get_all_embeddings for dedup scanning

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 05:02:09 -06:00
Sam Valladares
5cca386d6b chore: add CLAUDE.md template for Vestige integration 2026-02-12 04:33:53 -06:00
Sam Valladares
34f5e8d52a feat: Vestige v1.2.0 — dashboard, temporal tools, maintenance tools, detail levels
Add web dashboard (axum) on port 3927 with memory browser, search, and
system stats. New MCP tools: memory_timeline, memory_changelog,
health_check, consolidate, stats, backup, export, gc. Search now supports
detail_level (brief/summary/full) to control token usage. Add backup_to()
and get_recent_state_transitions() to storage layer. Bump to v1.2.0.
2026-02-12 04:33:05 -06:00
Sam Valladares
a92fb2b6ed release: v1.1.3 — security hardening, edition 2024, dependency updates
Security:
- Fix RUSTSEC-2026-0007 (bytes integer overflow)
- Restrict SQLite database file permissions to 0600 on Unix
- Add 100KB size limit to intention descriptions (DoS prevention)
- Redact JSON-RPC payloads from debug logs (data leakage prevention)
- Update SECURITY.md with encryption docs and supported versions

Modernization:
- Upgrade Rust edition 2021 → 2024, MSRV 1.75 → 1.85
- Upgrade actions/checkout@v4 → v5, codecov/codecov-action@v3 → v5
- Update all dependencies to latest compatible versions
- Fix edition 2024 match ergonomics in compression.rs

Clippy fixes:
- Rename from_str → parse_name to avoid shadowing FromStr trait
- Replace .max().min() with .clamp()
- Replace sort_by with sort_by_key

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 03:19:07 -06:00
Sam Valladares
6a5c3771fb feat: P0/P1 fixes — backup, export, gc, performance, auto-consolidation, encryption
P0 fixes:
- Add `vestige backup <path>` — full DB copy with WAL checkpoint flush
- Add `vestige export --format json|jsonl [--tags] [--since] <path>` —
  paginated memory export with tag/date filtering
- Add `vestige gc --min-retention 0.1 [--max-age-days] [--dry-run] [--yes]`
  — bulk cleanup of stale memories with safety prompts
- Fix apply_decay() scaling: batched pagination (500 rows/batch) with
  explicit transactions instead of loading all nodes into memory
- Fix hidden MCP resources: memory://insights and memory://consolidation-log
  now listed in resources/list (were implemented but undiscoverable)

P1 fixes:
- Add auto-consolidation on server startup: FSRS-6 decay runs in background
  after 2s delay, only if last consolidation was >6 hours ago
- Add encryption at rest via SQLCipher feature flag: use --features encryption
  with VESTIGE_ENCRYPTION_KEY env var (bundled-sqlite and encryption are
  mutually exclusive)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 03:02:32 -06:00
Sam Valladares
a680fa7d2f fix: dedup on ingest, Intel Mac CI, npm versions, remove dead TS package
- Route ingest tool through smart_ingest (Prediction Error Gating) to
  prevent duplicate memories when content is similar to existing entries
- Fix Intel Mac release build: use macos-13 runner for x86_64-apple-darwin
  (macos-latest is now ARM64, causing silent cross-compile failures)
- Sync npm package version to 1.1.2 (was 1.0.0 in package.json, 1.1.0
  in postinstall.js BINARY_VERSION)
- Add vestige-restore to npm makeExecutable list
- Remove abandoned packages/core/ TypeScript package (pre-Rust implementation
  referencing FSRS-5, chromadb, ollama — 32K lines of dead code)
- Sync workspace Cargo.toml version to 1.1.2

Closes #5

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 02:57:03 -06:00
Sam Valladares
709c06c2fa
Change license to AGPL-3.0-only 2026-01-30 00:55:03 -06:00
Sam Valladares
ee39e62a35 chore: bump crate versions to 1.1.2 2026-01-27 02:57:01 -06:00
Sam Valladares
bc5bc1bc10 docs: update version reference to v1.1.2 2026-01-27 02:44:48 -06:00
Sam Valladares
c9f6cb4bba docs: add v1.1.2 to CHANGELOG 2026-01-27 02:34:10 -06:00
Sam Valladares
eb16d684fc fix: use platform cache dir for fastembed models
Previously, fastembed created .fastembed_cache in the current working
directory, polluting project folders with symlinks.

Now uses platform-appropriate cache directories:
- macOS: ~/Library/Caches/com.vestige.core/fastembed
- Linux: ~/.cache/vestige/fastembed
- Windows: %LOCALAPPDATA%\vestige\cache\fastembed

Can still be overridden with FASTEMBED_CACHE_PATH env var.

Fixes user feedback about .fastembed_cache appearing in random folders.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 02:32:23 -06:00
Sam Valladares
497f149b64 docs: restructure README for 30-second onboarding
README: 1,565 → 196 lines (87% reduction)

New structure:
- Quick Start above the fold (download → connect → test)
- Why Vestige in 5-row table
- Tools reference
- CLAUDE.md trigger words
- Collapsible troubleshooting
- Links to detailed docs

New docs/:
- FAQ.md: 870 lines of community Q&A
- SCIENCE.md: FSRS-6, dual-strength memory, neuroscience
- STORAGE.md: Global, per-project, multi-Claude setup
- CLAUDE-SETUP.md: Full templates for proactive memory
- CONFIGURATION.md: CLI commands, env vars

All content preserved, just reorganized for scannability.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 02:28:39 -06:00
Sam Valladares
a8eb9e7bae docs: update README for v1.1.1 release
- Add v1.1.1 changelog with bug fixes
- Add pre-built binary download options for all platforms
- Replace basic CLAUDE.md with comprehensive proactive memory setup
- Add release badge
- Update version table and references

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 02:12:48 -06:00
Sam Valladares
9a56a8ce40 fix(ci): correct rust-toolchain action name and add write permissions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 01:32:47 -06:00
Sam Valladares
c005a46c82 ci: add GitHub Actions workflow for multi-platform releases
Automatically builds binaries for:
- Linux x86_64 (ubuntu-latest)
- Windows x86_64 (windows-latest)
- macOS x86_64 Intel (macos-latest)
- macOS ARM64 Apple Silicon (macos-latest)

Triggers on release creation or manual workflow dispatch.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 01:32:01 -06:00
Sam Valladares
ad1e1796f3 chore: apply clippy fixes to e2e tests
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 01:23:33 -06:00
Sam Valladares
e06dd3d69a chore: cleanup dead code warnings and apply clippy fixes for v1.1.1
- Add #![allow(dead_code)] to deprecated tool modules (kept for
  backwards compatibility but not exposed in MCP tool list)
- Mark unused functions with #[allow(dead_code)] annotations
- Fix unused variable warnings (prefix with _)
- Apply clippy auto-fixes for redundant closures and derives
- Fix test to account for protocol version negotiation
- Reorganize tools/mod.rs to clarify active vs deprecated tools

Security review: LOW RISK - no critical vulnerabilities found
Dead code review: deprecated tools properly annotated

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 01:23:27 -06:00
Sam Valladares
bfa91474a6 fix: resolve UTF-8 string slicing bugs and feature flag issues
- Fix silent errors in stdio.rs: clients now receive fallback error
  responses instead of hanging when JSON serialization fails
- Fix UTF-8 panics in keyword.rs: use char-aware slicing instead of
  byte offsets for query sanitization and term highlighting
- Fix UTF-8 panics in prospective_memory.rs: replace hard-coded byte
  offsets with char-aware slicing for natural language parsing
- Fix UTF-8 panics in git.rs: convert byte positions to char positions
  before slicing commit messages
- Fix feature flag bug in vestige-mcp: add proper [features] section
  to forward embeddings and vector-search features from vestige-core,
  enabling the #[cfg(feature = "embeddings")] initialization code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 01:14:59 -06:00
Sam Valladares
f10367ecd0 fix: add explicit embedding initialization with error logging
When embeddings fail to initialize in the MCP server context (e.g., due
to working directory issues), the error was silently swallowed and
smart_ingest would fall back to regular ingest without explanation.

Changes:
- Add init_embeddings() method to Storage for explicit initialization
- Initialize embeddings at MCP server startup with error logging
- Add check_ready() method to EmbeddingService for error access
- Log warning when is_ready() returns false

Now users will see clear error messages like:
"Failed to initialize embedding service: ..."
"Hint: Check FASTEMBED_CACHE_PATH or ensure ~/.fastembed_cache exists"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 01:04:06 -06:00
Sam Valladares
6ccbc7d2c0 fix: implement MCP protocol version negotiation
Claude Desktop requests protocol version 2025-06-18 but Vestige was
responding with 2025-11-25, causing Claude Desktop to disconnect.

Now the server negotiates: if the client requests an older version,
use it. This maintains backward compatibility with older clients.

Fixes: Claude Desktop "Server transport closed unexpectedly" error

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 00:59:53 -06:00
Sam Valladares
ab1a3a885a chore: bump vestige-mcp version to 1.1.1
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 00:56:42 -06:00
Sam Valladares
b779b54c5c fix: reduce visible tools from 30 to 8
Users were seeing 30 tools in /mcp which was overwhelming. Now only 8
essential tools are listed:

1. search - unified hybrid search
2. memory - get/delete/state operations
3. codebase - patterns and decisions
4. intention - prospective memory
5. ingest - add memories
6. smart_ingest - intelligent ingestion
7. promote_memory - thumbs up
8. demote_memory - thumbs down

Deprecated tools (recall, semantic_search, etc.) still work internally
for backward compatibility but are no longer listed.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 00:42:19 -06:00
Sam Valladares
ed6aeadb70 feat: add MCPB bundle and fix npm package distribution
Two distribution methods now available:

1. npm (for Claude Code / developers):
   npm install -g vestige-mcp-server
   claude mcp add vestige vestige-mcp -s user

2. MCPB (for Claude Desktop / one-click install):
   Download vestige-1.1.0.mcpb from releases, double-click

Changes:
- Renamed npm package to vestige-mcp-server (vestige-mcp was taken)
- Fixed postinstall to download binaries from GitHub releases
- Added vestige-mcpb package with manifest and build script
- Uploaded .mcpb bundle to v1.1.0 release

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 00:15:17 -06:00
Sam Valladares
a104219db2 fix(npm): add .npmignore to exclude cache and binaries
Prevents accidentally publishing the 547MB embedding model cache
or downloaded binaries.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 23:50:40 -06:00
Sam Valladares
1e06344319 fix(npm): download binaries during postinstall
The npm package was missing the actual binary download step - users got
wrapper scripts pointing to non-existent binaries.

Changes:
- postinstall.js now downloads correct binary from GitHub releases
- Added vestige.js wrapper for CLI binary
- Exposed both vestige-mcp and vestige commands in package.json
- Updated README with troubleshooting, storage info, CLI docs
- Added .gitignore for downloaded binaries

Fixes fresh install issues where Claude Desktop couldn't attach and
vestige CLI wasn't found.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 23:48:23 -06:00
Sam Valladares
e5b27ff1e5 docs: fix README installation and cache documentation
- Add -s user flag to claude mcp add commands for user scope install
- Correct fastembed cache location docs (.fastembed_cache in CWD, not ~/.cache/huggingface)
- Add troubleshooting section for .fastembed_cache folder in project directories
- Include FASTEMBED_CACHE_PATH env var workaround

Fixes issues reported by Reddit user feedback.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 22:34:10 -06:00
Sam Valladares
9d702b6f57 fix(ci): add contents:write permission for release creation
GitHub Actions needs explicit permission to create releases.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 02:38:54 -06:00
Sam Valladares
524c39a87d feat(ci): add Windows x86_64 to release builds
Now shipping 3 platforms:
- aarch64-apple-darwin (macOS Apple Silicon) - .tar.gz
- x86_64-unknown-linux-gnu (Linux x86_64) - .tar.gz
- x86_64-pc-windows-msvc (Windows x86_64) - .zip

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 02:29:30 -06:00
Sam Valladares
46a635f1e1 fix(ci): simplify release to 2 platforms
Drop problematic targets:
- x86_64-apple-darwin: No free Intel macOS runners after macos-13 retirement
- aarch64-unknown-linux-gnu: Cross-compile OpenSSL issues with vendored feature

Ship with 2 platforms that work reliably:
- aarch64-apple-darwin (macOS Apple Silicon)
- x86_64-unknown-linux-gnu (Linux x86_64)

Users on Intel Mac or ARM64 Linux can build from source with cargo.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 02:25:06 -06:00
Sam Valladares
3b5ab01966 fix(ci): use macos-15-large for Intel builds
macos-13 was retired in December 2025. Use macos-15-large for x86_64
macOS builds as recommended by GitHub.

See: https://github.blog/changelog/2025-09-19-github-actions-macos-13-runner-image-is-closing-down/

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 02:22:32 -06:00
Sam Valladares
78810f2f5c chore: update Cargo.lock for vendored-openssl
Adds openssl-src v300.5.4+3.5.4 to lockfile.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 02:20:23 -06:00
Sam Valladares
0bcceab717 fix(ci): use vendored-openssl and actions-rust-cross
Two-pronged fix for cross-compilation:

1. git2 with vendored-openssl feature - compiles OpenSSL from source,
   eliminating system dependency issues across all platforms

2. houseabsolute/actions-rust-cross@v1 - dedicated GitHub Action that
   properly handles cross-compilation with Docker containers

Sources:
- https://github.com/rust-lang/git2-rs
- https://github.com/houseabsolute/actions-rust-cross

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 02:18:18 -06:00