instar 1.3.238 → 1.3.240
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 +13 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/core/SessionManager.d.ts +18 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +20 -0
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/messaging/SpawnRequestManager.d.ts +27 -1
- package/dist/messaging/SpawnRequestManager.d.ts.map +1 -1
- package/dist/messaging/SpawnRequestManager.js +13 -1
- package/dist/messaging/SpawnRequestManager.js.map +1 -1
- package/dist/monitoring/ApprenticeshipCycleStore.d.ts +21 -0
- package/dist/monitoring/ApprenticeshipCycleStore.d.ts.map +1 -1
- package/dist/monitoring/ApprenticeshipCycleStore.js +50 -4
- package/dist/monitoring/ApprenticeshipCycleStore.js.map +1 -1
- package/dist/scheduler/MentorOnboardingRunner.d.ts +10 -1
- package/dist/scheduler/MentorOnboardingRunner.d.ts.map +1 -1
- package/dist/scheduler/MentorOnboardingRunner.js +1 -0
- package/dist/scheduler/MentorOnboardingRunner.js.map +1 -1
- package/dist/scheduler/MentorOnboardingTick.d.ts +25 -0
- package/dist/scheduler/MentorOnboardingTick.d.ts.map +1 -1
- package/dist/scheduler/MentorOnboardingTick.js +13 -0
- package/dist/scheduler/MentorOnboardingTick.js.map +1 -1
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +31 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/threadline/ThreadResumeMap.d.ts +8 -0
- package/dist/threadline/ThreadResumeMap.d.ts.map +1 -1
- package/dist/threadline/ThreadResumeMap.js +31 -0
- package/dist/threadline/ThreadResumeMap.js.map +1 -1
- package/dist/threadline/ThreadlineRouter.d.ts.map +1 -1
- package/dist/threadline/ThreadlineRouter.js +26 -10
- package/dist/threadline/ThreadlineRouter.js.map +1 -1
- package/dist/threadline/WarmSessionPool.d.ts +62 -0
- package/dist/threadline/WarmSessionPool.d.ts.map +1 -0
- package/dist/threadline/WarmSessionPool.js +116 -0
- package/dist/threadline/WarmSessionPool.js.map +1 -0
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +4 -4
- package/upgrades/1.3.239.md +96 -0
- package/upgrades/1.3.240.md +72 -0
- package/upgrades/apprenticeship-channel-enforcement.eli16.md +16 -0
- package/upgrades/mentor-tick-cycle-capture.eli16.md +18 -0
- package/upgrades/side-effects/apprenticeship-channel-enforcement.md +39 -0
- package/upgrades/side-effects/mentor-tick-cycle-capture.md +39 -0
- package/upgrades/side-effects/threadline-a2a-live-inject.md +60 -0
- package/upgrades/side-effects/threadline-a2a-resume-session-id.md +59 -0
- package/upgrades/threadline-a2a-live-inject.eli16.md +30 -0
- package/upgrades/threadline-a2a-resume-session-id.eli16.md +28 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadlineRouter.js","sourceRoot":"","sources":["../../src/threadline/ThreadlineRouter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadlineRouter.js","sourceRoot":"","sources":["../../src/threadline/ThreadlineRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WarmSessionPool — Layer 2 core (THREADLINE-A2A-COHERENCE-SPEC).
|
|
3
|
+
*
|
|
4
|
+
* Keeps an agent-to-agent session "warm" for a TTL so rapid follow-ups inject into the running
|
|
5
|
+
* session (via the existing live-injection path) instead of respawning each message. The
|
|
6
|
+
* operator-confirmed model is **per-peer** with a **global + per-peer cap** and **TTL + LRU
|
|
7
|
+
* eviction**, so an inbound flood (many threads / one chatty peer) can't pin unbounded live
|
|
8
|
+
* Claude processes. This is the pure registry + eviction policy; the server wires it to the real
|
|
9
|
+
* session lifecycle (keep-alive, inject, kill-on-evict) and the SessionReaper (warm sessions are
|
|
10
|
+
* evict-eligible under resource pressure — eviction is lossless because the next message falls
|
|
11
|
+
* back to Layer 1 resume).
|
|
12
|
+
*
|
|
13
|
+
* Pure + clock-injected → fully testable. Eviction is reported (the caller kills the tmux/Claude
|
|
14
|
+
* session); the pool itself holds no I/O.
|
|
15
|
+
*/
|
|
16
|
+
export interface WarmSessionRecord {
|
|
17
|
+
threadId: string;
|
|
18
|
+
/** Peer identity the warm session belongs to (the per-peer cap key). */
|
|
19
|
+
peerId: string;
|
|
20
|
+
/** The tmux/session name to inject into / kill on eviction. */
|
|
21
|
+
sessionName: string;
|
|
22
|
+
createdAt: number;
|
|
23
|
+
lastUsedAt: number;
|
|
24
|
+
}
|
|
25
|
+
export interface WarmSessionPoolConfig {
|
|
26
|
+
/** Max warm sessions across all peers. */
|
|
27
|
+
globalCap: number;
|
|
28
|
+
/** Max warm sessions for any one peer (the inbound-flood bound). */
|
|
29
|
+
perPeerCap: number;
|
|
30
|
+
/** Idle TTL — a warm session unused for this long is reapable. */
|
|
31
|
+
ttlMs: number;
|
|
32
|
+
}
|
|
33
|
+
export declare class WarmSessionPool {
|
|
34
|
+
private readonly config;
|
|
35
|
+
private readonly now;
|
|
36
|
+
private readonly byThread;
|
|
37
|
+
constructor(config: WarmSessionPoolConfig, now?: () => number);
|
|
38
|
+
size(): number;
|
|
39
|
+
private peerCount;
|
|
40
|
+
/** LRU among a predicate set (oldest lastUsedAt first). */
|
|
41
|
+
private lru;
|
|
42
|
+
/**
|
|
43
|
+
* Admit (or refresh) a warm session for a thread. Returns the records that must be EVICTED
|
|
44
|
+
* (killed by the caller) to honor the caps — LRU first, per-peer cap before global cap. An
|
|
45
|
+
* existing thread is refreshed in place (no eviction).
|
|
46
|
+
*/
|
|
47
|
+
admit(input: {
|
|
48
|
+
threadId: string;
|
|
49
|
+
peerId: string;
|
|
50
|
+
sessionName: string;
|
|
51
|
+
}): WarmSessionRecord[];
|
|
52
|
+
/** Mark a thread's warm session used (LRU refresh). */
|
|
53
|
+
touch(threadId: string): void;
|
|
54
|
+
/** The warm session for a thread, if present and not past its idle TTL; else undefined. */
|
|
55
|
+
get(threadId: string): WarmSessionRecord | undefined;
|
|
56
|
+
remove(threadId: string): WarmSessionRecord | undefined;
|
|
57
|
+
/** Reap warm sessions idle past the TTL. Returns the evicted records (caller kills them). */
|
|
58
|
+
reapExpired(): WarmSessionRecord[];
|
|
59
|
+
/** Reap up to n warm sessions under resource pressure (LRU first). Returns evicted records. */
|
|
60
|
+
reapUnderPressure(n: number): WarmSessionRecord[];
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=WarmSessionPool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WarmSessionPool.d.ts","sourceRoot":"","sources":["../../src/threadline/WarmSessionPool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;gBAG9C,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,MAAM,MAAyB;IAGvD,IAAI,IAAI,MAAM;IAId,OAAO,CAAC,SAAS;IAMjB,2DAA2D;IAC3D,OAAO,CAAC,GAAG;IAMX;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB,EAAE;IAqC5F,uDAAuD;IACvD,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK7B,2FAA2F;IAC3F,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAOpD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMvD,6FAA6F;IAC7F,WAAW,IAAI,iBAAiB,EAAE;IAOlC,+FAA+F;IAC/F,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE;CAKlD"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WarmSessionPool — Layer 2 core (THREADLINE-A2A-COHERENCE-SPEC).
|
|
3
|
+
*
|
|
4
|
+
* Keeps an agent-to-agent session "warm" for a TTL so rapid follow-ups inject into the running
|
|
5
|
+
* session (via the existing live-injection path) instead of respawning each message. The
|
|
6
|
+
* operator-confirmed model is **per-peer** with a **global + per-peer cap** and **TTL + LRU
|
|
7
|
+
* eviction**, so an inbound flood (many threads / one chatty peer) can't pin unbounded live
|
|
8
|
+
* Claude processes. This is the pure registry + eviction policy; the server wires it to the real
|
|
9
|
+
* session lifecycle (keep-alive, inject, kill-on-evict) and the SessionReaper (warm sessions are
|
|
10
|
+
* evict-eligible under resource pressure — eviction is lossless because the next message falls
|
|
11
|
+
* back to Layer 1 resume).
|
|
12
|
+
*
|
|
13
|
+
* Pure + clock-injected → fully testable. Eviction is reported (the caller kills the tmux/Claude
|
|
14
|
+
* session); the pool itself holds no I/O.
|
|
15
|
+
*/
|
|
16
|
+
export class WarmSessionPool {
|
|
17
|
+
config;
|
|
18
|
+
now;
|
|
19
|
+
byThread = new Map();
|
|
20
|
+
constructor(config, now = () => Date.now()) {
|
|
21
|
+
this.config = config;
|
|
22
|
+
this.now = now;
|
|
23
|
+
}
|
|
24
|
+
size() {
|
|
25
|
+
return this.byThread.size;
|
|
26
|
+
}
|
|
27
|
+
peerCount(peerId) {
|
|
28
|
+
let n = 0;
|
|
29
|
+
for (const r of this.byThread.values())
|
|
30
|
+
if (r.peerId === peerId)
|
|
31
|
+
n++;
|
|
32
|
+
return n;
|
|
33
|
+
}
|
|
34
|
+
/** LRU among a predicate set (oldest lastUsedAt first). */
|
|
35
|
+
lru(filter) {
|
|
36
|
+
const rs = [...this.byThread.values()].filter(r => (filter ? filter(r) : true));
|
|
37
|
+
rs.sort((a, b) => a.lastUsedAt - b.lastUsedAt);
|
|
38
|
+
return rs;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Admit (or refresh) a warm session for a thread. Returns the records that must be EVICTED
|
|
42
|
+
* (killed by the caller) to honor the caps — LRU first, per-peer cap before global cap. An
|
|
43
|
+
* existing thread is refreshed in place (no eviction).
|
|
44
|
+
*/
|
|
45
|
+
admit(input) {
|
|
46
|
+
const now = this.now();
|
|
47
|
+
const existing = this.byThread.get(input.threadId);
|
|
48
|
+
if (existing) {
|
|
49
|
+
existing.lastUsedAt = now;
|
|
50
|
+
existing.sessionName = input.sessionName;
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
const evicted = [];
|
|
54
|
+
// Per-peer cap: evict the peer's LRU until under the cap (leaving room for the new one).
|
|
55
|
+
while (this.peerCount(input.peerId) >= this.config.perPeerCap) {
|
|
56
|
+
const victim = this.lru(r => r.peerId === input.peerId)[0];
|
|
57
|
+
if (!victim)
|
|
58
|
+
break;
|
|
59
|
+
this.byThread.delete(victim.threadId);
|
|
60
|
+
evicted.push(victim);
|
|
61
|
+
}
|
|
62
|
+
// Global cap: evict the global LRU until under the cap.
|
|
63
|
+
while (this.byThread.size >= this.config.globalCap) {
|
|
64
|
+
const victim = this.lru()[0];
|
|
65
|
+
if (!victim)
|
|
66
|
+
break;
|
|
67
|
+
this.byThread.delete(victim.threadId);
|
|
68
|
+
evicted.push(victim);
|
|
69
|
+
}
|
|
70
|
+
this.byThread.set(input.threadId, {
|
|
71
|
+
threadId: input.threadId,
|
|
72
|
+
peerId: input.peerId,
|
|
73
|
+
sessionName: input.sessionName,
|
|
74
|
+
createdAt: now,
|
|
75
|
+
lastUsedAt: now,
|
|
76
|
+
});
|
|
77
|
+
return evicted;
|
|
78
|
+
}
|
|
79
|
+
/** Mark a thread's warm session used (LRU refresh). */
|
|
80
|
+
touch(threadId) {
|
|
81
|
+
const r = this.byThread.get(threadId);
|
|
82
|
+
if (r)
|
|
83
|
+
r.lastUsedAt = this.now();
|
|
84
|
+
}
|
|
85
|
+
/** The warm session for a thread, if present and not past its idle TTL; else undefined. */
|
|
86
|
+
get(threadId) {
|
|
87
|
+
const r = this.byThread.get(threadId);
|
|
88
|
+
if (!r)
|
|
89
|
+
return undefined;
|
|
90
|
+
if (this.now() - r.lastUsedAt >= this.config.ttlMs)
|
|
91
|
+
return undefined;
|
|
92
|
+
return r;
|
|
93
|
+
}
|
|
94
|
+
remove(threadId) {
|
|
95
|
+
const r = this.byThread.get(threadId);
|
|
96
|
+
if (r)
|
|
97
|
+
this.byThread.delete(threadId);
|
|
98
|
+
return r;
|
|
99
|
+
}
|
|
100
|
+
/** Reap warm sessions idle past the TTL. Returns the evicted records (caller kills them). */
|
|
101
|
+
reapExpired() {
|
|
102
|
+
const now = this.now();
|
|
103
|
+
const expired = [...this.byThread.values()].filter(r => now - r.lastUsedAt >= this.config.ttlMs);
|
|
104
|
+
for (const r of expired)
|
|
105
|
+
this.byThread.delete(r.threadId);
|
|
106
|
+
return expired;
|
|
107
|
+
}
|
|
108
|
+
/** Reap up to n warm sessions under resource pressure (LRU first). Returns evicted records. */
|
|
109
|
+
reapUnderPressure(n) {
|
|
110
|
+
const victims = this.lru().slice(0, Math.max(0, n));
|
|
111
|
+
for (const r of victims)
|
|
112
|
+
this.byThread.delete(r.threadId);
|
|
113
|
+
return victims;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=WarmSessionPool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WarmSessionPool.js","sourceRoot":"","sources":["../../src/threadline/WarmSessionPool.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-06-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-06-04T06:02:09.524Z",
|
|
5
|
+
"instarVersion": "1.3.240",
|
|
6
6
|
"entryCount": 198,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -1498,7 +1498,7 @@
|
|
|
1498
1498
|
"type": "subsystem",
|
|
1499
1499
|
"domain": "server",
|
|
1500
1500
|
"sourcePath": "src/server/AgentServer.ts",
|
|
1501
|
-
"contentHash": "
|
|
1501
|
+
"contentHash": "e72905d8a8de5d22c7cedb5c599f9341f61ac9139f65f32bde7011a1c5202ef7",
|
|
1502
1502
|
"since": "2025-01-01"
|
|
1503
1503
|
},
|
|
1504
1504
|
"subsystem:session-manager": {
|
|
@@ -1506,7 +1506,7 @@
|
|
|
1506
1506
|
"type": "subsystem",
|
|
1507
1507
|
"domain": "sessions",
|
|
1508
1508
|
"sourcePath": "src/core/SessionManager.ts",
|
|
1509
|
-
"contentHash": "
|
|
1509
|
+
"contentHash": "cf87f05acf0ee9e4dab65be206048e19cd7c9036b4733019e8372fd5f81e5a1f",
|
|
1510
1510
|
"since": "2025-01-01"
|
|
1511
1511
|
},
|
|
1512
1512
|
"subsystem:auto-updater": {
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
The automated mentor-onboarding tick now records a keystone
|
|
9
|
+
`mentor-mentee-differential` apprenticeship **cycle** each run (in addition to the
|
|
10
|
+
existing per-finding ledger capture) — the structural version of the manual
|
|
11
|
+
differential-oversight loop. The mentee's Stage-A transcript becomes the cycle's
|
|
12
|
+
`menteeOutput`; the forensics findings become the `overseerDifferential`.
|
|
13
|
+
|
|
14
|
+
It is wired via a new optional `recordCycle` injected into `runMentorTick` and
|
|
15
|
+
`MentorOnboardingRunner`, and a new `mentor.apprenticeshipInstanceId` config field.
|
|
16
|
+
`AgentServer.buildMentorRunner` resolves it to the ApprenticeshipCycleStore only
|
|
17
|
+
when that instance id is set — so it is **opt-in and a no-op by default**
|
|
18
|
+
(back-compat). This makes the automated loop fire the keystone axis the program's
|
|
19
|
+
role-coverage drift-warning watches, instead of only the easy finding-capture path.
|
|
20
|
+
|
|
21
|
+
Fixed the production **agent-to-agent (Threadline) continuity break**: a live
|
|
22
|
+
Echo↔Dawn round-trip proved that every peer-to-peer follow-up message was being
|
|
23
|
+
handled by a fresh, memoryless session (2 Spawned / 0 Resumed on a single thread)
|
|
24
|
+
instead of the session already in the conversation — the "crowd of fragments
|
|
25
|
+
wearing my name" incoherence.
|
|
26
|
+
|
|
27
|
+
Root cause funnels through one guard. `ThreadResumeMap.get()`
|
|
28
|
+
(`src/threadline/ThreadResumeMap.ts`) nulled the entire resume entry whenever the
|
|
29
|
+
session transcript JSONL was absent — and for relay/pipe-spawned A2A sessions the
|
|
30
|
+
uuid is a spawn-time placeholder that never gets upgraded, so the guard discarded
|
|
31
|
+
the entry (including the still-valid live `sessionName`) on every follow-up. With
|
|
32
|
+
a null entry, `ThreadlineRouter.handleInboundMessage` skips the already-built
|
|
33
|
+
`tryInjectIntoLiveSession` + `resumeThread` machinery and cold-spawns.
|
|
34
|
+
|
|
35
|
+
The fix has two parts. **(1)** When the transcript is absent, `get()` now returns
|
|
36
|
+
the entry anyway **if its tmux session is still alive** (new protected
|
|
37
|
+
`sessionAlive()`, exact-match `tmux has-session -t =name`), so the follow-up routes
|
|
38
|
+
into the running session (live-inject, or a resume that carries the conversation
|
|
39
|
+
history) — no transcript needed. Dead session + no transcript still nulls (resume
|
|
40
|
+
guard intact); topic-bound + pinned exemptions unchanged. **(2)** Part 1 was inert
|
|
41
|
+
without the real session name: `spawnNewThread` recorded the resume entry's
|
|
42
|
+
`sessionName` from the spawn result, but the `spawnSession` callback only returned
|
|
43
|
+
the bare instar session id, so a useless fallback name was stored that
|
|
44
|
+
`sessionAlive()`/`getBySessionName` could never match. The callback contract now
|
|
45
|
+
returns `string | { sessionId, tmuxSession }` (back-compatible);
|
|
46
|
+
`SpawnRequestManager.evaluate` forwards the real tmux name through to the entry. Also lands the `WarmSessionPool`
|
|
47
|
+
(`src/threadline/WarmSessionPool.ts`) per-peer warm-session registry (caps + TTL +
|
|
48
|
+
LRU) — the tested foundation for the follow-up that keeps A2A sessions warm so
|
|
49
|
+
follow-ups inject even after the first reply completes.
|
|
50
|
+
|
|
51
|
+
1511 threadline unit tests pass; tsc clean. Tier-1 (ELI16 +
|
|
52
|
+
side-effects artifact).
|
|
53
|
+
|
|
54
|
+
## What to Tell Your User
|
|
55
|
+
|
|
56
|
+
Nothing changes by default. When I'm running an automated mentorship for a
|
|
57
|
+
configured apprenticeship instance, the loop now records proper differential cycles
|
|
58
|
+
on its own — the same keystone cycles I capture by hand — so the program can see
|
|
59
|
+
the real mentor↔mentee work, not just logged findings.
|
|
60
|
+
|
|
61
|
+
When another agent talks to me across several messages in a row, I now stay one
|
|
62
|
+
coherent conversation instead of answering each message as if I'd never seen the
|
|
63
|
+
earlier ones. This is the foundation the agent-to-agent collaboration (and the
|
|
64
|
+
upcoming feedback-process work) relies on. It's an internal robustness fix — there
|
|
65
|
+
is nothing to turn on, and it doesn't change how I talk to you directly.
|
|
66
|
+
|
|
67
|
+
## Summary of New Capabilities
|
|
68
|
+
|
|
69
|
+
- **Threadline A2A continuity:** agent-to-agent threads stay coherent across rapid
|
|
70
|
+
follow-ups — a follow-up now injects into the session already handling the thread
|
|
71
|
+
instead of cold-spawning a fresh, memoryless one.
|
|
72
|
+
- **WarmSessionPool foundation:** a per-peer warm-session registry (caps + TTL +
|
|
73
|
+
LRU) lands as the tested groundwork for keeping A2A sessions warm.
|
|
74
|
+
|
|
75
|
+
## Evidence
|
|
76
|
+
|
|
77
|
+
Reproduced on this machine, before/after.
|
|
78
|
+
|
|
79
|
+
**Before (live Echo↔Dawn round-trip, 2026-06-04 ~01:55Z):** sent Dawn one opener on
|
|
80
|
+
a fresh non-topic thread `echo-dawn-continuity-20260604`; her inbound replies
|
|
81
|
+
produced — in `logs/server.log` — `2× [relay] Spawned session`, `0× Resumed
|
|
82
|
+
session`, `1× Spawn denied: Cooldown`. The resume-map never gained an entry for the
|
|
83
|
+
thread; every follow-up cold-spawned a memoryless session (a parallel relay-spawn
|
|
84
|
+
even answered Dawn with "No previous history available").
|
|
85
|
+
|
|
86
|
+
**After (integration test against REAL tmux —
|
|
87
|
+
`tests/integration/threadline-live-inject-real-tmux.test.ts`, 2026-06-04):** with a
|
|
88
|
+
placeholder uuid (no transcript) on a non-topic thread —
|
|
89
|
+
- while a real tmux session of that name is **alive** → `get()` returns the entry,
|
|
90
|
+
so `ThreadlineRouter.tryInjectIntoLiveSession` is reachable (was: null →
|
|
91
|
+
cold-spawn). ✓
|
|
92
|
+
- after the tmux session is **killed** → `get()` returns null (resume guard intact;
|
|
93
|
+
dead session → cold-spawn). ✓
|
|
94
|
+
|
|
95
|
+
The end-to-end live Dawn round-trip showing `Injected`/`Resumed` instead of
|
|
96
|
+
`Spawned` runs post-deploy (Echo auto-updates on this release).
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Enforces the dogfooded-channel standard (APPRENTICESHIP-PROGRAM-PROJECT-DESIGN §4a) in
|
|
9
|
+
code. Every `ApprenticeshipCycleStore` record now carries a `channel`
|
|
10
|
+
(`telegram-playwright` | `threadline-backup` | `direct-shortcut` | `unknown`), with an
|
|
11
|
+
idempotent migration for existing DBs. `roleCoverage` now counts a
|
|
12
|
+
`mentor-mentee-differential` cycle toward the keystone axis **only** when it did NOT run
|
|
13
|
+
through a `direct-shortcut` — a shortcut cycle is still recorded (for honesty, surfaced via
|
|
14
|
+
the new `shortcutDifferentialCount`) but can never make the keystone look healthy. Unset /
|
|
15
|
+
pre-field channels are grandfathered as `unknown` and still count, so an already-earned
|
|
16
|
+
keystone is never retroactively un-fired.
|
|
17
|
+
|
|
18
|
+
Path 1 of the Threadline A2A continuity fix. Headless one-shot `claude -p` reply
|
|
19
|
+
sessions never report their session id, so the resume entry kept a placeholder
|
|
20
|
+
uuid and every spaced follow-up cold-spawned (a live Echo↔Dawn round-trip proved
|
|
21
|
+
Resumed=0 even after the prior foundation shipped).
|
|
22
|
+
|
|
23
|
+
Fix: `ThreadlineRouter.spawnNewThread` now mints a uuid and launches the reply
|
|
24
|
+
session with `claude --session-id <uuid>` (so its transcript is created at exactly
|
|
25
|
+
`<uuid>.jsonl`), persisting that uuid as the thread's resume handle.
|
|
26
|
+
`resumeThread` launches the follow-up with `claude --resume <uuid>` — reloading
|
|
27
|
+
the full prior transcript — and sends only the new message + grounding (the
|
|
28
|
+
transcript already holds the history, so re-injecting it is dropped). The
|
|
29
|
+
`sessionId`/`resumeSessionId` options are threaded through
|
|
30
|
+
`SessionManager.spawnSession` (spliced as `--session-id`/`--resume` into the
|
|
31
|
+
claude-code headless argv before `-p`, mutually exclusive, gated on framework) and
|
|
32
|
+
`SpawnRequestManager`. Additive + gated: every non-A2A spawn is unchanged when the
|
|
33
|
+
options are absent; the stale-uuid resume-crash guard falls back to a fresh spawn.
|
|
34
|
+
|
|
35
|
+
## What to Tell Your User
|
|
36
|
+
|
|
37
|
+
Nothing user-facing changes. Internally, the apprenticeship now records which channel each
|
|
38
|
+
mentor↔mentee cycle ran through and structurally refuses to let a CLI/API shortcut count as
|
|
39
|
+
real keystone progress — so "is the real mentorship happening?" can't be faked.
|
|
40
|
+
|
|
41
|
+
When another agent and I have a back-and-forth, I now stay in the same
|
|
42
|
+
conversation across messages instead of forgetting between each one — so the
|
|
43
|
+
realistic turn-based exchange (which the upcoming agent-to-agent feedback work
|
|
44
|
+
relies on) holds its thread. It's an internal robustness fix; nothing to turn on.
|
|
45
|
+
The rapid-fire 3-messages-in-10-seconds case is smoothed by a separate follow-up.
|
|
46
|
+
|
|
47
|
+
## Summary of New Capabilities
|
|
48
|
+
|
|
49
|
+
- **Turn-based agent-to-agent continuity:** a peer agent's follow-up message now resumes the SAME conversation (full prior context) instead of cold-spawning a memoryless reply session.
|
|
50
|
+
|
|
51
|
+
## Evidence
|
|
52
|
+
|
|
53
|
+
Verified on this machine, before/after.
|
|
54
|
+
|
|
55
|
+
**Mechanism (directly verified, 2026-06-04):** `claude --session-id
|
|
56
|
+
a6b1c2d3-…-0002 -p "remember BANANA77"` created the transcript at exactly
|
|
57
|
+
`<that-uuid>.jsonl` (29 lines). `claude --resume <that-uuid> -p "what was the
|
|
58
|
+
secret word?"` grew the SAME transcript to 55 lines and the planted word
|
|
59
|
+
`BANANA77` appears in the resumed transcript (6×) — i.e. `--resume` reloaded the
|
|
60
|
+
full prior conversation. So set-then-resume by a known id gives real continuity.
|
|
61
|
+
|
|
62
|
+
**Before (live A6 round-trip, `echo-dawn-A6-verify-…`, server on v1.3.239):**
|
|
63
|
+
2× `[relay] Spawned session`, 0× `Resumed`; `onSessionComplete` fired + matched
|
|
64
|
+
the thread ("demoted 1 thread(s)") but `claudeSessionId` POST events = 0, so the
|
|
65
|
+
placeholder uuid was never upgraded → `jsonlExists` failed → cold-spawn.
|
|
66
|
+
|
|
67
|
+
**After (unit):** spawning with `sessionId` emits `--session-id <uuid>` before
|
|
68
|
+
`-p`; with `resumeSessionId` emits `--resume <uuid>`; neither when absent.
|
|
69
|
+
`spawnNewThread` persists the minted uuid as the entry uuid (not a placeholder);
|
|
70
|
+
`resumeThread` forwards `resumeSessionId = entry.uuid`. tsc clean; 1548
|
|
71
|
+
threadline/fixes/continuity tests green. The live Dawn round-trip showing
|
|
72
|
+
`Resumed` (not `Spawned`) runs post-deploy.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Enforcing the dogfooded channel — explained simply
|
|
2
|
+
|
|
3
|
+
The apprenticeship rule (just documented) is: a mentor must drive its mentee through
|
|
4
|
+
the REAL Telegram UX (via Playwright), because experiencing the user experience IS the
|
|
5
|
+
test. A shortcut — calling the mentee's CLI directly — gets an answer but skips the
|
|
6
|
+
thing we're actually testing.
|
|
7
|
+
|
|
8
|
+
A doc alone is a wish. This makes it a guarantee: every recorded apprenticeship cycle
|
|
9
|
+
now writes down WHICH channel it actually ran through. And the keystone check — the one
|
|
10
|
+
that tells us the real mentor↔mentee work is happening — only counts a cycle if it ran
|
|
11
|
+
through the real channel (Telegram-Playwright, or the backup). A shortcut cycle is still
|
|
12
|
+
saved (so we're honest it happened), but it does NOT light up the keystone. So a shortcut
|
|
13
|
+
can never make the program look healthier than it is.
|
|
14
|
+
|
|
15
|
+
Older cycles (recorded before this field existed) are grandfathered in — they still
|
|
16
|
+
count, so this never retroactively "un-fires" a keystone we already earned.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Mentor tick records keystone cycles — explained simply
|
|
2
|
+
|
|
3
|
+
When the automated mentor job runs a "tick" (it watches the mentee, gathers
|
|
4
|
+
findings), it used to log those findings to one place — but it never recorded a
|
|
5
|
+
proper "cycle" of the mentorship the way the apprenticeship program tracks them.
|
|
6
|
+
|
|
7
|
+
That mattered because the program's #1 failure mode is "role drift": the easy work
|
|
8
|
+
gets logged, but the actual keystone — the mentor↔mentee differential — quietly
|
|
9
|
+
never gets exercised. The manual loop I run by hand records those keystone cycles;
|
|
10
|
+
the automated job didn't.
|
|
11
|
+
|
|
12
|
+
This change wires the automated tick to ALSO record a real
|
|
13
|
+
`mentor-mentee-differential` cycle each time: the mentee's output becomes the
|
|
14
|
+
cycle's menteeOutput, the forensics findings become the differential. It only
|
|
15
|
+
does this when an apprenticeship instance is configured (a new
|
|
16
|
+
`mentor.apprenticeshipInstanceId` setting) — so by default nothing changes; it's
|
|
17
|
+
opt-in. Now the automated loop fires the same keystone axis the manual loop does,
|
|
18
|
+
which is the structural fix for that drift.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Side-Effects Review — Apprenticeship dogfooded-channel enforcement
|
|
2
|
+
|
|
3
|
+
**Slug:** `apprenticeship-channel-enforcement` · **Date:** `2026-06-04` · **Author:** `echo`
|
|
4
|
+
**Second-pass reviewer:** `not required` (additive field + a counting gate; grandfathered)
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
|
|
8
|
+
Adds a `channel` field to ApprenticeshipCycleStore records (`telegram-playwright` |
|
|
9
|
+
`threadline-backup` | `direct-shortcut` | `unknown`), an idempotent ALTER-TABLE migration
|
|
10
|
+
for existing DBs (default `unknown`), and a `roleCoverage` gate: a
|
|
11
|
+
`mentor-mentee-differential` cycle on `direct-shortcut` is recorded but does NOT count
|
|
12
|
+
toward the keystone axis (surfaced via a new `shortcutDifferentialCount`). Enforces the
|
|
13
|
+
§4a dogfooded-channel standard in code.
|
|
14
|
+
|
|
15
|
+
## Decision-point inventory
|
|
16
|
+
|
|
17
|
+
One new branch in `roleCoverage`: a mentor-mentee-differential cycle is skipped from axis
|
|
18
|
+
tallying iff `channel === 'direct-shortcut'`. Covered both-sides (dogfooded fires; shortcut
|
|
19
|
+
doesn't + increments the counter; grandfathered/backup fire).
|
|
20
|
+
|
|
21
|
+
## 1. Over-block
|
|
22
|
+
|
|
23
|
+
Rejects nothing. Garbage/unset channels normalize to `unknown`, which COUNTS (grandfathered)
|
|
24
|
+
— so it never retroactively un-fires an earned keystone (cycle #4, recorded pre-field, holds).
|
|
25
|
+
Only an EXPLICIT `direct-shortcut` is gated, and even then the cycle is still stored + listed.
|
|
26
|
+
|
|
27
|
+
## 2. Under-block
|
|
28
|
+
|
|
29
|
+
The mentor tick (#743) records cycles without setting `channel` → they default to `unknown`
|
|
30
|
+
→ count. That is intentionally grandfathered for now; aligning the automated tick to set
|
|
31
|
+
`direct-shortcut` (or to drive via Playwright, the real fix) is the follow-on once Codey's
|
|
32
|
+
Playwright driving capability exists. The gate is per-axis-tally; it does not retro-rewrite
|
|
33
|
+
stored rows.
|
|
34
|
+
|
|
35
|
+
## 3. Level-of-abstraction fit
|
|
36
|
+
|
|
37
|
+
Right layer: the enforcement lives in the cycle store's `roleCoverage` (the single place the
|
|
38
|
+
keystone is computed), reusing the existing axis-tally loop. No route/server change — the
|
|
39
|
+
existing `GET /apprenticeship/instances/:id/role-coverage` surfaces the new field for free.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Side-Effects Review — Mentor tick keystone cycle capture
|
|
2
|
+
|
|
3
|
+
**Slug:** `mentor-tick-cycle-capture` · **Date:** `2026-06-04` · **Author:** `echo`
|
|
4
|
+
**Second-pass reviewer:** `not required` (additive, opt-in, no-op by default)
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
|
|
8
|
+
`runMentorTick` now (after the existing per-finding ledger capture) records a
|
|
9
|
+
`mentor-mentee-differential` apprenticeship CYCLE via an injected, optional
|
|
10
|
+
`recordCycle`. The host (`AgentServer.buildMentorRunner`) wires it to the
|
|
11
|
+
ApprenticeshipCycleStore ONLY when `mentor.apprenticeshipInstanceId` is set, so it
|
|
12
|
+
is a no-op by default. The mentee's transcript is the cycle's menteeOutput; the
|
|
13
|
+
forensics findings (mapped to titles) are the differential.
|
|
14
|
+
|
|
15
|
+
## Decision-point inventory
|
|
16
|
+
|
|
17
|
+
One new branch: record a cycle iff `recordCycle` is wired AND the transcript is
|
|
18
|
+
non-empty. Both sides covered (records on a real tick; skips on empty transcript;
|
|
19
|
+
no-op when unwired).
|
|
20
|
+
|
|
21
|
+
## 1. Over-block
|
|
22
|
+
|
|
23
|
+
Rejects nothing real. The transcript guard skips an empty/failed Stage A (not a
|
|
24
|
+
cycle) — intended. Without `apprenticeshipInstanceId`, no cycle is recorded
|
|
25
|
+
(back-compat); the existing finding-capture path is unchanged.
|
|
26
|
+
|
|
27
|
+
## 2. Under-block
|
|
28
|
+
|
|
29
|
+
It records ALL of a tick's findings as the differential without de-duping against
|
|
30
|
+
prior cycles (acceptable — each tick is a distinct cycle). The cycle's `task` is a
|
|
31
|
+
generic per-tick descriptor, not the full Stage-A prompt (kept terse on purpose).
|
|
32
|
+
cycleNumber is computed as max-existing+1 (single-writer mentor tick, no race).
|
|
33
|
+
|
|
34
|
+
## 3. Level-of-abstraction fit
|
|
35
|
+
|
|
36
|
+
Right layer: the pure tick gets an injected callback (no store dependency in the
|
|
37
|
+
pure core); the store wiring + instance resolution live in `buildMentorRunner`
|
|
38
|
+
beside the existing `capture` wiring, reading the cycle store lazily to dodge the
|
|
39
|
+
boot-order (buildMentorRunner runs before the store is constructed).
|