mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-30 03:53:34 +00:00
docs: ADR-152 phase-4 delivered + ruvnet/obsidian-brain dist published
Some checks failed
ruvector-verified CI / check () (push) Has been cancelled
ruvector-verified CI / check (--all-features) (push) Has been cancelled
ruvector-verified CI / check (--features all-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features coherence-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features hnsw-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features rvf-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features serde) (push) Has been cancelled
ruvector-verified CI / check (--features ultra) (push) Has been cancelled
ruvector-verified CI / clippy (push) Has been cancelled
ruvector-verified CI / test (push) Has been cancelled
ruvector-verified CI / bench (push) Has been cancelled
Some checks failed
ruvector-verified CI / check () (push) Has been cancelled
ruvector-verified CI / check (--all-features) (push) Has been cancelled
ruvector-verified CI / check (--features all-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features coherence-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features hnsw-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features rvf-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features serde) (push) Has been cancelled
ruvector-verified CI / check (--features ultra) (push) Has been cancelled
ruvector-verified CI / clippy (push) Has been cancelled
ruvector-verified CI / test (push) Has been cancelled
ruvector-verified CI / bench (push) Has been cancelled
ADR-152
- Adds "Beyond the original ADR" entry for pi write-through
- New "Phase 4 — advanced capabilities" section documenting every
item from the phase-4 roadmap now shipped in 31c865cc: Q&A modal,
selection search, tag filter, pi category filter, offline queue,
Related keyboard nav, Brain Ops dashboard, daily recall, MCP
cross-link
- Roadmap shortened to Phase-5 leftovers: jump-to-passage, wikilink
suggestions, memory explorer, MMR, multi-brain, canvas, conflict
detection
- New "Distribution" section pointing at ruvnet/obsidian-brain
(v0.1.0 tagged, release workflow auto-publishes assets)
README
- BRAT install now points at ruvnet/obsidian-brain instead of a path
into ruvnet/RuVector
Dist repo (ruvnet/obsidian-brain):
- Tag v0.1.0 pushed
- Release created with main.js (54.9 KB), manifest.json, styles.css,
versions.json
- Release + Test workflows pass green
Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
parent
31c865cc1e
commit
586459cf2e
2 changed files with 72 additions and 21 deletions
|
|
@ -138,6 +138,10 @@ The plugin's only persistent state is:
|
|||
- [x] **pi.ruv.io integration** — client, pull modal, search modal,
|
||||
status command, settings section. Mirrors memories into
|
||||
`Brain/Pi/<title>.md` stubs with `pi-id` + `pi-source` frontmatter.
|
||||
- [x] **pi write-through** — `PiClient.createMemory` + `pi.ruv.io:
|
||||
publish current note` command (POST `/v1/memories`, ~20s server-side
|
||||
due to RVF segmentation + DP noising). Typed `PI_CATEGORIES` enum +
|
||||
`{ custom }` newtype variant for unknown categories.
|
||||
- [x] **Real embedder autodetect** — `scripts/run-dev.sh` probes
|
||||
`:9877` for the real `ruvultra-embedder` (bge-small-en-v1.5, 384-dim,
|
||||
candle-cuda) and uses it directly when available; falls back to an
|
||||
|
|
@ -146,6 +150,52 @@ The plugin's only persistent state is:
|
|||
brain already holds vectors at a different dim than the current
|
||||
embedder.
|
||||
|
||||
### Phase 4 — advanced capabilities (delivered in 31c865cc)
|
||||
|
||||
- [x] **Q&A / RAG modal** (`src/qa-modal.ts`, `Cmd+Shift+K`) —
|
||||
retrieval-grounded. Blends top-k from the local brain and pi.ruv.io,
|
||||
dedups on normalized content, renders each card with real
|
||||
`MarkdownRenderer` fidelity and open/insert/copy actions.
|
||||
- [x] **Find similar to selection** — `editor.getSelection()` seeds
|
||||
`BrainSearchModal` via a new `seed` argument.
|
||||
- [x] **Tag / category filter** — `BrainSearchModal` parses
|
||||
`category:<token>` prefix and filters results.
|
||||
- [x] **Pi pull category filter** — new `piPullCategory` setting
|
||||
passed to `/v1/memories/list?category=`.
|
||||
- [x] **Offline queue** (`src/offline-queue.ts`) — `Indexer` catches
|
||||
`BrainError.status === 0` (network) and enqueues pending POSTs
|
||||
deduped by path. Auto-drains every 30 s + opportunistically on each
|
||||
status refresh. Persisted to `data.json` so pending writes survive
|
||||
plugin reloads. Manual `Offline queue: retry pending now` command.
|
||||
Status bar shows `· N queued` when pending.
|
||||
- [x] **Keyboard nav in Related panel** — ↑/↓/j/k/Enter/o/r; mouseenter
|
||||
hints; on-screen help strip.
|
||||
- [x] **Brain Ops modal** (`src/brain-ops.ts`) — surfaces previously
|
||||
unused endpoints (`/brain/workload`, `/brain/training-stats`,
|
||||
`/learning/stats`, `/brain/store_mode`, `/brain/info`,
|
||||
`/brain/index_stats`) + WAL checkpoint button + DPO JSONL export.
|
||||
- [x] **Daily recall** — generates
|
||||
`Brain/Recall/Recall-YYYY-MM-DD.md` from memories whose
|
||||
`created_at` month/day match today but year doesn't.
|
||||
- [x] **Agent access (MCP) cross-link** — settings section documenting
|
||||
that the same brain memories are accessible to agents via
|
||||
`mcp-brain-server` / `ruvbrain-sse`. Includes a "Copy MCP endpoint"
|
||||
button that drops the brain URL onto the clipboard for
|
||||
`claude_desktop_config.json` / `.codex/mcp.json` /
|
||||
`.gemini/settings.json`.
|
||||
|
||||
### Phase 5 — roadmap
|
||||
|
||||
| Priority | Capability | Notes |
|
||||
| --- | --- | --- |
|
||||
| P2 | **Jump-to-passage on result open** | Locate matching span, scroll + select. |
|
||||
| P2 | **Inline wikilink suggestions** | Command reads active note, finds semantically related vault notes, proposes `[[links]]`. |
|
||||
| P3 | **Memory explorer view** | Dedicated panel listing memories with category/date filters. |
|
||||
| P3 | **MMR diversification** | Optional reranker to reduce redundancy in search results. |
|
||||
| P4 | **Multi-brain** | Federated search across local + pi + team brains; provenance per row. |
|
||||
| P4 | **Canvas integration** | Drag brain memories onto Obsidian Canvas as cards. |
|
||||
| P4 | **Conflict detection** | Flag when a newly written note contradicts an indexed memory (needs either LLM or structured distance metric). |
|
||||
|
||||
## Testing strategy
|
||||
|
||||
**No mocks.** All tests hit real services. Three suites live under
|
||||
|
|
@ -192,27 +242,20 @@ Plugin is installable by:
|
|||
- BRAT — once the repo publishes a tagged GitHub release with
|
||||
`main.js`, `manifest.json`, `styles.css` as release assets.
|
||||
|
||||
## Roadmap — phase 4 capabilities
|
||||
## Distribution
|
||||
|
||||
The following capabilities build on the delivered surface and are
|
||||
tracked here for future PRs:
|
||||
Shipped separately at
|
||||
[**ruvnet/obsidian-brain**](https://github.com/ruvnet/obsidian-brain) —
|
||||
a clean, BRAT-installable mirror with:
|
||||
|
||||
| Priority | Capability | Notes |
|
||||
| --- | --- | --- |
|
||||
| P0 | **Q&A / RAG modal** | Retrieves top-k memories for a question and renders a grounded answer inline. Can be LLM-free (just top-k context cards) or wired to a local LLM if available. |
|
||||
| P0 | **pi.ruv.io write-through** | `POST /v1/memories` to publish selected notes back to the shared brain. Requires bearer + confirmation dialog. |
|
||||
| P1 | **Find similar to selection** | Right-click on highlighted text → semantic search on just that fragment. Uses `editor.getSelection()`. |
|
||||
| P1 | **Tag / category filter on search** | `Cmd+Shift+B` accepts `category:<x>` prefix or exposes a dropdown. Backend already supports it via `?category=`. |
|
||||
| P1 | **Pi pull category filter** | New setting `piPullCategory` + `list?category=` on the pull. Avoids default pulls dominated by self-reflection training logs. |
|
||||
| P2 | **Jump-to-passage on result open** | Find the matching span and scroll to it rather than opening the whole note at line 1. |
|
||||
| P2 | **Inline wikilink suggestions** | Command analyzes active note, finds semantically related vault notes, proposes `[[links]]`. |
|
||||
| P2 | **Offline queue** | On transient brain unavailability, queue pending writes in `data.json.pending[]` and replay on reconnect. |
|
||||
| P3 | **Memory explorer view** | Dedicated panel listing brain memories with category/date filters — complements the graph view. |
|
||||
| P3 | **MMR diversification** | Optional post-process of search results to diversify redundant near-duplicates. |
|
||||
| P3 | **Keyboard nav in Related panel** | Arrow keys + Enter, no mouse required. |
|
||||
| P3 | **Daily recall note** | Auto-surface "memories from this day last year". |
|
||||
| P4 | **Multi-brain** | Federated search across local + pi + team brains; result provenance per row. |
|
||||
| P4 | **Canvas integration** | Drag brain memories onto Obsidian Canvas as cards. |
|
||||
- `main.js`, `manifest.json`, `styles.css` published as release assets
|
||||
via `.github/workflows/release.yml` on every `v*` tag push.
|
||||
- `.github/workflows/test.yml` running `npm run typecheck` +
|
||||
`npm run build` + `node --check main.js` on every PR.
|
||||
- First tagged release: **v0.1.0**.
|
||||
|
||||
The authoritative source remains `examples/obsidian-brain/` in this
|
||||
repo; `ruvnet/obsidian-brain` is re-synchronized per release.
|
||||
|
||||
## Security / privacy
|
||||
|
||||
|
|
|
|||
|
|
@ -34,8 +34,16 @@ Then in Obsidian: **Settings → Community plugins → Installed plugins → RuV
|
|||
|
||||
### Option B — BRAT
|
||||
|
||||
Once this plugin is tagged as a GitHub release, install with [BRAT](https://github.com/TfTHacker/obsidian42-brat):
|
||||
`BRAT → Add beta plugin → ruvnet/RuVector` (path `examples/obsidian-brain`).
|
||||
Install with [BRAT](https://github.com/TfTHacker/obsidian42-brat) from
|
||||
the dedicated distribution repo:
|
||||
|
||||
```
|
||||
BRAT → Add beta plugin → ruvnet/obsidian-brain
|
||||
```
|
||||
|
||||
The [ruvnet/obsidian-brain](https://github.com/ruvnet/obsidian-brain)
|
||||
repo publishes tagged releases of `main.js`, `manifest.json`, and
|
||||
`styles.css` built from the source in this directory.
|
||||
|
||||
## Running the brain locally
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue