memgineering 0.15.0 → 0.16.0
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 +42 -0
- package/assets/MEMGINEERING.md +7 -8
- package/assets/memgineering-setup/SKILL.md +13 -1
- package/dist/index.js +4866 -4748
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,48 @@ language the reader wants. The bilingual rule the monorepo applies to
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [0.16.0] — 2026-08-30
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- **Opt-in anonymized error reporting.** When the CLI itself breaks — the
|
|
19
|
+
server unreachable, the server's own 500, or an unhandled crash — it can
|
|
20
|
+
send an anonymous report: error kind, CLI/Node version, platform, and a
|
|
21
|
+
sanitized message excerpt (paths, tokens, and identifiers stripped;
|
|
22
|
+
200-character cap). Never note content, never commands, never identity —
|
|
23
|
+
the server table has no columns identity could land in, and expected
|
|
24
|
+
refusals (like `no vault is linked`) are never reported. Off by default:
|
|
25
|
+
`memgineering setup` asks once in a terminal, `--error-telemetry on|off`
|
|
26
|
+
answers by flag, and `MEMGINEERING_NO_TELEMETRY=1` overrides everything.
|
|
27
|
+
Reports are deleted after 90 days. The privacy policy
|
|
28
|
+
(api.memgineering.com/privacy, effective 2026-08-30) documents all of it.
|
|
29
|
+
|
|
30
|
+
### Agent guidance
|
|
31
|
+
|
|
32
|
+
- `memgineering-setup` explains the telemetry question and both
|
|
33
|
+
off-switches, so an agent running setup for someone can relay the decision
|
|
34
|
+
instead of guessing it. Setup never prompts without a terminal — an
|
|
35
|
+
unanswered question stays `undecided`, which behaves as off. Restart your
|
|
36
|
+
agent session after upgrading so the refreshed skill is what gets read.
|
|
37
|
+
|
|
38
|
+
## [0.15.1] — 2026-08-29
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- The 128-character cap on `scope` and `asked_from` is now spelled once, in
|
|
43
|
+
the engine both sides already read, instead of living as three hand-copies
|
|
44
|
+
that each admitted nothing would catch their drift. Same number everywhere;
|
|
45
|
+
no behaviour change.
|
|
46
|
+
|
|
47
|
+
### Agent guidance
|
|
48
|
+
|
|
49
|
+
- The hub's reflex table gains a fourth row: a vague opening — a new folder,
|
|
50
|
+
"where were we", picking work back up — is now a `memgineering resurface`
|
|
51
|
+
reflex, not just a bullet further down. Measured before and after on a
|
|
52
|
+
fast-tier model in the lab: the same session that skipped resurface twice
|
|
53
|
+
runs it first with the row in place, and the project-aware opening lands.
|
|
54
|
+
Restart your agent session after upgrading so the new hub is what gets read.
|
|
55
|
+
|
|
14
56
|
## [0.15.0] — 2026-08-29
|
|
15
57
|
|
|
16
58
|
### Added
|
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.
|
|
5
|
+
version: 0.16.0
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# memgineering
|
|
@@ -26,19 +26,19 @@ rule; an instruction scoped to "this file" or "here" ends with the task). Judge
|
|
|
26
26
|
| they settled something that should hold beyond this session (however phrased — e.g. "from now on…", "always…", "never…") | `memgineering remember "<their words>" --rule --reason "<why>"` |
|
|
27
27
|
| they corrected what you made, for this task (e.g. "again", "no, like this", showed the right way) | `memgineering remember "<what turned out right>" --reason "<their correction>"` — and if the correction is meant to hold beyond this session, that is the row above: add `--rule` |
|
|
28
28
|
| they asked about something that sounds already settled (e.g. "what did we decide", "how do we do this again") | `memgineering recall "<their words>"` FIRST, answer second |
|
|
29
|
+
| they opened vaguely — a new folder, "where were we", picking work back up | `memgineering resurface` FIRST — no query; answer from it |
|
|
29
30
|
|
|
30
31
|
When the words could mean just-this-task or from-now-on, do not guess a
|
|
31
32
|
binding rule: record it WITHOUT `--rule`, do the task, and ask in one line
|
|
32
33
|
whether it should hold from now on. A wrong rule silently binds every future
|
|
33
34
|
session; the question costs a second.
|
|
34
35
|
|
|
35
|
-
These are SHELL commands — run them with your shell tool
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
means the CLI printed `Remembered.` and an undo id.
|
|
36
|
+
These are SHELL commands — run them with your shell tool; measured: a model
|
|
37
|
+
passed one as a skill argument and told the user it was saved when nothing was
|
|
38
|
+
stored. Done means the CLI printed `Remembered.` and an undo id.
|
|
39
39
|
|
|
40
|
-
Durable facts
|
|
41
|
-
the
|
|
40
|
+
Durable user facts never go in this tool's own memory files — the brain is
|
|
41
|
+
the store every tool they use shares.
|
|
42
42
|
|
|
43
43
|
## When to reach for it
|
|
44
44
|
|
|
@@ -51,7 +51,6 @@ the brain is the one store every tool they use shares.
|
|
|
51
51
|
what you did and said it was right: `memgineering remember "<it>" --reason
|
|
52
52
|
"<why>"`. Reversible by design, so do not ask permission for ordinary
|
|
53
53
|
observations — but first `open boundaries`: it says what never to store.
|
|
54
|
-
- **A new folder, or "where were we"** — `memgineering resurface`, no query.
|
|
55
54
|
- **Their notes have piled up** — duplicates, notes that disagree:
|
|
56
55
|
`memgineering consolidate` finds candidates and changes nothing; changes are
|
|
57
56
|
proposed, then approved by them.
|
|
@@ -33,7 +33,8 @@ that can read it.
|
|
|
33
33
|
memgineering setup --agent \
|
|
34
34
|
--tools claude,codex \ # default: everything detected
|
|
35
35
|
--auto-update on \ # default: on, and recommended
|
|
36
|
-
--hook on
|
|
36
|
+
--hook on \ # session-start summary + rules before an edit
|
|
37
|
+
--error-telemetry on # anonymized crash reports; unset = undecided (off)
|
|
37
38
|
```
|
|
38
39
|
|
|
39
40
|
`--dry-run` reports what would change without changing it.
|
|
@@ -60,6 +61,17 @@ terminal at all.
|
|
|
60
61
|
itself; `--hook on` means note summaries and their standing rules reach an agent
|
|
61
62
|
unasked. Recommend both, but they are theirs to decide.
|
|
62
63
|
|
|
64
|
+
**Error telemetry is theirs to decide too, and defaults to off.** With
|
|
65
|
+
`--error-telemetry on`, the CLI sends an anonymous report when it ITSELF
|
|
66
|
+
breaks: error kind, CLI/Node version, platform, and a sanitized message
|
|
67
|
+
excerpt — never note content, commands, or anything naming them, and the
|
|
68
|
+
server has no columns identity could land in. Unset leaves it `undecided`
|
|
69
|
+
(behaves as off) so a person can be asked later; a terminal `setup` asks
|
|
70
|
+
once; without a terminal it never prompts. Two off-switches at any time:
|
|
71
|
+
`memgineering setup --error-telemetry off`, or `MEMGINEERING_NO_TELEMETRY=1`
|
|
72
|
+
in the environment. Deleted server-side after 90 days; the full contract is
|
|
73
|
+
at api.memgineering.com/privacy.
|
|
74
|
+
|
|
63
75
|
**`--hook off` removes them**, it does not merely decline to add them, so it is
|
|
64
76
|
the answer when someone already has the callbacks and has decided they do not
|
|
65
77
|
want them. Only groups memgineering wrote are taken out; anything else in that
|