instar 1.2.74 → 1.2.76
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/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +43 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +6 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/Usher.d.ts +57 -0
- package/dist/core/Usher.d.ts.map +1 -0
- package/dist/core/Usher.js +179 -0
- package/dist/core/Usher.js.map +1 -0
- package/dist/core/UsherSignalStore.d.ts +58 -0
- package/dist/core/UsherSignalStore.d.ts.map +1 -0
- package/dist/core/UsherSignalStore.js +113 -0
- package/dist/core/UsherSignalStore.js.map +1 -0
- package/dist/core/types.d.ts +8 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/server/AgentServer.d.ts +2 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +5 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/usherRoutes.d.ts +16 -0
- package/dist/server/usherRoutes.d.ts.map +1 -0
- package/dist/server/usherRoutes.js +40 -0
- package/dist/server/usherRoutes.js.map +1 -0
- package/dist/threadline/ConversationStore.d.ts +53 -25
- package/dist/threadline/ConversationStore.d.ts.map +1 -1
- package/dist/threadline/ConversationStore.js +149 -68
- package/dist/threadline/ConversationStore.js.map +1 -1
- package/dist/threadline/ThreadResumeMap.d.ts +49 -116
- package/dist/threadline/ThreadResumeMap.d.ts.map +1 -1
- package/dist/threadline/ThreadResumeMap.js +194 -252
- package/dist/threadline/ThreadResumeMap.js.map +1 -1
- package/dist/threadline/ThreadlineObservability.d.ts +6 -1
- package/dist/threadline/ThreadlineObservability.d.ts.map +1 -1
- package/dist/threadline/ThreadlineObservability.js +17 -8
- package/dist/threadline/ThreadlineObservability.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +3 -3
- package/upgrades/1.2.75.md +69 -0
- package/upgrades/1.2.76.md +64 -0
- package/upgrades/side-effects/cwa-usher.md +82 -0
|
@@ -157,8 +157,8 @@ export class ThreadlineObservability {
|
|
|
157
157
|
knownAgentsPath() {
|
|
158
158
|
return path.join(this.stateDir, 'threadline', 'known-agents.json');
|
|
159
159
|
}
|
|
160
|
-
|
|
161
|
-
return path.join(this.stateDir, 'threadline', '
|
|
160
|
+
conversationsPath() {
|
|
161
|
+
return path.join(this.stateDir, 'threadline', 'conversations.json');
|
|
162
162
|
}
|
|
163
163
|
readJsonl(filePath) {
|
|
164
164
|
if (!fs.existsSync(filePath))
|
|
@@ -193,18 +193,27 @@ export class ThreadlineObservability {
|
|
|
193
193
|
catch { /* ignore */ }
|
|
194
194
|
return map;
|
|
195
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Phase 2a (CMT-497): the resume state now lives in conversations.json (the
|
|
198
|
+
* single store). Return threads that have a spawned session (a sessionUuid) so
|
|
199
|
+
* the dashboard's `hasSpawnedSession` check is preserved.
|
|
200
|
+
*/
|
|
196
201
|
loadThreadResume() {
|
|
197
|
-
const file = this.
|
|
202
|
+
const file = this.conversationsPath();
|
|
198
203
|
if (!fs.existsSync(file))
|
|
199
204
|
return {};
|
|
200
205
|
try {
|
|
201
206
|
const parsed = JSON.parse(fs.readFileSync(file, 'utf-8'));
|
|
202
|
-
|
|
203
|
-
if (
|
|
204
|
-
|
|
207
|
+
const convs = parsed && typeof parsed === 'object' ? parsed.conversations : undefined;
|
|
208
|
+
if (convs && typeof convs === 'object') {
|
|
209
|
+
const out = {};
|
|
210
|
+
for (const [threadId, c] of Object.entries(convs)) {
|
|
211
|
+
if (c && typeof c === 'object' && typeof c.sessionUuid === 'string' && c.sessionUuid) {
|
|
212
|
+
out[threadId] = c;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return out;
|
|
205
216
|
}
|
|
206
|
-
if (parsed && typeof parsed === 'object')
|
|
207
|
-
return parsed;
|
|
208
217
|
}
|
|
209
218
|
catch { /* ignore */ }
|
|
210
219
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadlineObservability.js","sourceRoot":"","sources":["../../src/threadline/ThreadlineObservability.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadlineObservability.js","sourceRoot":"","sources":["../../src/threadline/ThreadlineObservability.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-05-
|
|
5
|
-
"instarVersion": "1.2.
|
|
4
|
+
"generatedAt": "2026-05-25T19:10:38.599Z",
|
|
5
|
+
"instarVersion": "1.2.76",
|
|
6
6
|
"entryCount": 191,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -1440,7 +1440,7 @@
|
|
|
1440
1440
|
"type": "subsystem",
|
|
1441
1441
|
"domain": "server",
|
|
1442
1442
|
"sourcePath": "src/server/AgentServer.ts",
|
|
1443
|
-
"contentHash": "
|
|
1443
|
+
"contentHash": "074c270761f1a6bd512d77c09465217087d169a19d012a9b2bf76d270b5811e5",
|
|
1444
1444
|
"since": "2025-01-01"
|
|
1445
1445
|
},
|
|
1446
1446
|
"subsystem:session-manager": {
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- bump: patch -->
|
|
4
|
+
<!-- patch = internal refactor, no behavior change for the user -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Phase 2a of the Threadline re-assessment (CMT-497) — the **single-store collapse**.
|
|
9
|
+
Phase 1 introduced one clean conversation record (`ConversationStore`) but couldn't
|
|
10
|
+
retire the old `thread-resume-map.json` yet: it's written from two processes (the
|
|
11
|
+
agent server and the MCP stdio child), and the new record kept its data in memory,
|
|
12
|
+
so two in-memory copies would have clobbered each other. This finishes the cleanup
|
|
13
|
+
so there is truly ONE store.
|
|
14
|
+
|
|
15
|
+
**The fix.** `ConversationStore` is now cross-process safe — it reads the file
|
|
16
|
+
fresh per operation, commits with an atomic tmp+rename, and uses a per-record
|
|
17
|
+
`version` token so a same-thread race loses no update (a strict improvement over
|
|
18
|
+
the old last-writer-wins). `ThreadResumeMap` becomes a thin **view** over it (every
|
|
19
|
+
method preserved, same signatures), so the server, the router and the MCP child all
|
|
20
|
+
read/write the one `conversations.json`. The legacy `thread-resume-map.json` is no
|
|
21
|
+
longer written; a one-release dual-read window falls back to it on a miss so threads
|
|
22
|
+
written by a pre-2a version aren't lost.
|
|
23
|
+
|
|
24
|
+
**Approach note (convergence).** The first design proposed an HTTP surface so the
|
|
25
|
+
MCP child could mutate via the server. A two-reviewer pass against the live code
|
|
26
|
+
rejected it: it targeted a dead `ContextThreadMap` path, the `/threadline/*` routes
|
|
27
|
+
bypass the bearer middleware (so the endpoints would have shipped unauthenticated),
|
|
28
|
+
and it was heavy machinery to replace a single `.remove()` call. The shipped design
|
|
29
|
+
— file version-CAS — has no new network surface, no auth gap, and no restart-window
|
|
30
|
+
data loss.
|
|
31
|
+
|
|
32
|
+
## What to Tell Your User
|
|
33
|
+
|
|
34
|
+
Nothing changes for you. This is an internal cleanup so agent-to-agent conversation
|
|
35
|
+
state lives in one place instead of two. Existing conversations are preserved.
|
|
36
|
+
|
|
37
|
+
## Summary of New Capabilities
|
|
38
|
+
|
|
39
|
+
| Capability | How to Use |
|
|
40
|
+
|-----------|-----------|
|
|
41
|
+
| Cross-process `ConversationStore` (file version-CAS) | Automatic; `mutate`/`mutateSync` are safe across the server + MCP child |
|
|
42
|
+
| `ThreadResumeMap` as a view over the single store | Automatic; same API, now backed by `conversations.json` |
|
|
43
|
+
|
|
44
|
+
## Migration Notes
|
|
45
|
+
|
|
46
|
+
Phase 1's `migrateThreadlineConversationStore` already folds the legacy file into
|
|
47
|
+
`conversations.json` on boot. This release stops writing the legacy file and adds a
|
|
48
|
+
one-release dual-read fallback (read legacy on a miss, write through). The legacy
|
|
49
|
+
`thread-resume-map.json` is kept on disk for rollback and removed in a later
|
|
50
|
+
release. No `~/.codex` or relay change.
|
|
51
|
+
|
|
52
|
+
## Evidence
|
|
53
|
+
|
|
54
|
+
- Spec: `docs/specs/THREADLINE-SINGLE-STORE-SPEC.md` (+ ELI16 + convergence report —
|
|
55
|
+
approach pivoted from HTTP to file version-CAS after 2 fatal + blocking findings).
|
|
56
|
+
- Tests: `ConversationStore.test.ts` (incl. a two-instance cross-process 50-increment
|
|
57
|
+
race + `mutateSync` racing async `mutate`), `ThreadResumeMap.test.ts` (field-bridge
|
|
58
|
+
+ prune/migrate parity, re-pointed to the new store), `single-store-cmt497.test.ts`
|
|
59
|
+
(merge-not-clobber, dual-read, resume round-trip, gate-mutate-racing-remove,
|
|
60
|
+
no-second-writer), `ThreadlineObservability.test.ts` (re-pointed). 1490+ threadline
|
|
61
|
+
tests green.
|
|
62
|
+
- Test-as-self on live `instar-codey` before merge (MCP-child delete over the single
|
|
63
|
+
store, resume recovery, no corruption under concurrent gate+delete).
|
|
64
|
+
|
|
65
|
+
## Rollback
|
|
66
|
+
|
|
67
|
+
Additive + reversible. Revert restores the file-backed `ThreadResumeMap`, the
|
|
68
|
+
Observability raw read, and the in-memory `ConversationStore`. The frozen legacy file
|
|
69
|
+
is still current within the dual-read window, so rollback strands no state.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Upgrade Guide — the Usher (a quiet mid-task reminder)
|
|
2
|
+
|
|
3
|
+
<!-- bump: minor -->
|
|
4
|
+
<!-- minor = new features, new APIs, new capabilities (backwards-compatible) -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
**I now notice, mid-conversation, when something we set aside earlier matters again.**
|
|
9
|
+
|
|
10
|
+
The memory and briefing only get consulted at two moments — when a session starts
|
|
11
|
+
and right before I send a message. Between those, a context can fade out of view
|
|
12
|
+
and then become relevant again, and nothing pulled it back. The Usher fills that
|
|
13
|
+
gap: on each substantive message, it does one cheap check — "did this just make a
|
|
14
|
+
faded, tracked context relevant again?" — and if so it leaves a quiet reminder on
|
|
15
|
+
a side board.
|
|
16
|
+
|
|
17
|
+
The deliberate, important part: **it is signal-only.** It writes suggestions to a
|
|
18
|
+
read-only surface that's pulled (an endpoint / the dashboard); it never pushes to
|
|
19
|
+
chat and never forces anything into my context. And before any future step is
|
|
20
|
+
allowed to let it actually interrupt mid-task, we **measure how often its
|
|
21
|
+
reminders were useful** (a precision number = acted ÷ fired) and pair that with
|
|
22
|
+
the human-as-detector heat map for what it missed. The data has to earn the right
|
|
23
|
+
to interrupt — that precision is written in as the hard precondition for the next
|
|
24
|
+
rung.
|
|
25
|
+
|
|
26
|
+
It's bounded and safe by construction: one cheap check per substantive message
|
|
27
|
+
(rate-limited, backs off under quota pressure, skipped when nothing's faded),
|
|
28
|
+
fire-and-forget so it can never slow a reply, and degrade-safe (no model, no
|
|
29
|
+
candidates, or an error → no reminder, never a crash). On by default, with a
|
|
30
|
+
kill-switch.
|
|
31
|
+
|
|
32
|
+
**Evidence**: 19 new tests (13 unit — prompt/parse + refId validation, degrade
|
|
33
|
+
paths, all watcher branches incl. never-throws, and the signal store; 6 boot-path
|
|
34
|
+
route tests — the pull surface is alive, returns signals + precision, 503 when
|
|
35
|
+
disabled, and a wiring-integrity guard that the watcher is attached to the live
|
|
36
|
+
message callback). The discoverability/config suites stay green. `tsc` + lint
|
|
37
|
+
clean (incl. the no-raw-model-call guard).
|
|
38
|
+
|
|
39
|
+
Spec: `docs/specs/cwa-usher.md` (approved; Claude-authored + manual review —
|
|
40
|
+
fuller multi-model review advisable, especially the precision definition that
|
|
41
|
+
gates rung 5; caveat ratified). ELI16: `docs/specs/cwa-usher.eli16.md`.
|
|
42
|
+
Side-effects: `upgrades/side-effects/cwa-usher.md`.
|
|
43
|
+
|
|
44
|
+
## What to Tell Your User
|
|
45
|
+
|
|
46
|
+
- **Quiet reminders when something's relevant again**: "If we set something aside
|
|
47
|
+
and it suddenly matters again mid-conversation, I'll leave a quiet note about it
|
|
48
|
+
on a side board — I won't interrupt you with it yet. We'll first check those
|
|
49
|
+
notes are actually useful before letting them ever interrupt."
|
|
50
|
+
|
|
51
|
+
## Summary of New Capabilities
|
|
52
|
+
|
|
53
|
+
| Capability | How to Use |
|
|
54
|
+
|-----------|-----------|
|
|
55
|
+
| Mid-task re-surface signals | Automatic (signal-only); read at `GET /usher/signals?topicId=N` |
|
|
56
|
+
| Usher precision metrics | `GET /usher/metrics?topicId=N` → fired / acted / precision |
|
|
57
|
+
|
|
58
|
+
## Evidence
|
|
59
|
+
|
|
60
|
+
Not a bug fix — a new signal-only capability. Verified by 19 tests including 6
|
|
61
|
+
that boot the real AgentServer and confirm the pull surface returns signals +
|
|
62
|
+
precision and 503s when disabled, plus a wiring-integrity guard that server.ts
|
|
63
|
+
attaches the watcher to the live message callback. By construction it has no
|
|
64
|
+
inject/block path. `tsc` + lint clean.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Side-effects review — the Usher (rung 4, signal-only)
|
|
2
|
+
|
|
3
|
+
**Scope**: A signal-only mid-task watcher that re-surfaces faded-but-now-relevant
|
|
4
|
+
context. Per the ratified spec (`docs/specs/cwa-usher.md`): on each substantive
|
|
5
|
+
inbound turn, query the faded tail of the topic-intent store, ask a cheap LLM
|
|
6
|
+
whether the turn re-activates any, and emit re-surface SIGNALS to a read-only pull
|
|
7
|
+
surface. It NEVER injects (rung 5, gated on the Usher's measured precision).
|
|
8
|
+
|
|
9
|
+
**Files touched**:
|
|
10
|
+
- `src/core/UsherSignalStore.ts` — NEW. File-backed per-topic store of signals +
|
|
11
|
+
precision metrics (fired/acted); atomic writes; best-effort (never throws);
|
|
12
|
+
capped at 50 signals/topic.
|
|
13
|
+
- `src/core/Usher.ts` — NEW. `buildUsherPrompt`/`parseUsherResponse` (anti-injection,
|
|
14
|
+
refId-validated), `createUsherCheckFn` (injected provider, degrade-safe),
|
|
15
|
+
`usherCheckTurn`/`createUsherLoop` (pre-filter reuse, shed/rate gates, faded-tail
|
|
16
|
+
= observation-tier refs, fire-and-forget, never-throws). Reacts to USER turns only.
|
|
17
|
+
- `src/server/usherRoutes.ts` — NEW. `GET /usher/signals` + `GET /usher/metrics`
|
|
18
|
+
(with precision = acted/fired). 503-stub when the store is absent.
|
|
19
|
+
- `src/server/AgentServer.ts` — new optional `usherSignalStore`; mount the routes.
|
|
20
|
+
- `src/commands/server.ts` — construct `UsherSignalStore` (unless disabled); chain
|
|
21
|
+
the Usher loop onto `onMessageLogged` AFTER the capture chain (reusing the
|
|
22
|
+
queued subscription provider + LlmQueue); pass the store to AgentServer.
|
|
23
|
+
- `src/server/CapabilityIndex.ts` — `usher` → `INTERNAL_PREFIXES`.
|
|
24
|
+
- `src/config/ConfigDefaults.ts` + `src/core/types.ts` — `usher.enabled` default true.
|
|
25
|
+
- Tests: unit (Usher + store) + boot-path route tests + the discoverability scan
|
|
26
|
+
now includes `usherRoutes.ts`.
|
|
27
|
+
|
|
28
|
+
**Under-block**: The Usher only *emits suggestions to a pull surface* — it blocks
|
|
29
|
+
nothing. Its checks are gated (pre-filter, shed, rate ceiling) and every gate
|
|
30
|
+
fails toward "no signal", so it can't suppress anything either. RefIds are
|
|
31
|
+
validated against the candidate set (a poisoned/hallucinated id is dropped).
|
|
32
|
+
|
|
33
|
+
**Over-block**: None possible — there is no `block`/`inject` path in the code.
|
|
34
|
+
A false signal costs one line on a side board the consumer pulls.
|
|
35
|
+
|
|
36
|
+
**Level-of-abstraction fit**: The Usher reuses the established seam
|
|
37
|
+
(`onMessageLogged`), the topic-intent store's faded tail (observation-tier refs),
|
|
38
|
+
the queued subscription provider (never a raw client), and the capture loop's
|
|
39
|
+
pre-filter — it adds a watcher + a pull surface, not a new subsystem. "Faded" is
|
|
40
|
+
defined precisely as below-briefing-tier (observation), the genuine re-warm case.
|
|
41
|
+
|
|
42
|
+
**Signal vs authority (defining constraint)**: The Usher is a pure signal
|
|
43
|
+
producer. Authority to act on a signal (mid-task injection) is withheld for rung
|
|
44
|
+
5, which the spec makes conditional on the Usher's measured precision. The surface
|
|
45
|
+
is PULL (endpoint/dashboard), never a chat push — so even a noisy Usher can't
|
|
46
|
+
train anyone to tune it out (Near-Silent).
|
|
47
|
+
|
|
48
|
+
**Interactions**:
|
|
49
|
+
- Chained AFTER the capture loop on the single-assignment `onMessageLogged`
|
|
50
|
+
property (prior callback preserved — verified by the wiring-integrity source
|
|
51
|
+
guard). Fire-and-forget (`void usherLoop(...)`) so Usher latency never reaches
|
|
52
|
+
the delivery path.
|
|
53
|
+
- One fast-tier LLM call per substantive USER turn, background lane on the shared
|
|
54
|
+
LlmQueue, rate-limited (20/60s/topic), skipped under QuotaTracker pressure, and
|
|
55
|
+
skipped entirely when the topic has no faded candidates — same cost envelope as
|
|
56
|
+
capture. Agent turns are skipped (capture handles those).
|
|
57
|
+
- `precision = acted/fired` on `/usher/metrics` is the read that rung 5's spec
|
|
58
|
+
will cite as its precondition; pairs with the human-as-detector miss-map.
|
|
59
|
+
- Construction broadened nothing — the assembler/capture wiring is unchanged; the
|
|
60
|
+
Usher is purely additive within the existing `sharedIntelligence` block.
|
|
61
|
+
|
|
62
|
+
**External surfaces**: `GET /usher/signals`, `GET /usher/metrics` (INTERNAL
|
|
63
|
+
prefix). New config `usher.enabled` (default true). New modules `Usher.ts`,
|
|
64
|
+
`UsherSignalStore.ts`. No injection, no chat push, no change to existing routes.
|
|
65
|
+
|
|
66
|
+
**Deferred (tracked)**: mid-task injection (`cwa-injection`, gated on this
|
|
67
|
+
rung's precision), per-tool-call seam (`cwa-usher-tool-seam`), capability/standards
|
|
68
|
+
descriptors as candidates (`cwa-capability-index-context`).
|
|
69
|
+
|
|
70
|
+
**Rollback cost**: Low, strictly additive. Remove the watcher wiring + routes +
|
|
71
|
+
store; nothing depends on it (rung 5 isn't built). Kill-switch `usher.enabled:
|
|
72
|
+
false` stops the watcher (routes 503). No data migration.
|
|
73
|
+
|
|
74
|
+
**Migration parity**: Additive watcher wiring + routes + config default
|
|
75
|
+
(existence-checked) + INTERNAL prefix — all server-side (every agent on update).
|
|
76
|
+
The signal store is created lazily; no schema migration. No hook/template/skill change.
|
|
77
|
+
|
|
78
|
+
**Convergence honesty**: Claude-authored + manual review; multi-model tooling
|
|
79
|
+
absent on host. The Usher is deliberately the safe half (signal-only, pull
|
|
80
|
+
surface, precision-measured before rung 5 earns authority), but a fuller review —
|
|
81
|
+
especially of the `acted` precision definition that gates rung 5 — remains
|
|
82
|
+
advisable before relying on it.
|