memgineering 0.17.0 → 0.18.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 CHANGED
@@ -11,6 +11,54 @@ language the reader wants. The bilingual rule the monorepo applies to
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [0.18.1] — 2026-08-30
15
+
16
+ ### Fixed
17
+
18
+ - **Choosing "in an account" now actually connects you to the brain it made.**
19
+ 0.18.0 created the hosted brain on the server and stopped there, so the
20
+ command right after a finished setup could answer "no brain is connected"
21
+ while the brain sat there, real and unreachable. Setup records which brain
22
+ this machine reads, the way `push` and `use` already did.
23
+
24
+ ## [0.18.0] — 2026-08-30
25
+
26
+ ### Added
27
+
28
+ - **Setting up happens on a screen now.** `memgineering setup --web` opens the
29
+ wizard at memgineering.com/setup — sign in, choose where the memory lives,
30
+ name a brain or point at a folder, confirm — and this machine applies it when
31
+ you finish. The page is part of the site, so it looks like the product and
32
+ signs you in the way the site does.
33
+ - **Running `memgineering` on its own opens that screen**, when you are on a
34
+ terminal and setup has not been done. Nothing to copy, nothing to paste.
35
+ - **Existing notes can come with you.** If you already keep markdown on this
36
+ machine, the screen offers to carry that folder up to the new brain. Folder
37
+ names are sent only after the screen asks for them, and never the contents.
38
+
39
+ ### Changed
40
+
41
+ - **`setup --web` returns instead of blocking.** With nobody watching a
42
+ terminal it leaves the waiting to a background process, so an agent's shell
43
+ call cannot time out while somebody reads the screen. `--wait` restores the
44
+ old blocking behaviour for scripts that want it.
45
+ - **One sign-in for the whole install.** The screen uses your memgineering.com
46
+ session, so a person already signed in is not asked again — and there is no
47
+ separate device code to approve on top of it.
48
+ - **The setup screen no longer runs on your machine.** The 127.0.0.1 page and
49
+ its local server are gone; `setup --human` and `setup --agent` remain for
50
+ machines with no browser or when you would rather the agent decided.
51
+ - **Setup stops claiming you must restart.** Commands and recall work
52
+ immediately; only the guidance files setup writes wait for your next
53
+ conversation, and that is what it now says.
54
+
55
+ ### Agent guidance
56
+
57
+ - The install banner and `memgineering-setup` changed: `setup --web` is the
58
+ default path, it returns straight away, and the pairing code it prints is
59
+ meant to be shown to the user — the screen asks them to compare it. Restart
60
+ your agent session after upgrading so the new guidance is loaded.
61
+
14
62
  ## [0.17.0] — 2026-08-30
15
63
 
16
64
  ### 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.17.0
5
+ version: 0.18.1
6
6
  ---
7
7
 
8
8
  # memgineering
@@ -87,4 +87,4 @@ Tools without one (e.g. Antigravity): READ `<tool-home>/skills/memgineering-<nam
87
87
  when its topic comes up.
88
88
 
89
89
  If `memgineering: command not found`, install with `npm i -g memgineering`, then
90
- `memgineering setup`.
90
+ `memgineering setup --web`.
@@ -29,6 +29,34 @@ that can read it.
29
29
 
30
30
  ## 1. Register with the agents
31
31
 
32
+ **Default: open the screen.** `memgineering setup --web` starts a setup session,
33
+ prints a short pairing code, opens memgineering.com/setup in their browser, and
34
+ RETURNS — in seconds, with the screen still up. It does not block until they
35
+ finish, so run it and keep going in the same turn.
36
+
37
+ ```
38
+ memgineering setup --web # the screen; the normal answer
39
+ memgineering setup --web --print-url # no browser here — hand over the link
40
+ ```
41
+
42
+ Three things to do after running it:
43
+
44
+ 1. Tell them, in their language, that their browser has a setup screen open.
45
+ 2. Show them the pairing code it printed. The screen's first question is
46
+ whether they started this, and it asks them to compare that code — the
47
+ defence against somebody being sent a setup link.
48
+ 3. Stop. Nothing installs until they finish on the screen, and this machine
49
+ picks it up on its own when they do. There is nothing to poll and nothing
50
+ to wait for.
51
+
52
+ The screen asks everything `--agent` takes from flags — sign in, where the
53
+ memory lives, which brain, which tools, auto-update, the session hook — with
54
+ the recommended answer pre-selected. A person who is already signed in to
55
+ memgineering.com does not sign in again: that session IS the identity, and one
56
+ sign-in covers both halves (below).
57
+
58
+ **Only when they ask you to decide for them**, answer from flags instead:
59
+
32
60
  ```
33
61
  memgineering setup --agent \
34
62
  --tools claude,codex \ # default: everything detected
@@ -37,37 +65,32 @@ memgineering setup --agent \
37
65
  --error-telemetry on # anonymized crash reports; unset = undecided (off)
38
66
  ```
39
67
 
40
- `--dry-run` reports what would change without changing it.
68
+ `--dry-run` reports what would change without changing it. `--human` draws the
69
+ same questions as a checkbox list in your terminal, for a machine with no
70
+ browser and a person sitting at it.
41
71
 
42
- **The account is the default, and the browser is not.** `setup --agent` starts a
43
- sign-in on its own: it prints a short pairing code and returns immediately,
44
- opening nothing. Show the user the code they approve it in their browser while
45
- you keep working, and the next command picks the token up. Nothing exists on the
46
- server until they approve.
72
+ **`--no-login` is how someone says "this machine only".** It is a flag on the
73
+ `--agent` path, not a step on the screen: a brain that lives in a folder here
74
+ cannot follow them to their phone or their next laptop, and that is discovered
75
+ weeks later, by which time the notes are in the wrong place. On the screen the
76
+ same choice is made in front of them, with the differences side by side.
47
77
 
48
- **One sign-in covers both halves (0.17.0+).** The approval also links the
49
- user's registry account (same Google account, automatic), so the claim stores a
78
+ **One sign-in covers both halves (0.17.0+).** Signing in also links the user's
79
+ registry account (same Google account, automatic), so the credentials hold a
50
80
  registry session next to the brain token. `memgineering whoami` reports both —
51
81
  the brain identity and a `registry:` line with the username. If the registry
52
82
  line says "not linked", the link simply did not happen at sign-in time (older
53
83
  server, registry briefly down); a fresh `logout` + `login` links it. Never
54
84
  treat a missing registry line as a failed brain sign-in — the brain token
55
- stands on its own. On the approval page itself, a user already signed in to
56
- memgineering.com approves with one click; a signed-out user signs in right
57
- there first (Google in a popup). Consent is asked exactly once, when an
58
- account is first created.
59
-
60
- `--no-login` is how someone says "this machine only". Offer it, do not assume it:
61
- a brain that lives in a folder here cannot follow them to their phone or their
62
- next laptop, and that is discovered weeks later, by which time the notes are in
63
- the wrong place. Ask which they want in one sentence before you run anything.
64
-
65
- **If they would rather set it up themselves**, hand them a screen instead of
66
- doing it: `setup --human` draws a checkbox list in your terminal, and
67
- `setup --web` opens a page in their own browser (`--web --print-url` when you
68
- cannot open one for them). Both ask the same questions `--agent` takes from
69
- flags, and `--web` is the one to reach for when the user is not reading your
70
- terminal at all.
85
+ stands on its own. Consent is asked exactly once, when an account is first
86
+ created.
87
+
88
+ **When the setup finishes, say what is true and no more.** Commands work
89
+ immediately — `recall`, `remember`, the session hook. What waits is the
90
+ guidance files setup just wrote: an agent reads those at the start of a
91
+ conversation, so they arrive with the next one. Do not tell the user they must
92
+ restart. (Measured: a fresh agent relayed "restart required" as fact, the user
93
+ checked, and it was not one.)
71
94
 
72
95
  **Ask before setting policy for them.** Auto-update means the tool updates
73
96
  itself; `--hook on` means note summaries and their standing rules reach an agent
@@ -132,25 +155,30 @@ On Grok and Antigravity, run `memgineering resurface` yourself when you start
132
155
  work in a folder, and `memgineering rules` before you change anything — that is
133
156
  the same job the hooks do elsewhere, done by hand.
134
157
 
135
- ### When a person needs a screen, not flags
158
+ ### The screen, in more detail
136
159
 
137
160
  ```
138
- memgineering setup --human # checkbox screen in your terminal
139
- memgineering setup --web # a page in their own browser
161
+ memgineering setup --web # the default: a page in their own browser
140
162
  memgineering setup --web --print-url # no browser here — hand over the link
163
+ memgineering setup --human # checkbox screen in your terminal, no browser
141
164
  ```
142
165
 
143
- Reach for `--web` when the user is not reading your terminal at all. Its first
144
- screen is the account question, and it is theirs: the page explains what
145
- memgineering is, compares this machine against an account, and starts a sign-in
146
- only after they pick. **Do not pre-empt it by running `login` first.** If they
147
- already told you which way, pass `--login` / `--no-login` and the screen opens
148
- with that selected.
149
-
150
- It covers step 2 as well, with the same disclosure `link --dry-run` prints. The
151
- page serves on `127.0.0.1` with a one-time key and **the command does not return
152
- until it is answered or ten idle minutes pass** a screen nobody answered has
153
- set nothing up, so wait for it rather than reporting done.
166
+ The page is on memgineering.com, not on this machine the same site, the same
167
+ sign-in, the same design. So a person who is already signed in there is
168
+ recognised, and the sign-in they do on that screen is the ONLY one the whole
169
+ install asks for. **Do not run `login` first**; it adds an approval to a flow
170
+ that no longer needs one.
171
+
172
+ **The command returns; the screen does not.** With nobody watching a terminal
173
+ (you, a pipe, a CI job) the waiting half detaches and keeps going after your
174
+ command exits, so a slow reader cannot time your call out. `--wait` forces the
175
+ old behaviour of blocking until the screen is answered, for a script that
176
+ genuinely wants it.
177
+
178
+ It covers step 2 as well, with the same disclosure `link --dry-run` prints —
179
+ including, for someone who already keeps notes on this machine, the option to
180
+ carry that folder up to the account. Folder names are sent only after the
181
+ screen asks for them, and never their contents.
154
182
 
155
183
  ## 2. Connect a brain
156
184