memgineering 0.25.1 → 0.25.3
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
CHANGED
|
@@ -11,6 +11,90 @@ language the reader wants. The bilingual rule the monorepo applies to
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [0.25.3] — 2026-10-06
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- **`onboard` no longer asks again for a base note you filled in with prose.**
|
|
19
|
+
On a hosted brain, a `USER.md` or other `01_BASE/` note whose prompt you
|
|
20
|
+
replaced with your own sentences still counted as unfilled, so `onboard` told
|
|
21
|
+
the agent to ask the same questions and write the body again — over what you
|
|
22
|
+
had written. A note counts as filled once its body is your words, prose or
|
|
23
|
+
bullets. Hosted `resurface` no longer labels such a note "not filled in yet"
|
|
24
|
+
either.
|
|
25
|
+
- **`onboard` keeps asking about a note whose body is still the prompt**, even
|
|
26
|
+
after a `revise` put a claim in its frontmatter. On a folder brain this used
|
|
27
|
+
to take the note off the list. The same goes for a note whose prompt was
|
|
28
|
+
deleted and nothing written in its place.
|
|
29
|
+
- **A starter note saved with Windows line endings (CRLF) or a byte-order mark
|
|
30
|
+
is still recognised as the untouched template** by `recall`, `resurface` and
|
|
31
|
+
`onboard`. `revise`'s "the body is still the prompt" warning now notices it
|
|
32
|
+
too.
|
|
33
|
+
|
|
34
|
+
### Agent guidance
|
|
35
|
+
|
|
36
|
+
- `memgineering-writing` and `onboard`'s `how_to_write`: `onboard` lists the
|
|
37
|
+
base notes whose body has not been written yet, and editing one directly is
|
|
38
|
+
right only while that is so.
|
|
39
|
+
- `memgineering-recall`: a card marked `not filled in yet` is exactly what
|
|
40
|
+
`init` wrote, line endings aside.
|
|
41
|
+
|
|
42
|
+
## [0.25.2] — 2026-10-05
|
|
43
|
+
|
|
44
|
+
Small fixes found by an independent review of 0.25.0 and 0.25.1. Nothing here
|
|
45
|
+
changes what you type.
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- **A refresh `setup` keeps your choices.** `memgineering setup` run again
|
|
50
|
+
without `--hook` or `--auto-update` used to turn both back on. It now keeps
|
|
51
|
+
the hook and auto-update choices recorded on this machine, including a hook
|
|
52
|
+
choice made on the `setup --web` screen. On a machine set
|
|
53
|
+
up before this release, the hook choice is read from whether the hook is
|
|
54
|
+
installed. A kept choice is no longer listed as a default nobody was asked
|
|
55
|
+
about.
|
|
56
|
+
- **A command no longer waits on the update check.** Before a background
|
|
57
|
+
install, the CLI asks npm, pnpm and bun where they keep global packages. That
|
|
58
|
+
could hold your command open for up to 15 seconds after its output, and
|
|
59
|
+
longer behind a version manager. The CLI now asks all three at once and gives
|
|
60
|
+
up after 1.5 seconds. If it cannot tell how memgineering was installed, it
|
|
61
|
+
installs nothing and prints the usual "is available — `memgineering update`"
|
|
62
|
+
line.
|
|
63
|
+
- **The before-edit hook never starts an update**, even when it is called with
|
|
64
|
+
a flag first (`memgineering --json guard`). The same holds for `resurface`.
|
|
65
|
+
- **Two commands starting together cannot both start a background install.**
|
|
66
|
+
This could happen when the previous install had been left unfinished. If the
|
|
67
|
+
lock behind this fix is ever left in place, `memgineering update` says so
|
|
68
|
+
(`update_claim_stuck`) instead of reporting another install in progress.
|
|
69
|
+
- **Both sides of a conflict appear in recall.** When a note contradicted an
|
|
70
|
+
unfilled base template, the limit of two template cards could hide one side
|
|
71
|
+
while recall said "Both sides are above". Both sides now show, even if that
|
|
72
|
+
means more than two template cards, and the line counting held-back
|
|
73
|
+
templates says so.
|
|
74
|
+
- **Hosted recall by meaning no longer drops a base note you have filled in.**
|
|
75
|
+
A `USER.md` or other `01_BASE/` note you rewrote in your own words was
|
|
76
|
+
treated as an untouched template and left out. Only an exact, untouched
|
|
77
|
+
template is held back now.
|
|
78
|
+
- **A chat-app connector cannot change a rule by other routes.** Retiring,
|
|
79
|
+
restoring or undoing a rule from a connector is now refused with
|
|
80
|
+
`rule_needs_a_person`, as editing one already was. That includes undoing the
|
|
81
|
+
`remember` that created a rule. A connector's `undo` with no id undoes only
|
|
82
|
+
that app's own changes, including those made before its sign-in was
|
|
83
|
+
refreshed. If it has made none, it is told so and nothing is undone.
|
|
84
|
+
- Hosted `retire` and `unretire` no longer say that `undo` cannot reverse
|
|
85
|
+
them. It can, and their hint now names both ways back.
|
|
86
|
+
- `setup --help` gives ChatGPT its own route: Settings → Developer mode → add
|
|
87
|
+
an MCP server. Claude.ai, Claude Desktop and Cowork use a custom connector.
|
|
88
|
+
- `setup --web` prints its terminal lines in English.
|
|
89
|
+
|
|
90
|
+
### Agent guidance
|
|
91
|
+
|
|
92
|
+
- `memgineering-setup`: turning auto-update off with
|
|
93
|
+
`setup --agent --auto-update off` no longer needs `--hook`, because the hook
|
|
94
|
+
stays as this machine recorded it. It also explains `update_claim_stuck`.
|
|
95
|
+
- `memgineering-recall`: a template card that is one side of a conflict comes
|
|
96
|
+
on top of the two-card limit.
|
|
97
|
+
|
|
14
98
|
## [0.25.1] — 2026-10-05
|
|
15
99
|
|
|
16
100
|
A security release. Upgrade if you use `setup --web`, or a hosted brain with a
|
package/assets/MEMGINEERING.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: memgineering
|
|
3
3
|
description: Use whenever the user refers to something they told you before, asks what was decided, tells you something worth keeping, or settles something that should hold next time. The memory lives in their own folder and outlives this session; check it before answering from guesswork, and write to it when you learn something durable.
|
|
4
4
|
type: skill
|
|
5
|
-
version: 0.25.
|
|
5
|
+
version: 0.25.3
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# memgineering
|
|
@@ -205,13 +205,14 @@ next brain, and three of them said it out loud. Reading another brain does not
|
|
|
205
205
|
move the machine's pointer.
|
|
206
206
|
|
|
207
207
|
**Cards that are not answers.** A card marked `not filled in yet` is one of the
|
|
208
|
-
five `01_BASE/` files, still
|
|
208
|
+
five `01_BASE/` files, still exactly what `init` wrote (line endings aside). Nobody has answered
|
|
209
209
|
it, so it is evidence of nothing — do not quote it back as what they think. When
|
|
210
210
|
every card carries that mark, recall says so above them (`--json`:
|
|
211
211
|
`scaffolding: true`), and that is the moment to offer to fill them in rather
|
|
212
212
|
than answer from them — see `memgineering-writing`. At most two such cards come
|
|
213
|
-
back per answer
|
|
214
|
-
|
|
213
|
+
back per answer, plus any that is one side of a conflict, so both sides of a
|
|
214
|
+
conflict always show; the rest are counted (`templates_withheld`), never
|
|
215
|
+
silently dropped, and nothing anyone wrote is ever held back.
|
|
215
216
|
|
|
216
217
|
The mark disappears once the user writes in the file. A filled-in base note is
|
|
217
218
|
often the best answer in the brain: _who am I_, _what am I not allowed to do_,
|
|
@@ -127,7 +127,8 @@ or npx copy is never touched — it only gets the notice; nor is anything instal
|
|
|
127
127
|
from a session hook or under CI). One install runs at a time: `memgineering
|
|
128
128
|
update` run while a background install is going answers `update_in_progress`
|
|
129
129
|
and installs nothing — wait a few minutes and run it again; it reports whether
|
|
130
|
-
that install worked.
|
|
130
|
+
that install worked. `update_claim_stuck` means a crashed install's leftover
|
|
131
|
+
could not be cleared; its hint names the folder to delete. `--hook on` means note
|
|
131
132
|
summaries and their standing rules reach an agent unasked. Recommend both, but
|
|
132
133
|
they are theirs to decide.
|
|
133
134
|
|
|
@@ -513,7 +514,7 @@ answers without changing its name and the index has to be laid down again.
|
|
|
513
514
|
## Turning things off
|
|
514
515
|
|
|
515
516
|
```
|
|
516
|
-
memgineering setup --agent --auto-update off
|
|
517
|
+
memgineering setup --agent --auto-update off # the hook stays as this machine recorded it
|
|
517
518
|
memgineering unlink # stop reading a brain; notes untouched
|
|
518
519
|
memgineering unlink --purge # also delete the local index and undo snapshots
|
|
519
520
|
```
|
|
@@ -359,7 +359,7 @@ so an empty one costs something every time.
|
|
|
359
359
|
memgineering onboard
|
|
360
360
|
```
|
|
361
361
|
|
|
362
|
-
Says which
|
|
362
|
+
Says which still have no body written and what to ask for each. Run it first rather
|
|
363
363
|
than working from a script — asking somebody a question they already answered is
|
|
364
364
|
its own kind of forgetting. They may also ask outright ("set up my memory", "fill in my profile"); same job.
|
|
365
365
|
|
|
@@ -404,7 +404,7 @@ always true and you have only just been told them, so dating them today is wrong
|
|
|
404
404
|
in the one field a memory store exists to get right.
|
|
405
405
|
|
|
406
406
|
**This is the ONE place you edit a brain file directly** — `01_BASE/` only, and
|
|
407
|
-
only while
|
|
407
|
+
only while its body has not been written yet. After that first pass these are theirs like
|
|
408
408
|
any other note.
|
|
409
409
|
|
|
410
410
|
**Do not invent an answer to move on, and do not fill a file because it is
|