instar 1.3.1011 → 1.3.1012
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/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-07-27T19:
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-07-27T19:56:42.745Z",
|
|
5
|
+
"instarVersion": "1.3.1012",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -5,6 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
## What Changed
|
|
7
7
|
|
|
8
|
+
Corrects the `rollout-evidence-ref` in `docs/specs/mutual-ssh-autobootstrap.md`. It named
|
|
9
|
+
`/multi-machine/mutual-ssh` — a path with no route anywhere in `src/`. The rollout has been marked
|
|
10
|
+
active and unmeasurable since the feature merged on 2026-07-21.
|
|
11
|
+
|
|
12
|
+
The readout was never missing. It is `GET /machines/ssh-health`, wired the whole time, and it
|
|
13
|
+
returns real data right now. The spec simply named the wrong address.
|
|
14
|
+
|
|
15
|
+
Spec frontmatter only. No runtime surface, no route added, no behaviour change.
|
|
16
|
+
|
|
8
17
|
Memory recall now retrieves semantically. Keyword matching becomes the fallback it was always
|
|
9
18
|
meant to be.
|
|
10
19
|
|
|
@@ -41,6 +50,16 @@ the fallback.
|
|
|
41
50
|
|
|
42
51
|
## What to Tell Your User
|
|
43
52
|
|
|
53
|
+
Some features are released carefully: switched on quietly first, and only turned up once there is
|
|
54
|
+
evidence they work. Each one's plan names the readout you check to see that evidence.
|
|
55
|
+
|
|
56
|
+
This feature's plan named a readout that does not exist — so there was no way to tell whether it was
|
|
57
|
+
working, and it would have sat in its cautious first stage forever. The readout it should have named
|
|
58
|
+
does exist and has all along.
|
|
59
|
+
|
|
60
|
+
Nothing about the feature changed. What changed is that its progress can now be read, and right now
|
|
61
|
+
it honestly reports that it is not ready yet — which is a much better answer than silence.
|
|
62
|
+
|
|
44
63
|
Your agent has two ways to search its own memory: one that matches on meaning, and one that
|
|
45
64
|
matches on words. The good one was built, fully switched on, and never called.
|
|
46
65
|
|
|
@@ -62,6 +81,9 @@ lookup, quietly, and everything after is fast.
|
|
|
62
81
|
|
|
63
82
|
## Summary of New Capabilities
|
|
64
83
|
|
|
84
|
+
- The mutual-SSH feature's graduation evidence is readable at `GET /machines/ssh-health` instead of
|
|
85
|
+
pointing at a path that returns nothing.
|
|
86
|
+
|
|
65
87
|
- Memory recall retrieves by meaning rather than keyword, using the embedding index that was
|
|
66
88
|
already built and populated but never called.
|
|
67
89
|
- Each recall reports which strategy served it, so running on the keyword fallback is
|
|
@@ -73,6 +95,26 @@ lookup, quietly, and everything after is fast.
|
|
|
73
95
|
|
|
74
96
|
## Evidence
|
|
75
97
|
|
|
98
|
+
Both paths probed live against the running server:
|
|
99
|
+
|
|
100
|
+
| path | result |
|
|
101
|
+
|---|---|
|
|
102
|
+
| `/multi-machine/mutual-ssh` (the ref as written) | **404** |
|
|
103
|
+
| `/machines/ssh-health` (the real readout) | **200** — `enrollmentState: ssh-bootstrap-blocked`, `pairs[0].mutual: false`, `standingKeyInstalled: false` |
|
|
104
|
+
|
|
105
|
+
So the graduation criterion — at least one peer pair with bidirectional readiness proof and no
|
|
106
|
+
blocking reason — is now evaluable, and currently, correctly, **not met**. Before this change,
|
|
107
|
+
"not met" and "not measurable" were the same 404.
|
|
108
|
+
|
|
109
|
+
The route is served from `src/server/routes.ts` (`router.get('/machines/ssh-health')`) reading
|
|
110
|
+
`MutualSshRuntime.status()`, so the corrected ref also satisfies the rollout-evidence lint.
|
|
111
|
+
|
|
112
|
+
**A correction to my own earlier diagnosis, recorded because it is the more useful finding.** I
|
|
113
|
+
first read the 404 and concluded the endpoint had never landed with the feature, and filed an action
|
|
114
|
+
to build it. It had landed, under a different name. Concluding absence from a single lookup, without
|
|
115
|
+
checking whether the thing exists elsewhere, is the same error this whole sweep is about — and I
|
|
116
|
+
made it while running the sweep.
|
|
117
|
+
|
|
76
118
|
New tests run against **unmodified source first**:
|
|
77
119
|
|
|
78
120
|
| run | result |
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Side-effects review — mutual-ssh rollout-evidence-ref correction
|
|
2
|
+
|
|
3
|
+
**Change:** one frontmatter line in `docs/specs/mutual-ssh-autobootstrap.md` —
|
|
4
|
+
`rollout-evidence-ref: /multi-machine/mutual-ssh` → `/machines/ssh-health`.
|
|
5
|
+
|
|
6
|
+
**Tier:** 0–1. Spec frontmatter only. No `src/` surface, no route, no config key, no persisted
|
|
7
|
+
state, no migration. Rollback is reverting one line.
|
|
8
|
+
|
|
9
|
+
## What reads this field
|
|
10
|
+
|
|
11
|
+
`scripts/lint-rollout-evidence-resolvable.js` (string-matches the ref against `src/`) and any
|
|
12
|
+
future rollout-graduation reader. Nothing at runtime dereferences it — the field is documentation
|
|
13
|
+
of where a human or a check should look, so a wrong value cannot cause a runtime fault. Its failure
|
|
14
|
+
mode is exactly what happened: silence.
|
|
15
|
+
|
|
16
|
+
## Blast radius
|
|
17
|
+
|
|
18
|
+
None at runtime. The one behavioural consequence is intended and desirable: the mutual-ssh rollout
|
|
19
|
+
becomes *measurable*, and the first honest measurement says **not ready** (`enrollmentState:
|
|
20
|
+
ssh-bootstrap-blocked`, `pairs[0].mutual: false`). A feature that previously could not be assessed
|
|
21
|
+
now reports a negative. That is the point; it is not a regression.
|
|
22
|
+
|
|
23
|
+
## Why not build `/multi-machine/mutual-ssh` instead
|
|
24
|
+
|
|
25
|
+
That was the first plan, and it was wrong. Adding an alias route to satisfy a spec that named a
|
|
26
|
+
non-existent path would have created a second address for one readout — two places to look, two
|
|
27
|
+
things to keep in sync, and a permanent invitation to the same confusion. The spec was wrong; the
|
|
28
|
+
spec was corrected.
|
|
29
|
+
|
|
30
|
+
## Verification
|
|
31
|
+
|
|
32
|
+
- `curl /multi-machine/mutual-ssh` → 404 (before and after — nothing was added).
|
|
33
|
+
- `curl /machines/ssh-health` → 200 with live pair state.
|
|
34
|
+
- `node scripts/lint-rollout-evidence-resolvable.js` → the corrected ref resolves.
|
|
35
|
+
|
|
36
|
+
## Rollback
|
|
37
|
+
|
|
38
|
+
`git revert` the one-line commit. The rollout returns to being unmeasurable, which is the state it
|
|
39
|
+
has been in since 2026-07-21.
|
|
40
|
+
|
|
41
|
+
## Known limitation, stated rather than hidden
|
|
42
|
+
|
|
43
|
+
The lint that guards this field is a **string match against `src/`**. A route that is written but
|
|
44
|
+
never mounted would still satisfy it. That limitation is documented in the lint's own header; the
|
|
45
|
+
live probe above is what actually establishes that this particular ref resolves.
|