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 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
@@ -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.15.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. Opening a memgineering
36
- skill page saves nothing; measured: a model passed the command as
37
- a skill argument, told the user it was saved, and nothing was stored. Done
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 about the user never go into this tool's own memory files —
41
- the brain is the one store every tool they use shares.
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 # session-start summary + rules before an edit
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