memory-router — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited memory-router (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Decides where new content belongs in D Rage's JoVE knowledge system: Obsidian vault (RAM) for what changes, Pinecone (`jove-memory` index) for what doesn't. Apply this BEFORE writing any new artifact — not after.
Ask: "Will this be edited again?"
jove-memory (HD)That's it. Everything below is tiebreakers and namespace-routing for when the answer isn't obvious.
Obsidian and Pinecone are complementary, not competing — they serve different cognitive layers:
Mixing them fails both ways: if you put archive content in the vault, the wiki bloats and the token tax grows linearly with content volume. If you put active strategy in Pinecone, you lose the wiki-link graph that makes reasoning possible.
as_of metadata.The vault at ~/Obsidian/JoVE/ uses Johnny.Decimal numbered folders. Place per content type:
| Folder | Content |
|---|---|
10 — Company/ | JoVE company-wide notes (about, history, org structure) |
20 — Product Lines/ | Research / Education / Business products + product anchors |
30 — Customers & Market/ | Personas, competitors, market intel (the CURRENT view; archived deep-dives → Pinecone) |
40 — People/ | Internal JoVE colleagues + External customers/partners |
50 — Decisions & Bets/ | One note per significant decision (review_date frontmatter) |
60 — Meetings/ | One short stub per meeting; full transcripts → Pinecone meetings |
70 — Daily Notes/ | Today's + last ~30 days; older rolls to Pinecone daily-archive |
80 — Resources & Reference/ | Glossary, books (as pointer stubs), tools, raw/ archive |
99 — Meta/ | Templates, scripts, vault meta (log.md, Lint Playbook, etc.) |
Every vault note needs: YAML frontmatter (type, status, domain, tags, created, updated, source_urls, confidence) per [[CLAUDE]].
Index: jove-memory. Embedding: multilingual-e5-large (integrated; 1024-dim; truncates at 512 tokens — keep chunks ≤350 words).
Pick the namespace:
| Namespace | What goes here | ID prefix pattern |
|---|---|---|
conversations | Wrap-ups of Claude sessions (≤350 words each) | convo-{YYYY-MM-DD}-{kebab-title} |
meetings | Granola meeting transcripts + summaries (post-D-joins-JoVE) | meeting-{YYYY-MM-DD}-{kebab-title} |
emails | Customer / Slack / institutional Gmail archives | email-{YYYY-MM-DD}-{kebab-title} |
research | Deep-research outputs (competitive scans, market reports) | research-{topic-slug}-{YYYY-MM-DD}-{section} |
books | Book digests (chunked by chapter/concept) | book-{title-slug}-{YYYY-MM-DD}-{section} |
daily-archive | Daily notes >30 days old | daily-{YYYY-MM-DD} |
bootstrap-research | FROZEN — 8 original research streams; do not write here | bootstrap-{stream}-{section} |
crawl-source | FROZEN — JoVE website crawl; do not write here | crawl-{branch}-{key} |
Always include rich metadata per record: as_of, topic, tags[], source_urls[], plus any namespace-specific fields (e.g., branch for crawl, author for books, attendees for meetings).
Verify upserts: after upserting, do one mcp__pinecone__search-records round-trip on a query the record should match. Confirm hit at ≥0.80 similarity. If lower, the chunk is probably too noisy or too long.
For LARGE or IMMUTABLE content that also needs vault discoverability:
pinecone_namespace and pinecone_id_prefix fieldsExisting examples in vault to follow:
books namespacecrawl-sourceresearchThe pointer note is what shows up in the vault graph + MOC indexes; the Pinecone records are the answer-substrate for semantic queries.
Example 1: User says "Ingest the 'Nature Protocols' deep-dive I just researched." → Will it be edited again? No (it's a snapshot of state on 2026-05-23). → Pinecone research namespace + vault pointer note Competitors — Nature Protocols.md. Hybrid.
Example 2: User says "Update the PI Persona note to add a 6th sub-persona." → Will it be edited again? Yes (personas evolve as PI conversations happen). → Vault edit only. No Pinecone.
Example 3: User says "Save this conversation about the architecture decision we just made." → Will it be edited again? No (conversation wraps are by definition done). → Pinecone conversations namespace via /wrap-up skill. Log entry to vault.
Example 4: User says "Create a Granola meeting note for today's call with the CEO." → Will it be edited again? The summary stub MAYBE (action items get checked off); transcript NO. → Hybrid: short stub in 60 — Meetings/2026-MM-DD — CEO 1:1.md (vault, action items + decisions + key quotes ≤200 words); full transcript in Pinecone meetings.
Example 5: User says "Help me draft a new strategic decision about JoVE Labs pricing." → Will it be edited again? Yes (decisions get refined; review_date is in frontmatter for a reason). → Vault decision note in 50 — Decisions & Bets/. No Pinecone.
Example 6: User says "Index Alex Hormozi's $100M Leads book." → Will it be edited again? No. → Pinecone books namespace + vault pointer stub. Hybrid.
Example 7: User says "Add this article I just read to the vault." → Apply tiebreaker 6: will user edit by hand? Probably not (it's a clipped source). → Pinecone research namespace + vault pointer if the article matters to a specific MOC. Otherwise just the raw archive at 80 — Resources & Reference/Raw/ (per [[CLAUDE]] §2).
as_of snapshot into the vault as if it were current. Tag it as_of and route to Pinecone.When applying this skill, state the routing decision EXPLICITLY before executing — one line:
Routing decision: <vault path> [+ Pinecone <namespace> <id-prefix>]. Why: <one-sentence reason citing the rule or tiebreaker>.Then execute (write the file / upsert the records).
~/.claude/skills/wrap-up/SKILL.md — companion skill for the conversations namespace flowSkip the explicit routing decision for:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.