@theglitchking/semantic-memory 1.1.1 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +4 -4
- package/CHANGELOG.md +58 -0
- package/ROADMAP.md +218 -0
- package/dist/{chunk-XBAN7GRT.js → chunk-CYWPDFNI.js} +2 -2
- package/dist/{chunk-XBAN7GRT.js.map → chunk-CYWPDFNI.js.map} +1 -1
- package/dist/{chunk-CCSX3BHF.js → chunk-EVAJGOCB.js} +25 -1
- package/dist/chunk-EVAJGOCB.js.map +1 -0
- package/dist/cli/index.js +127 -19
- package/dist/cli/index.js.map +1 -1
- package/dist/core/index.js +2 -2
- package/dist/{healthcheck-DCFGPI7M.js → healthcheck-7YOPNDXN.js} +2 -2
- package/dist/mcp/server.js +1 -1
- package/hooks/vault-context.js +94 -27
- package/package.json +2 -1
- package/dist/chunk-CCSX3BHF.js.map +0 -1
- /package/dist/{healthcheck-DCFGPI7M.js.map → healthcheck-7YOPNDXN.js.map} +0 -0
|
@@ -6,18 +6,18 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Single-plugin marketplace for semantic-memory — the unified memory-layer plugin. v1.1.0 absorbs brain's strengths: AGENTS.md contract artifact, hard-gated verification sessions, multi-agent skill bundler (codex/copilot/pi), and SessionStart drift detection — all backwards-compatible with v1.0.x via deprecation shims.",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.2.1"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "semantic-memory",
|
|
14
14
|
"description": "Unified memory-layer plugin for Claude Code. One MCP server, 40 tools across multi-corpus search/read/write/graph/lint/sessions/contract. v1.1.0 adds: AGENTS.md contract artifact, hard-gated verification sessions (session_start/run/finish/status), proposal-mode synthesize_note + synthesize_promote, multi-agent skill bundler (codex/copilot/pi via the new `skills` CLI), and SessionStart drift detection. Backwards-compatible with v1.0.x — every previous tool name remains callable through deprecation shims (removed in v2.0.0).",
|
|
15
|
-
"version": "1.
|
|
15
|
+
"version": "1.2.1",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "TheGlitchKing"
|
|
18
18
|
},
|
|
19
|
-
"homepage": "https://github.com/TheGlitchKing/semantic-
|
|
20
|
-
"repository": "https://github.com/TheGlitchKing/semantic-
|
|
19
|
+
"homepage": "https://github.com/TheGlitchKing/semantic-memory",
|
|
20
|
+
"repository": "https://github.com/TheGlitchKing/semantic-memory.git",
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"keywords": [
|
|
23
23
|
"mcp",
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,64 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to semantic-memory (formerly semantic-sidekick) will be documented here.
|
|
4
4
|
|
|
5
|
+
## [1.2.1] - 2026-06-11 — Capture-cue false-positive fixes
|
|
6
|
+
|
|
7
|
+
Fixes two classes of false positives in the Stop-hook capture nudge (`hooks/vault-context.js`), where the cue scanner over-fired and asked to synthesize moments that carried no new knowledge.
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **Conversational "gotcha" no longer fires the cue.** The `gotcha` cue was a bare-word match (`\bgotcha\b`), so filler acknowledgments like "Gotcha, ok…" tripped it. It now requires noun-context (`a/the gotcha`, `gotcha:`, `gotchas`, `gotcha is/was/here/with`). `workaround`/`hack` are unchanged.
|
|
12
|
+
- **Quoted machinery no longer re-primes the cue.** Cue detection ran over the entire raw prompt, so pasting tool output back — especially this hook's own `<vault-capture-prompt>` block, which contains the words "gotcha"/"workaround"/"hack" and the cue regexes themselves — re-primed `capture-pending` in a self-referential loop. New `stripQuotedMachinery()` removes self-emitted `<vault-*>` blocks, fenced code, and inline-code spans before matching, so only the user's own prose is scanned.
|
|
13
|
+
|
|
14
|
+
### Tests
|
|
15
|
+
|
|
16
|
+
- Extended `test/phase4/mode-hook.test.ts` with four regression cases: conversational "gotcha" does not prime; noun-context "the gotcha is…" does; pasting a `<vault-capture-prompt>` block does not re-prime; and a real cue alongside fenced machinery still primes (the strip is surgical, not total).
|
|
17
|
+
|
|
18
|
+
## [1.2.0] - 2026-05-09 — State consolidation under .claude/.semantic-memory/
|
|
19
|
+
|
|
20
|
+
Consolidates every transient state file under one namespace. Renames the legacy `.sidekick-*` files to drop the obsolete prefix. All legacy paths remain readable through v1.x via fallback; v2.0 will remove the fallback.
|
|
21
|
+
|
|
22
|
+
### Changed (state file paths)
|
|
23
|
+
|
|
24
|
+
The three v1.1-era state files in `hooks/vault-context.js` move:
|
|
25
|
+
|
|
26
|
+
| Old path | New path |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `.claude/.sidekick-mode` | `.claude/.semantic-memory/mode` |
|
|
29
|
+
| `.claude/.sidekick-fingerprints.json` | `.claude/.semantic-memory/fingerprints.json` |
|
|
30
|
+
| `.claude/.sidekick-capture-pending.json` | `.claude/.semantic-memory/capture-pending.json` |
|
|
31
|
+
|
|
32
|
+
Reads check the new path first; if absent, fall back to the old path. Writes always go to the new path. The `bin/semantic-memory migrate-state` command does the explicit move for users who want the legacy files cleaned up immediately.
|
|
33
|
+
|
|
34
|
+
`session.json` and `healthcheck-cache.json` were already correctly placed under `.claude/.semantic-memory/` since v1.1 — no change.
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
|
|
38
|
+
- **`bin/semantic-memory migrate-state`** — one-shot CLI command that atomically moves the three legacy state files. Idempotent. `--dry-run` previews; `--force` resolves conflicts (when both old and new exist) by preferring the new path and deleting the old.
|
|
39
|
+
- **`legacy_state_files` healthcheck finding** — fast-tier check that detects legacy `.sidekick-*` files and surfaces a `warn` with a pointer to `migrate-state`. Pure read-only detection; never auto-migrates.
|
|
40
|
+
|
|
41
|
+
### Backwards compatibility
|
|
42
|
+
|
|
43
|
+
Three statements that remain true after v1.2.0 ships:
|
|
44
|
+
|
|
45
|
+
1. **All legacy paths continue to be readable through v1.x.** Users who never run `migrate-state` see no behavioral change.
|
|
46
|
+
2. **No state files are silently moved or deleted.** Migration is opt-in via `bin/semantic-memory migrate-state`; healthcheck only warns.
|
|
47
|
+
3. **v2.0 will remove the legacy-path read fallback** — committed in this CHANGELOG entry. Users have all of v1.x to migrate. Storage paths (`.semantic-sidekick-index/`, `~/.semantic-sidekick/models/`) are NOT affected by this change; those are preserved through v1.x per the v1.0 promise.
|
|
48
|
+
|
|
49
|
+
### Tests
|
|
50
|
+
|
|
51
|
+
- New: `test/unit/migrate-state.test.ts` (idempotency, dry-run, conflict refusal, force resolution)
|
|
52
|
+
- Extended: `test/unit/healthcheck.test.ts` (legacy state file detection)
|
|
53
|
+
- Updated: `test/phase4/mode-hook.test.ts` (verifies writes land at new path)
|
|
54
|
+
|
|
55
|
+
## [1.1.2] - 2026-05-09 — Add ROADMAP.md (docs-only)
|
|
56
|
+
|
|
57
|
+
Adds a public-facing `ROADMAP.md` at the repo root tracking the committed near-term direction. Captures v1.2 (state consolidation, `/healthcheck --fix`, fresh-install CI smoke, code-symbol drift), v1.3 (confidence-decay), and v2.0 (close the migration window — remove deprecation shims, move the vector index out of the vault, drop legacy fallbacks). Also documents what's deferred and what we've actively decided NOT to ship.
|
|
58
|
+
|
|
59
|
+
`ROADMAP.md` is now in the published npm tarball alongside `README.md` and `CHANGELOG.md`. No code changes; pure documentation.
|
|
60
|
+
|
|
61
|
+
The detailed per-version task plans live under `.planning/v1*-*` (gitignored runtime state); ROADMAP.md is the durable summary.
|
|
62
|
+
|
|
5
63
|
## [1.1.1] - 2026-05-08 — Hotfix: complete the rebrand wiring
|
|
6
64
|
|
|
7
65
|
v1.1.0 published with the rebrand-to-`semantic-memory` half-finished: the npm package, marketplace entry, and tool surface all moved to the new name, but the postinstall, SessionStart reconcile, slash commands, and CLI helpers were still hardcoded to the legacy `@theglitchking/semantic-sidekick` package path. Fresh `npm install @theglitchking/semantic-memory@1.1.0` installs failed to register hooks correctly and slash commands hit ancient code from the legacy npm package (still on the registry at 0.2.x).
|
package/ROADMAP.md
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# semantic-memory Roadmap
|
|
2
|
+
|
|
3
|
+
This file tracks the committed near-term direction for `@theglitchking/semantic-memory`. It's a planning surface — not a contract. Items move between sections as the work clarifies; the canonical state lives here in git.
|
|
4
|
+
|
|
5
|
+
> **Current shipped version:** [v1.1.1](https://github.com/TheGlitchKing/semantic-sidekick/releases/tag/v1.1.1) (npm `latest`)
|
|
6
|
+
> **Last updated:** 2026-05-09
|
|
7
|
+
|
|
8
|
+
## Legend
|
|
9
|
+
|
|
10
|
+
- 🎯 **Committed** — planned for the named version, plan file exists under `.planning/`
|
|
11
|
+
- ✅ **Shipped** — already released
|
|
12
|
+
- 🤔 **Considering** — likely but not yet planned in detail
|
|
13
|
+
- 🌙 **Deferred** — ideas with merit but not on the near-term roadmap
|
|
14
|
+
- 🚫 **Won't ship** — actively decided against
|
|
15
|
+
|
|
16
|
+
## v1.2 — hygiene release (next)
|
|
17
|
+
|
|
18
|
+
Small-scope cleanup work that closes loose ends from v1.1 before the bigger v1.3 retrieval work lands. Targeted as a single bundled release.
|
|
19
|
+
|
|
20
|
+
### 🎯 State consolidation under `.claude/.semantic-memory/`
|
|
21
|
+
- Move `.claude/.sidekick-mode` → `.claude/.semantic-memory/mode`
|
|
22
|
+
- Move `.claude/.sidekick-fingerprints.json` → `.claude/.semantic-memory/fingerprints.json`
|
|
23
|
+
- Move `.claude/.sidekick-capture-pending.json` → `.claude/.semantic-memory/capture-pending.json`
|
|
24
|
+
- Drop the legacy `.sidekick-*` prefix; rename to drop the redundant leading dot
|
|
25
|
+
- New CLI: `bin/semantic-memory migrate-state` (idempotent, opt-in)
|
|
26
|
+
- Read-with-fallback: legacy paths still work through all of v1.x
|
|
27
|
+
- Healthcheck surfaces a `legacy_state_files` warning when old paths are present
|
|
28
|
+
- **Plan:** `.planning/v12-state-consolidation/task_plan.md`
|
|
29
|
+
- **Effort:** ~3 days
|
|
30
|
+
|
|
31
|
+
### 🎯 `/healthcheck --fix` flag
|
|
32
|
+
- Auto-apply safe fixes for drift findings: re-link skills, reconcile `.mcp.json`, regenerate AGENTS.md, run `migrate-state`
|
|
33
|
+
- Refuses non-safe fixes (stale notes, broken wikilinks, hand-edited managed blocks → human review)
|
|
34
|
+
- Documented in `commands/healthcheck.md` since v1.1; implementation deferred
|
|
35
|
+
- **Effort:** ~1 week
|
|
36
|
+
|
|
37
|
+
### 🎯 Fresh-install CI smoke test
|
|
38
|
+
- Pre-publish CI job: `npm pack` → install tarball into clean tmpdir → verify hooks register, `.mcp.json` populates, `bin --version` works
|
|
39
|
+
- Mechanically prevents the v1.1.0-class packaging bug
|
|
40
|
+
- This is the highest-ROI v1.2 item — would have caught v1.1.0 → v1.1.1 hotfix before publish
|
|
41
|
+
- **Effort:** ~1 day
|
|
42
|
+
|
|
43
|
+
### 🎯 Code-symbol drift detection (conditional on babel-fish)
|
|
44
|
+
- New `lint_vault({checks: ["code_symbols"]})` rule
|
|
45
|
+
- Cross-references vault note inline code mentions against project-map's symbol index
|
|
46
|
+
- Flags notes whose referenced symbols no longer exist
|
|
47
|
+
- Fails open when babel-fish is not installed
|
|
48
|
+
- **Effort:** ~3 days
|
|
49
|
+
|
|
50
|
+
**v1.2 total estimate:** ~2 weeks active work + ≥1 week dogfood before v1.3 starts.
|
|
51
|
+
|
|
52
|
+
## v1.3 — confidence-decay (after v1.2 ships clean)
|
|
53
|
+
|
|
54
|
+
Replaces age-blind retrieval ranking with smooth, type-aware, composable confidence decay. Notes age out of relevance gracefully; explicitly-verified notes reset the clock.
|
|
55
|
+
|
|
56
|
+
### 🎯 Smooth exponential decay engine
|
|
57
|
+
- `multiplier = 0.5^(age_days / half_life)`
|
|
58
|
+
- Per-type half-life: `decision: 365d`, `note: 365d`, `gotcha: 180d`, `source: ∞`, `proposal: 14d`
|
|
59
|
+
- Configurable via `vault.schema.yml`
|
|
60
|
+
- Floor at 0.1 (notes never disappear, just down-weight)
|
|
61
|
+
|
|
62
|
+
### 🎯 `last_verified` semantically split from `last_modified`
|
|
63
|
+
- `last_modified`: auto-stamped on every edit
|
|
64
|
+
- `last_verified`: only updated by note creation OR explicit `verify_note` tool
|
|
65
|
+
- Idempotent migration helper: `bin/semantic-memory migrate-schema`
|
|
66
|
+
|
|
67
|
+
### 🎯 New tool: `verify_note(path)`
|
|
68
|
+
- Updates `last_verified` only — no content change
|
|
69
|
+
- Logs a `kind: verify` event to `log.md`
|
|
70
|
+
- Resets the decay clock for one note
|
|
71
|
+
|
|
72
|
+
### 🎯 Surface decay in search output
|
|
73
|
+
- `search_semantic` and `search_hybrid` results gain an optional `decay: { multiplier, age_days, effective_half_life, reason }` block
|
|
74
|
+
- Block omitted on healthy (multiplier 1.0) results
|
|
75
|
+
- Agents see staleness and can proactively offer to re-verify
|
|
76
|
+
|
|
77
|
+
### 🎯 `evergreen` frontmatter opt-out
|
|
78
|
+
- `evergreen: true` → decay multiplier locked at 1.0
|
|
79
|
+
- BUT requires `last_verified` within 365 days — evergreen claim itself expires periodically
|
|
80
|
+
|
|
81
|
+
### 🎯 Backlink hotness boost (feature-flagged off by default)
|
|
82
|
+
- Notes with high inbound link count get extended effective half-life
|
|
83
|
+
- Capped at 2× extension
|
|
84
|
+
- Earn it via Phase 10 telemetry rather than ship it on by default
|
|
85
|
+
|
|
86
|
+
### 🎯 `decay_candidates` lint rule
|
|
87
|
+
- `lint_vault({checks: ["decay_candidates"]})` surfaces stale-but-frequently-relevant notes
|
|
88
|
+
- Wires into `/healthcheck` slow tier
|
|
89
|
+
|
|
90
|
+
### 🎯 CLI introspection
|
|
91
|
+
- `bin/semantic-memory decay-config` — print active decay parameters
|
|
92
|
+
- `bin/semantic-memory decay-trace <path>` — debug one note's decay calculation
|
|
93
|
+
|
|
94
|
+
### 🎯 Selection logging (local JSONL telemetry)
|
|
95
|
+
- `.claude/.semantic-memory/decay-telemetry.log` (gitignored)
|
|
96
|
+
- Tracks query → results → which result agent actually used
|
|
97
|
+
- Local only, opt-out via `decay.telemetry.enabled: false`
|
|
98
|
+
- Two weeks of passive collection informs the next round of half-life tuning
|
|
99
|
+
|
|
100
|
+
**Plan:** `.planning/v13-confidence-decay/task_plan.md`
|
|
101
|
+
**v1.3 total estimate:** ~2.5 weeks active + ≥2 weeks dogfood (longer than v1.1 — ranking changes need more soak).
|
|
102
|
+
|
|
103
|
+
## v2.0 — close the migration window
|
|
104
|
+
|
|
105
|
+
The release where every legacy fallback collected during v1.x finally goes away. Coordinates the deprecation-shim removal with the rest of the layout cleanup so users do their migration once.
|
|
106
|
+
|
|
107
|
+
### 🎯 Remove deprecation shims (committed in v1.1 CHANGELOG)
|
|
108
|
+
- `find_schema_violations` → `lint_vault({checks: ["schema"]})`
|
|
109
|
+
- `find_missing_provenance` → `lint_vault({checks: ["provenance"]})`
|
|
110
|
+
- `find_stale` → `lint_vault({checks: ["stale"]})`
|
|
111
|
+
- `find_broken_links` → `lint_vault({checks: ["broken_links"]})`
|
|
112
|
+
- `read_multiple_notes` → `read_note` in a loop or batched MCP calls
|
|
113
|
+
- `rename_tag` → `manage_tags({action: "rename", from, to})`
|
|
114
|
+
|
|
115
|
+
### 🎯 Move the vector index out of the vault
|
|
116
|
+
- `<vault>/.semantic-sidekick-index/` → `.claude/.semantic-memory/index/`
|
|
117
|
+
- Atomic move-with-verify migration on first run after upgrade
|
|
118
|
+
- Cleaner separation: derived state stops living inside user content
|
|
119
|
+
- Honors the v1.0 storage promise's spirit (no re-index, no model re-download) by transparent move
|
|
120
|
+
|
|
121
|
+
### 🎯 Move the global model cache
|
|
122
|
+
- `~/.semantic-sidekick/models/` → `~/.semantic-memory/models/`
|
|
123
|
+
- One-shot rename (or atomic move) on first v2.0 run
|
|
124
|
+
- Higher cost than the index move (cross-device, multiple repos may share); document carefully
|
|
125
|
+
|
|
126
|
+
### 🎯 Remove legacy-state read fallback
|
|
127
|
+
- v1.2 introduced "read new path first, fall back to old"
|
|
128
|
+
- v2.0 drops the fallback — old paths are no longer respected
|
|
129
|
+
- `bin/semantic-memory migrate-state` becomes a hard prerequisite (run during upgrade or lose state)
|
|
130
|
+
|
|
131
|
+
### 🎯 Remove `bin/semantic-sidekick` alias
|
|
132
|
+
- The legacy CLI name kept since the v1.0.0 rebrand goes away
|
|
133
|
+
- Anyone still scripting against `semantic-sidekick` updates to `semantic-memory`
|
|
134
|
+
|
|
135
|
+
### 🎯 Remove legacy `@theglitchking/semantic-sidekick` package fallback paths
|
|
136
|
+
- All four fallback sites in `reconcile.js`, `link-skills.js`, `vault-context.js`, `src/cli/index.ts` collapse to single new-path lookups
|
|
137
|
+
- The legacy npm package (still on the registry at 0.2.x) gets a final deprecation `README` pointer to the new package
|
|
138
|
+
|
|
139
|
+
### 🎯 Rename `reindex` and `regenerate_index`
|
|
140
|
+
- `reindex` → `rebuild_search_index`
|
|
141
|
+
- `regenerate_index` → `regenerate_index_notes`
|
|
142
|
+
- The confusable pair finally becomes unambiguous
|
|
143
|
+
|
|
144
|
+
### 🤔 Tighten default decay constants
|
|
145
|
+
- Based on telemetry from v1.3 dogfood, ship more aggressive defaults
|
|
146
|
+
- Conservative-then-tighten was the right v1.3 strategy; v2.0 is when we use the data
|
|
147
|
+
|
|
148
|
+
**v2.0 total estimate:** ~2 weeks active + ≥2 weeks dogfood. The bulk is migration helpers + writing migration documentation, not new features.
|
|
149
|
+
|
|
150
|
+
## v1.3+ — multi-corpus completion (separate effort)
|
|
151
|
+
|
|
152
|
+
The README at v1.0.0 promised "multi-corpus architecture: vault, code, plans, docs, research, project-map." Today only the **vault** corpus is fully wired. The other 5 corpora exist as conceptual placeholders, not as separate indices, separate tool registrations, or separate retrieval tuning.
|
|
153
|
+
|
|
154
|
+
This is **multi-quarter work**, not one release. Suggested first step: pick ONE additional corpus (probably `code`) and wire it end-to-end. Decide whether multi-corpus is the future or whether to consolidate back to vault-only based on what that integration teaches.
|
|
155
|
+
|
|
156
|
+
🤔 **Considering for a v1.4 or v1.5:**
|
|
157
|
+
- Code corpus wiring (separate index, separate tools, separate retrieval)
|
|
158
|
+
- Cross-corpus graph queries (the unified knowledge graph actually unifies)
|
|
159
|
+
- Per-corpus retrieval tuning (chunking strategy varies by content type)
|
|
160
|
+
|
|
161
|
+
Don't pre-build adapters for the other 4 corpora; let real demand surface them.
|
|
162
|
+
|
|
163
|
+
## 🤔 Considering (no committed slot yet)
|
|
164
|
+
|
|
165
|
+
Stuff with merit but no version commitment.
|
|
166
|
+
|
|
167
|
+
- **Confidence-multiplier composition** — `confidence: low|medium|high` already in the schema; v1.3 wires it as a multiplicative boost, but per-vault tuning could be useful
|
|
168
|
+
- **Per-agent skill format transforms** — codex/copilot/pi may need format adapters once we see real usage
|
|
169
|
+
- **Stale-session auto-cleanup** — sessions open >7 days with no activity could auto-close with `verified: false, reason: "auto-stale"`. Decide based on dogfood feedback.
|
|
170
|
+
- **Mode-state in JSON instead of plain text** — only if we ever need metadata (last_changed, prior_mode). Today's plain text is fine.
|
|
171
|
+
|
|
172
|
+
## 🌙 Deferred wishlist (would be cool, no plan)
|
|
173
|
+
|
|
174
|
+
These are real ideas, not committed work. Order roughly by expected value-per-effort:
|
|
175
|
+
|
|
176
|
+
### Authoring & retrieval
|
|
177
|
+
- Auto-suggest `derived_from` candidates when synthesizing
|
|
178
|
+
- Duplicate-content detection (cluster chunk vectors, surface 0.92+ similar pairs)
|
|
179
|
+
- `bin/semantic-memory ingest <url>` — fetch + readability + write as `source` note
|
|
180
|
+
|
|
181
|
+
### Visualization
|
|
182
|
+
- Read-only local web UI (`bin/semantic-memory ui`)
|
|
183
|
+
- Provenance heatmap — which notes are most-cited
|
|
184
|
+
- Drift trend chart over time
|
|
185
|
+
|
|
186
|
+
### Cross-tool integration
|
|
187
|
+
- GitHub Action: `lint_vault` as a CI step
|
|
188
|
+
- VS Code extension for `read_note` / `synthesize_note` / `search_hybrid`
|
|
189
|
+
|
|
190
|
+
### Session evolution
|
|
191
|
+
- Session diff at finish — auto-emit a structured what-changed report
|
|
192
|
+
- Named/concurrent sessions (probably not worth it; the constraint is also a feature)
|
|
193
|
+
|
|
194
|
+
### Wild
|
|
195
|
+
- Adversarial vault auditor — generate "trick questions," flag where vault is silently wrong
|
|
196
|
+
- Vault-against-PR drift (requires multi-corpus first)
|
|
197
|
+
- LLM-summarized SessionStart context (vs. raw top-N hits)
|
|
198
|
+
|
|
199
|
+
## 🚫 Won't ship
|
|
200
|
+
|
|
201
|
+
Decided against. Documented to prevent rediscovery.
|
|
202
|
+
|
|
203
|
+
- **Skills marketplace** — scope creep, not the project's concern
|
|
204
|
+
- **Custom embedding model fine-tuning per project** — costly, niche, fragile
|
|
205
|
+
- **Hosted analytics / centralized telemetry** — breaks the local-first promise
|
|
206
|
+
- **Premium tier of any kind** — same
|
|
207
|
+
- **Account requirement** — same
|
|
208
|
+
- **Hosted MCP-as-a-service mode** — would change the project's character
|
|
209
|
+
|
|
210
|
+
These all break the "local-first, no surveillance, no central server" promise that's quietly the most attractive thing about both this project and `JimmyMcBride/brain`. We resist scope creep that erodes that.
|
|
211
|
+
|
|
212
|
+
## How this file is maintained
|
|
213
|
+
|
|
214
|
+
- **Source of truth:** the .planning/ artifacts under `.planning/v1*-*` are the detailed task plans. This file summarizes them.
|
|
215
|
+
- **Update cadence:** at every release, move shipped items from "committed" to "shipped" with a link to the release tag. Add new committed items as plans graduate from "considering."
|
|
216
|
+
- **`/.planning/` is gitignored** — those are runtime planning artifacts. This ROADMAP.md is the durable, public-facing summary.
|
|
217
|
+
- **Don't promise dates.** Effort estimates only. Dates are a forecasting trap.
|
|
218
|
+
- **Honest scope:** if something turns out to be larger than estimated, move it to a later version rather than scope-creep the current one.
|
|
@@ -880,7 +880,7 @@ function buildManagedBlock(opts) {
|
|
|
880
880
|
lines.push("- Markdown is canonical. The vault under `.claude/.vault/` (or wherever `--notes` points) is the source of truth.");
|
|
881
881
|
lines.push("- Indexes (vector / graph / FTS) are derived state \u2014 rebuildable via `reindex` without losing knowledge.");
|
|
882
882
|
lines.push("- Provenance frontmatter is required for `note`/`decision`/`gotcha` types \u2014 `sources` (external) or `derived_from` (internal).");
|
|
883
|
-
lines.push("- Mode router lives at `.claude/.sidekick-mode
|
|
883
|
+
lines.push("- Mode router lives at `.claude/.semantic-memory/mode` (legacy `.claude/.sidekick-mode` still readable through v1.x); explicit `/mode` is ground truth.");
|
|
884
884
|
lines.push("");
|
|
885
885
|
lines.push(END_MARKER);
|
|
886
886
|
return lines.join("\n");
|
|
@@ -1133,4 +1133,4 @@ export {
|
|
|
1133
1133
|
deriveProjectRoot,
|
|
1134
1134
|
deriveSessionDir
|
|
1135
1135
|
};
|
|
1136
|
-
//# sourceMappingURL=chunk-
|
|
1136
|
+
//# sourceMappingURL=chunk-CYWPDFNI.js.map
|