memorix 1.3.4 → 1.4.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/CHANGELOG.md +21 -0
- package/CLAUDE.md +9 -9
- package/README.md +7 -2
- package/README.zh-CN.md +6 -2
- package/dist/cli/index.js +53 -23
- package/dist/index.js +53 -23
- package/dist/maintenance-runner.js +50 -21
- package/dist/media-video-runner.js +50 -21
- package/dist/memcode/index.js +53 -21
- package/dist/memcode-runtime/CHANGELOG.md +21 -0
- package/dist/sdk.js +52 -22
- package/dist/vector-backfill-runner.js +50 -21
- package/docs/1.3.3-MULTIMODAL-MEDIA-AND-MCP-COMPAT.md +13 -13
- package/docs/API_REFERENCE.md +1 -1
- package/docs/KNOWN_ISSUES_AND_ROADMAP.md +52 -128
- package/package.json +5 -2
- package/plugins/claude/memorix/.claude-plugin/plugin.json +1 -1
- package/plugins/codex/memorix/.codex-plugin/plugin.json +1 -1
- package/plugins/copilot/memorix/plugin.json +1 -1
- package/plugins/gemini/memorix/gemini-extension.json +1 -1
- package/plugins/omp/memorix/package.json +1 -1
- package/plugins/openclaw/memorix/.codex-plugin/plugin.json +1 -1
- package/plugins/pi/memorix/package.json +1 -1
- package/server.json +2 -2
- package/src/codegraph/current-facts.ts +1 -0
- package/docs/dev-log/progress.txt +0 -388
package/server.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"url": "https://github.com/AVIDS2/memorix",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "1.
|
|
10
|
+
"version": "1.4.1",
|
|
11
11
|
"websiteUrl": "https://github.com/AVIDS2/memorix#readme",
|
|
12
12
|
"icons": [
|
|
13
13
|
{
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
{
|
|
23
23
|
"registryType": "npm",
|
|
24
24
|
"identifier": "memorix",
|
|
25
|
-
"version": "1.
|
|
25
|
+
"version": "1.4.1",
|
|
26
26
|
"runtimeHint": "npx",
|
|
27
27
|
"packageArguments": [
|
|
28
28
|
{
|
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
# Memorix Development Progress
|
|
2
|
-
|
|
3
|
-
> Current handoff note for new agent sessions. Code and release facts outrank
|
|
4
|
-
> older notes when they conflict.
|
|
5
|
-
|
|
6
|
-
## Current State
|
|
7
|
-
- Phase: 1.2.5 retrieval performance and reliability release candidate
|
|
8
|
-
- Branch: `codex/1.2.5-retrieval-performance`
|
|
9
|
-
- Last updated: 2026-07-27
|
|
10
|
-
- Released baseline: `memorix@1.2.4`, tag `v1.2.4`, `origin/main` at
|
|
11
|
-
`24f3b9b`.
|
|
12
|
-
- Goal: make ordinary retrieval deterministic and bounded without changing the
|
|
13
|
-
local SQLite + in-process Orama architecture.
|
|
14
|
-
|
|
15
|
-
## 1.2.5 Retrieval Performance and Reliability
|
|
16
|
-
- Retrieval now has three explicit profiles: `fast` is fully local, `balanced`
|
|
17
|
-
is the default vector-capable path without LLM query work, and `thorough`
|
|
18
|
-
explicitly opts into configured LLM query rewrite/reranking.
|
|
19
|
-
- `OPENROUTER_API_KEY` remains an embedding fallback only. It activates the
|
|
20
|
-
memory LLM lane only when that lane explicitly names an OpenRouter provider
|
|
21
|
-
or base URL, preventing embedding-only configurations from adding hidden
|
|
22
|
-
network work to normal search.
|
|
23
|
-
- Embedding, rerank, MCP search, and maintenance share one timeout helper that
|
|
24
|
-
clears watchdog timers after settlement. This removes the previously measured
|
|
25
|
-
avoidable CLI exit delay from a completed rerank path while preserving real
|
|
26
|
-
timeouts for stalled work.
|
|
27
|
-
- Read-only memory CLI commands skip session-store and maintenance-target setup
|
|
28
|
-
while retaining the existing project/identity visibility boundary.
|
|
29
|
-
- Local verification completed before release: TypeScript check; focused
|
|
30
|
-
timeout/config/search/CLI/SDK tests; a full serial suite that reached a
|
|
31
|
-
single stale Codex plugin-manifest version assertion, followed by its
|
|
32
|
-
dedicated passing recheck after the template was synced; production build;
|
|
33
|
-
package SDK benchmark; real CLI smoke; and an in-memory MCP client smoke
|
|
34
|
-
confirming `memorix_search.quality` and `fast` mode.
|
|
35
|
-
- Current benchmark evidence on Windows/Node 22: a 1,000-record hot in-process
|
|
36
|
-
SDK lexical fixture measured specific lookup p50 44.603 ms / p95 96.085 ms
|
|
37
|
-
and broad-query p50 160.903 ms / p95 171.878 ms. This excludes CLI startup,
|
|
38
|
-
MCP transport, remote embeddings, and LLM work by design; the two query
|
|
39
|
-
shapes are reported separately rather than averaged into a marketing number.
|
|
40
|
-
|
|
41
|
-
## 1.2.4 Persistent Memory Delivery
|
|
42
|
-
- Continuation is now a bounded delivery projection over existing sessions and
|
|
43
|
-
durable observations, not a second handoff database. `TaskWorkset` keeps its
|
|
44
|
-
task lens (`bugfix`, `feature`, and so on) while independently recognizing a
|
|
45
|
-
continuation request.
|
|
46
|
-
- A continuation Workset includes at most the latest meaningful completed
|
|
47
|
-
session summary plus three readable durable memory anchors. Each item is
|
|
48
|
-
visible in the existing `ContextReceipt`; ordinary tasks do not receive it.
|
|
49
|
-
- `memorix resume "<task>"` is the CLI-equivalent continuation entry. The
|
|
50
|
-
existing MCP `memorix_project_context` receives the same behavior from the
|
|
51
|
-
user's task text, so the micro MCP profile stays at seven tools.
|
|
52
|
-
- Setup-generated rules now use a single fallback call when MCP is genuinely
|
|
53
|
-
unavailable: `memorix resume` for prior work or `memorix context` for new
|
|
54
|
-
work. They explicitly forbid help probing, command enumeration, and broad
|
|
55
|
-
search loops before the first brief.
|
|
56
|
-
- The visibility reader is carried into continuation retrieval, preserving
|
|
57
|
-
project aliases while failing closed for other agents' personal memory.
|
|
58
|
-
- Continuation text preserves whole technical identifiers instead of emitting a
|
|
59
|
-
misleading partial token. MCP Project Context also establishes a short-lived
|
|
60
|
-
delivery boundary: a follow-up search/detail request does not re-send an
|
|
61
|
-
already represented record unless the caller names a missing fact or the user
|
|
62
|
-
explicitly asks for the underlying detail.
|
|
63
|
-
- A read-only or "do not modify files" Autopilot task blocks `memorix_store`
|
|
64
|
-
by default. The only override is an explicit user request to persist a
|
|
65
|
-
record, represented by `overrideReadOnly: true`.
|
|
66
|
-
- A real Codex user-path smoke, in a fresh Git fixture seeded only through the
|
|
67
|
-
public CLI, made one natural-language continuation request. Codex received
|
|
68
|
-
the bounded brief, used one specific Context Pack expansion, was stopped
|
|
69
|
-
from re-reading already-covered memory, made no `memorix_store` write, and
|
|
70
|
-
returned the correct read-only next step.
|
|
71
|
-
- Completed local gates: TypeScript check, production build, focused
|
|
72
|
-
continuation/hook/CLI regressions, and the full suite (`237` files / `2677`
|
|
73
|
-
tests). A fresh packed install with optional native dependencies omitted used
|
|
74
|
-
Node SQLite to persist the same `memorix.db`; CLI resume retained
|
|
75
|
-
`AUTH_REFRESH_V2`; the micro MCP package surface exposed exactly seven tools
|
|
76
|
-
and enforced duplicate-retrieval plus read-only-write boundaries; and an
|
|
77
|
-
isolated Codex global setup wrote/activated the versioned Personal-marketplace
|
|
78
|
-
plugin with the matching skill guidance. Pending release gates: CI and
|
|
79
|
-
publish.
|
|
80
|
-
|
|
81
|
-
## 1.2.3 Session Context Visibility Hotfix
|
|
82
|
-
- A real installed-package CLI smoke found that a second coordination identity
|
|
83
|
-
could receive the first identity's personal observation in automatic session
|
|
84
|
-
context. The root cause was a reader-less core session-context call.
|
|
85
|
-
- `getSessionContext()` now accepts an `ObservationReader`; CLI, MCP, and TUI
|
|
86
|
-
session entry points pass their resolved caller identity. Alias-backed
|
|
87
|
-
project-visible records remain readable, while personal/team records fail
|
|
88
|
-
closed.
|
|
89
|
-
- Graph-neighbor routing is omitted whenever a reader is present because graph
|
|
90
|
-
relations are not yet visibility-scoped. Core, CLI, MCP, and alias regression
|
|
91
|
-
tests cover the boundary.
|
|
92
|
-
|
|
93
|
-
## 1.1.13 Closeout
|
|
94
|
-
- Codex setup now stamps plugin versions and doctor distinguishes bundle,
|
|
95
|
-
marketplace, installed/enabled state, declared hooks, and hook trust.
|
|
96
|
-
- Root package publishing is isolated from internal `@memorix/*` workspaces.
|
|
97
|
-
- Full tests, build, pack inspection, isolated MCP smoke, isolated Codex smoke,
|
|
98
|
-
and Ubuntu/Windows CI all passed before release.
|
|
99
|
-
|
|
100
|
-
## 1.2 Accepted Direction
|
|
101
|
-
- The [1.2 Product Story](../1.2.0-PRODUCT-STORY.md) is the canonical
|
|
102
|
-
user-facing narrative; the Development Charter is its implementation
|
|
103
|
-
contract.
|
|
104
|
-
- The [Knowledge and Workflow Research](../1.2.0-KNOWLEDGE-WORKFLOW-RESEARCH.md)
|
|
105
|
-
establishes Knowledge Workspace and Workflow Inheritance as 1.2 core product
|
|
106
|
-
layers, with an explicit boundary against claiming the existing memory map is
|
|
107
|
-
already a semantic graph or maintained LLM Wiki.
|
|
108
|
-
- The [1.2 Implementation Plan](../1.2.0-IMPLEMENTATION-PLAN.md) is the
|
|
109
|
-
execution contract for the single complete 1.2 goal. All phases are internal
|
|
110
|
-
gates in one continuous delivery path, not separate user approval points.
|
|
111
|
-
- Use the [1.2 Development Charter](../1.2.0-DEVELOPMENT-CHARTER.md) as the
|
|
112
|
-
working product contract.
|
|
113
|
-
- Keep the current SQLite CodeGraph tables and incremental refresh as the base;
|
|
114
|
-
do not discard working 1.1 Code Memory.
|
|
115
|
-
- Add versioned Code State and evidence-quality semantics before new parsers,
|
|
116
|
-
external providers, or user-visible tool surfaces.
|
|
117
|
-
- Treat natural-language `memorix_project_context` as the product surface;
|
|
118
|
-
internal graph/provider complexity must stay behind it.
|
|
119
|
-
|
|
120
|
-
## Phase 0 Evaluation Foundation
|
|
121
|
-
- Existing UI/API projections now identify themselves honestly as a read-only
|
|
122
|
-
Memory Overview and deterministic Memory Map. They are not presented as a
|
|
123
|
-
maintained wiki or semantic graph.
|
|
124
|
-
- The Workset evaluation harness has fixture repositories for TypeScript,
|
|
125
|
-
Python, Go, docs-only, dirty worktree, deleted-symbol, and incomplete-scan
|
|
126
|
-
cases. Its seed manifest covers observations, Git facts, test evidence,
|
|
127
|
-
mini-skills, and explicit graph relations.
|
|
128
|
-
- The harness compares memory-only, current-context, and candidate Worksets
|
|
129
|
-
against source/evidence/caution requirements and variant token ceilings.
|
|
130
|
-
- The current Auto Context path is smoke-tested against real local TypeScript
|
|
131
|
-
and dirty-worktree fixtures with embeddings disabled. The candidate budget is
|
|
132
|
-
180 tokens; the current baseline budget is 320 tokens.
|
|
133
|
-
- The former memory map remains separate from the formal Claim Ledger. Phase 2
|
|
134
|
-
owns claim provenance, conflict, and supersession semantics; Phase 0 only
|
|
135
|
-
prevents the old views from being mislabeled as those capabilities.
|
|
136
|
-
|
|
137
|
-
## Phase 1 Code State
|
|
138
|
-
- Lite refresh now appends a Code State Snapshot with bounded Git revision and
|
|
139
|
-
worktree metadata, a source epoch, a prior-snapshot link, and explicit scan
|
|
140
|
-
completeness.
|
|
141
|
-
- Current files, symbols, edges, and current observation-code refs are marked
|
|
142
|
-
with the latest completed snapshot. Existing CodeGraph rows survive the
|
|
143
|
-
additive schema migration.
|
|
144
|
-
- Project Context, the CodeGraph MCP status payload, and the codegraph CLI
|
|
145
|
-
status output expose the latest snapshot. A non-Git directory reports
|
|
146
|
-
unavailable instead of clean.
|
|
147
|
-
|
|
148
|
-
## Phase 2 Claim Ledger
|
|
149
|
-
- SQLite now has additive, transactional tables for claims, evidence
|
|
150
|
-
references, and lifecycle events. Every stored claim requires at least one
|
|
151
|
-
source reference and credential values are sanitized before durable writes.
|
|
152
|
-
- Exact normalized assertions reuse their record and attach more evidence;
|
|
153
|
-
competing approved assertions remain disputed rather than being overwritten.
|
|
154
|
-
Evidence-aware supersession preserves an audit trail.
|
|
155
|
-
- Explicit memories and Git-ingested facts can derive conservative claims.
|
|
156
|
-
Hook/model output does not become approved knowledge automatically.
|
|
157
|
-
- Observation code references inherit the latest Code State Snapshot when they
|
|
158
|
-
are created. CodeGraph refresh requalifies bound claims: changed or deleted
|
|
159
|
-
symbols become unknown, and incomplete scans force review instead of false
|
|
160
|
-
certainty.
|
|
161
|
-
- Unit and integration tests cover evidence validation, redaction, conflict,
|
|
162
|
-
supersession, model-review policy, snapshot binding, changed-symbol
|
|
163
|
-
requalification, and compact task selection.
|
|
164
|
-
|
|
165
|
-
## Phase 3 Knowledge Workspace
|
|
166
|
-
- Memorix now initializes a private local Markdown workspace by default. A
|
|
167
|
-
versioned workspace requires an explicit absolute path inside the Git project
|
|
168
|
-
and refuses ignored or unsafe target directories.
|
|
169
|
-
- Approved active claims compile into Markdown proposals with frontmatter,
|
|
170
|
-
source claim ids, evidence references, snapshot context, a catalog, and an
|
|
171
|
-
append-only change log. Proposed pages are not silently published.
|
|
172
|
-
- The knowledge init, status, compile, apply, and lint commands provide the
|
|
173
|
-
operator path. Applying a proposal protects a manual page edit by default;
|
|
174
|
-
an explicit force flag is the only overwrite path and is logged.
|
|
175
|
-
- Workspace lint detects malformed frontmatter, broken links, orphan pages,
|
|
176
|
-
missing claims/evidence, superseded claims, unresolved conflicts, stale code
|
|
177
|
-
snapshots, and protected manual edits.
|
|
178
|
-
- The compiled CLI was smoke-tested in an isolated Git project through init,
|
|
179
|
-
compile, apply, and lint with a source-backed claim.
|
|
180
|
-
|
|
181
|
-
## 1.2 Delivery Complete, Released As 1.2.1
|
|
182
|
-
- Phase 4 added canonical Markdown workflows, safe adapter preview/apply, import,
|
|
183
|
-
selection, and verification receipts. Agent instruction files are render
|
|
184
|
-
targets, not the workflow source of truth.
|
|
185
|
-
- Phase 5 routes Project Context and Context Pack through one bounded Workset
|
|
186
|
-
assembler. It ranks current facts, claims, knowledge pages, workflows, and
|
|
187
|
-
cautions instead of dumping unrelated narrative memory.
|
|
188
|
-
- Phase 6 makes refresh, claim derivation/requalification, knowledge
|
|
189
|
-
compile/lint, workflow indexing, retention, and consolidation durable
|
|
190
|
-
maintenance work. Interactive MCP requests do not scan an entire corpus.
|
|
191
|
-
- Phase 7 adds an optional local semantic CodeGraph boundary. Lite remains the
|
|
192
|
-
durable local fallback; external output is used only from a healthy existing
|
|
193
|
-
`.codegraph` index, is validated, bounded, and never persisted as raw code.
|
|
194
|
-
- The advanced `memorix_knowledge` MCP action tool now exposes explicit
|
|
195
|
-
workspace/proposal/workflow management only in `team` and `full` profiles.
|
|
196
|
-
- Completed local release gates: lint, full test suite, production build,
|
|
197
|
-
package-content audit, isolated Windows npm install, stdio MCP smoke, and
|
|
198
|
-
HTTP dashboard/lifecycle smoke.
|
|
199
|
-
- Release audit also incorporated #130 before publication: the optional SQLite
|
|
200
|
-
runtime now uses the Node-26-compatible `better-sqlite3` 12.x line, with a
|
|
201
|
-
dedicated Node 26 CI smoke that opens an in-memory database.
|
|
202
|
-
- The release was completed as `memorix@1.2.1`. Its next development line is
|
|
203
|
-
[1.2.2 Memory Control Plane](../1.2.2-MEMORY-CONTROL-PLANE.md), which
|
|
204
|
-
consolidates these capabilities instead of adding another disconnected
|
|
205
|
-
memory feature.
|
|
206
|
-
|
|
207
|
-
## 1.2.2 Control Plane
|
|
208
|
-
- `TaskWorkset` already has bounded rendering and source-aware claims, but
|
|
209
|
-
SessionStart handoff and legacy context surfaces need one shared admission,
|
|
210
|
-
budget, and receipt contract.
|
|
211
|
-
- First implementation slice complete: the shared `ContextReceipt` records
|
|
212
|
-
delivery target, selected source ids/kinds, trust/freshness, exact budget
|
|
213
|
-
omissions, queued refreshes, and Workset selection time without entering the
|
|
214
|
-
agent prompt. Project Context, Context Pack, and full SessionStart injection
|
|
215
|
-
now carry the same delivery-target semantics; `memorix explain` exposes the
|
|
216
|
-
receipt in text and JSON.
|
|
217
|
-
- Budget selection now keeps a knowledge page dependent on a Claim out of the
|
|
218
|
-
prompt when its qualifying Claim could not fit. The receipt records both as
|
|
219
|
-
withheld instead of presenting an orphaned page path as usable knowledge.
|
|
220
|
-
- Phase 3 admission slice complete: automatic observations now persist an
|
|
221
|
-
`ephemeral`, `candidate`, or `qualified` state and a reason. Hooks and the
|
|
222
|
-
internal orchestrator capture concrete evidence as candidates, keep routine
|
|
223
|
-
success/telemetry ephemeral, and drop low-signal activity without writing it.
|
|
224
|
-
Automatic capture stays quiet in the host agent.
|
|
225
|
-
- A deduplicated `observation-qualify` maintenance job runs after CodeGraph
|
|
226
|
-
refresh. It requires a scan no older than the capture and at least one
|
|
227
|
-
current code reference before upgrading a candidate. Qualification does not
|
|
228
|
-
create a Claim; explicit saves and Git remain the Claim boundary.
|
|
229
|
-
- Auto Project Context, automatic session L1 delivery, Wiki/Knowledge Graph
|
|
230
|
-
compilation, and graph-context packets exclude candidates and ephemeral
|
|
231
|
-
traces. Ordinary search prefers qualified material, while explicit lookup
|
|
232
|
-
can still inspect pending evidence.
|
|
233
|
-
- Pending automatic evidence is also excluded from automatic consolidation so
|
|
234
|
-
a later qualification can still inspect its original source grain. Retention
|
|
235
|
-
explanations no longer describe an unqualified `core` candidate as immune.
|
|
236
|
-
- Actor and visibility enforcement is now one policy shared by MCP retrieval,
|
|
237
|
-
auto context, CLI/TUI, dashboards, knowledge/graph projections, and scoped
|
|
238
|
-
maintenance. Legacy observations remain project-visible; new records may be
|
|
239
|
-
`project`, `team`, or `personal` with an explicit creator and recipients.
|
|
240
|
-
Missing identity never grants private or team visibility.
|
|
241
|
-
- Automatic hooks and orchestrator traces begin personal. A verified hook
|
|
242
|
-
candidate may become project evidence only when qualification proves a
|
|
243
|
-
current code reference. Targeted handoffs are readable by sender and
|
|
244
|
-
recipient but writable only by sender; broadcasts require an active project
|
|
245
|
-
team member.
|
|
246
|
-
- Automatic orchestration lesson lookup is explicitly project-scoped, so its
|
|
247
|
-
prompt injection cannot read personal or team-scoped records.
|
|
248
|
-
- Topic-key writes now check mutation scope before storage, and the
|
|
249
|
-
project-attribution guard receives only memories visible to its current
|
|
250
|
-
reader. This closes both guessed-key overwrite and cross-project existence
|
|
251
|
-
hints without hiding historical project knowledge after upgrade.
|
|
252
|
-
- The embedded SDK remains project-visible when unbound. CLI and the local TUI
|
|
253
|
-
now share the same explicit actor reader: an unbound terminal sees project
|
|
254
|
-
memory only, while `memorix identity join|use` (or one-shot `--as`) grants
|
|
255
|
-
only that active project member's personal/team visibility and coordination
|
|
256
|
-
ergonomics. `identity clear` returns to project scope; private evidence
|
|
257
|
-
cannot be promoted into shared skills or generated project skills.
|
|
258
|
-
- CLI control-plane ergonomics now include `--cwd`, kebab-case flag aliases,
|
|
259
|
-
action-oriented namespace help, explicit `memorix workbench`, and
|
|
260
|
-
file/stdin transfer import/export. Root memory aliases use the same
|
|
261
|
-
canonical command paths as `memorix memory`; CLI and MCP exports are filtered
|
|
262
|
-
by the same active reader so an unbound backup cannot contain private/team
|
|
263
|
-
observations.
|
|
264
|
-
- Direct CLI and foreground Code Memory refreshes now enqueue qualification as
|
|
265
|
-
well as claim requalification, and they register the local project target
|
|
266
|
-
needed by the isolated control-plane worker. The host hook path persists its
|
|
267
|
-
candidate before scheduling a refresh, avoiding a fast-worker race where a
|
|
268
|
-
scan could predate the capture.
|
|
269
|
-
- Compiled-artifact smoke: an isolated Codex `PostToolUse` hook returned only
|
|
270
|
-
`continue: true`, stored a `candidate`, and the isolated background control
|
|
271
|
-
plane upgraded it to `qualified` after a real Code Memory scan with one
|
|
272
|
-
current reference. Embeddings were deliberately disabled for this
|
|
273
|
-
deterministic local smoke. The full test suite, TypeScript check, and
|
|
274
|
-
production build also passed after the admission policy was reconciled with
|
|
275
|
-
OpenCode's concise technical response events.
|
|
276
|
-
- #135 remains a contributor-owned session-handoff candidate for the bounded
|
|
277
|
-
`HandoffPacket` phase. It is not copied or silently replaced.
|
|
278
|
-
- #133/#134 remain open pending an official provider-capability layer and a
|
|
279
|
-
safe agent-facing media path. The existing OpenRouter text embedding path is
|
|
280
|
-
the supported baseline.
|
|
281
|
-
- See [1.2.2 Memory Control Plane](../1.2.2-MEMORY-CONTROL-PLANE.md) for
|
|
282
|
-
phases, acceptance gates, non-goals, and release criteria.
|
|
283
|
-
|
|
284
|
-
## 1.2.6 Pi Overlay Integrity
|
|
285
|
-
- Replaced the stale Memcode TUI command list with one registry derived from
|
|
286
|
-
the executable Pi-compatible built-ins plus Memorix-native memory actions.
|
|
287
|
-
`/commands` and editor completion no longer advertise non-dispatched `/git`,
|
|
288
|
-
`/help`, `/config`, or synthetic session commands; nested `/memory `
|
|
289
|
-
completion is available in the live input path.
|
|
290
|
-
- Made `/memory delete <id>` execute the intended project-memory resolution,
|
|
291
|
-
including fresh project-store initialization. The no-argument form remains a
|
|
292
|
-
safe list-and-select prompt.
|
|
293
|
-
- Adopted Pi's current model-initiated bash session contract without changing
|
|
294
|
-
general harness behavior: Memcode supplies current `PI_*` session/model
|
|
295
|
-
metadata by default, removes stale inherited values, and lets an extension
|
|
296
|
-
opt out explicitly.
|
|
297
|
-
- Added a pinned, read-only Pi upstream audit manifest and maintainer command.
|
|
298
|
-
Large upstream comparisons fall back from GitHub's capped file list to a
|
|
299
|
-
recursive official Git-tree diff before any manual adoption decision.
|
|
300
|
-
- Completed the Node built-in SQLite compatibility path instead of treating it
|
|
301
|
-
as a degraded happy-path fallback: prepared statements now accept complete
|
|
302
|
-
row objects like `better-sqlite3`, and synchronous transactions implement
|
|
303
|
-
deferred, immediate, and exclusive entry points. This unblocks task claims,
|
|
304
|
-
coordination, and Knowledge Workspace review when the optional native module
|
|
305
|
-
is absent.
|
|
306
|
-
- Release polish: bundled `memcode --version` resolves the verified public
|
|
307
|
-
Memorix package version; `memorix context --task "..."` no longer requires a
|
|
308
|
-
redundant positional argument; and every shipped versioned plugin manifest
|
|
309
|
-
is aligned with the public release version.
|
|
310
|
-
- Final verification after the last Memcode change: `npm run lint`, the root
|
|
311
|
-
production build, the root test suite, and the complete Memcode suite all
|
|
312
|
-
passed. The Memcode suite reported 158 passing files / 1474 passing tests
|
|
313
|
-
(with its 5 opt-in skipped files / 43 skipped tests). Pi upstream audit
|
|
314
|
-
through `v0.82.1` also passed.
|
|
315
|
-
- A fresh isolated installation of the final tarball verified `memorix` and
|
|
316
|
-
`memcode` version parity, all seven versioned plugin manifests, both Context
|
|
317
|
-
CLI forms, and a real stdio MCP handshake: 43 tools were discoverable and
|
|
318
|
-
`memorix_project_context` returned an Autopilot Brief.
|
|
319
|
-
|
|
320
|
-
## 1.2.7 Native Context Continuity
|
|
321
|
-
- Added a project-scoped SQLite checkpoint store that separates host-native
|
|
322
|
-
compaction evidence from Observations, claims, Knowledge Workspace pages,
|
|
323
|
-
and transcript storage. It captures preflight markers, native summaries
|
|
324
|
-
where the host exposes them, lifecycle-only completion where it does not,
|
|
325
|
-
idempotent retry handling, one-time delivery state, and archival.
|
|
326
|
-
- Pi and Oh-my-Pi extensions now pass through their real `compactionEntry`
|
|
327
|
-
fields. Codex and Claude Code use their documented compact lifecycle paths
|
|
328
|
-
without fabricating a host summary or changing the host compactor.
|
|
329
|
-
- Codex consumes one bounded checkpoint at compact `SessionStart`; Claude Code
|
|
330
|
-
consumes one on the next official `UserPromptSubmit` delivery point. Explicit
|
|
331
|
-
CLI/MCP continuation can carry at most one recent source-labelled checkpoint
|
|
332
|
-
across configured agents, while ordinary new tasks remain free of it.
|
|
333
|
-
- Added `memorix checkpoint list|show|context|archive` and the full-profile
|
|
334
|
-
`memorix_compaction_checkpoint` MCP action. The default MCP profile remains
|
|
335
|
-
unchanged to protect agent context budgets.
|
|
336
|
-
- Final verification passed: focused compaction, hook, Workset, CLI, and MCP
|
|
337
|
-
tests; the full root test suite; TypeScript check; production build; npm
|
|
338
|
-
package dry-run; an isolated installed-artifact Codex/CLI/MCP smoke; and an
|
|
339
|
-
isolated Claude Code handoff/continuation smoke. `npm publish --dry-run
|
|
340
|
-
--ignore-scripts` accepted the public 1.2.7 tarball; the full prepublish
|
|
341
|
-
build/test path is covered by the root release gates above.
|
|
342
|
-
|
|
343
|
-
## 1.2.8 Vector Recovery and Codex Installation Clarity
|
|
344
|
-
- Reworked vector backfill failure handling so transient provider or local
|
|
345
|
-
index failures leave one durable, diagnosable retry with bounded backoff
|
|
346
|
-
instead of consuming the maintenance retry budget in each new MCP process.
|
|
347
|
-
Healthy work clears stale diagnostics, revives an old failed vector job when
|
|
348
|
-
needed, and resolves superseded historical failure rows once recovery is
|
|
349
|
-
complete. Provider calls are batched while process-local Orama writes remain
|
|
350
|
-
serialized.
|
|
351
|
-
- Corrected dashboard and HTTP control-plane vector reporting. A process that
|
|
352
|
-
does not own a hydrated MCP search index now states that vector status belongs
|
|
353
|
-
to the active MCP session rather than showing a misleading green `0 / 0`.
|
|
354
|
-
- Corrected Codex install diagnostics: an enabled official Codex plugin owns
|
|
355
|
-
its `.mcp.json` `memorix serve` endpoint, while first-use hook approval is an
|
|
356
|
-
explicit host consent step rather than a broken installation. Plugin setup
|
|
357
|
-
removes only the legacy source-path `memorix` entry after successful plugin
|
|
358
|
-
installation; custom user-managed MCP entries are preserved.
|
|
359
|
-
- Release verification: focused regression tests (96 assertions), `npm run
|
|
360
|
-
lint`, production build, and the full root test suite (all passed, 280s).
|
|
361
|
-
A live OpenRouter `qwen/qwen3-embedding-8b` batch returned two 4096d vectors.
|
|
362
|
-
An isolated tarball install reported CLI version `1.2.8`; its stdio MCP
|
|
363
|
-
handshake exposed 44 tools and completed `memorix_project_context`, and its
|
|
364
|
-
CLI `context --json` path returned a structured Workset. `npm pack --dry-run`
|
|
365
|
-
and `npm publish --dry-run --ignore-scripts` both accepted the final tarball
|
|
366
|
-
without manifest normalization warnings.
|
|
367
|
-
|
|
368
|
-
## 1.3 Curated Long-Term Memory
|
|
369
|
-
- Added an additive SQLite long-term-memory layer with explicit episodic,
|
|
370
|
-
semantic, and procedural kinds; independent scope and portability; source
|
|
371
|
-
evidence; and an auditable `candidate -> qualified -> approved ->
|
|
372
|
-
archived/superseded` lifecycle. Existing Observation, Claim, Wiki, Workflow,
|
|
373
|
-
Session, and Code State stores remain their own canonical sources.
|
|
374
|
-
- Added the complete CLI lifecycle surface and extended the existing MCP store/
|
|
375
|
-
detail routes without increasing the default seven-tool micro profile. Task
|
|
376
|
-
Worksets expose at most three relevant approved or qualified records as short
|
|
377
|
-
`durable:<id>` references for progressive expansion.
|
|
378
|
-
- Explicit `user + portable` manual/user-confirmed records can be reused across
|
|
379
|
-
local projects for the same owner. Code, Git, tests, sessions, workflows,
|
|
380
|
-
observations, claims, and team/project evidence remain project-bound.
|
|
381
|
-
- Semantic durable retrieval is an optional cross-language/paraphrase fallback
|
|
382
|
-
after lexical selection. Provider initialization and the one batch request use
|
|
383
|
-
a 1.8-second no-retry budget; API request cancellation is propagated to the
|
|
384
|
-
remote fetch so an unavailable embedding service cannot retain a CLI process.
|
|
385
|
-
- Verification in progress: focused lifecycle/CLI/MCP/embedding tests, a real
|
|
386
|
-
packed-package cross-project Chinese-to-English retrieval smoke, and an
|
|
387
|
-
isolated Claude Code plugin user test that returned the reviewed release
|
|
388
|
-
procedure without inspecting project files.
|