instar 1.3.796 → 1.3.797
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/core/EvolutionManager.d.ts +27 -0
- package/dist/core/EvolutionManager.d.ts.map +1 -1
- package/dist/core/EvolutionManager.js +81 -2
- package/dist/core/EvolutionManager.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +3 -3
- package/upgrades/1.3.797.md +66 -0
- package/upgrades/side-effects/standby-write-wedge-fix.md +189 -0
|
@@ -158,7 +158,34 @@ export declare class EvolutionManager {
|
|
|
158
158
|
* emitter ONLY when `multiMachine.stateSync.evolutionActions.enabled` is true.
|
|
159
159
|
*/
|
|
160
160
|
private actionReplication;
|
|
161
|
+
/**
|
|
162
|
+
* Standby-write-wedge fix (2026-07-10): the last-emitted content fingerprint per
|
|
163
|
+
* record id, so a save re-emits ONLY records whose content actually changed. Without
|
|
164
|
+
* this, saveActions/saveLearnings re-emitted EVERY surviving record on EVERY write, and
|
|
165
|
+
* each emit's `loadWitness` re-scans the whole journal — turning one write into
|
|
166
|
+
* O(records × journalBytes) SYNCHRONOUS fs reads on the event loop. On a real agent this
|
|
167
|
+
* bloated the evolution-action journal to ~53MB / 61k records over 632 keys (each key
|
|
168
|
+
* re-emitted ~112×) and made ONE `POST /evolution/actions` do tens of GB of synchronous
|
|
169
|
+
* reads — starving the event loop until the supervisor killed the process. Skipping the
|
|
170
|
+
* re-emit of an UNCHANGED record preserves the load-bearing "a status change re-emits so a
|
|
171
|
+
* peer sees it" property (a changed record's fingerprint differs ⇒ it still emits) while
|
|
172
|
+
* removing the redundant re-emits that caused both the wedge AND the journal bloat.
|
|
173
|
+
* Seeded from the on-disk state when the emitter is attached (so a restart with a
|
|
174
|
+
* populated queue does not re-emit everything once on its first write). A false "unchanged"
|
|
175
|
+
* is bounded by the peer-pull backstop, so a compact non-cryptographic digest is safe.
|
|
176
|
+
*/
|
|
177
|
+
private lastEmittedActionFp;
|
|
178
|
+
private lastEmittedLearningFp;
|
|
161
179
|
constructor(config: EvolutionManagerConfig);
|
|
180
|
+
/**
|
|
181
|
+
* Content fingerprint for the replication-emit change-detector. Stable across
|
|
182
|
+
* re-serializations (object keys sorted recursively) so a re-parsed-but-identical record
|
|
183
|
+
* yields the SAME fingerprint and is skipped. NOT a security hash — collision-resistance
|
|
184
|
+
* is not required here (a false "unchanged" only skips a redundant re-emit, and the
|
|
185
|
+
* peer-pull path is the backstop). Kept private + local to the manager so this fix never
|
|
186
|
+
* touches the generic replication machinery (journal / emitter / reader).
|
|
187
|
+
*/
|
|
188
|
+
private emitFingerprint;
|
|
162
189
|
/**
|
|
163
190
|
* Late-bind the WS2.2 learning-record replication emitter (server.ts constructs the
|
|
164
191
|
* journal/clock AFTER the manager). Idempotent; passing undefined/null detaches (back
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvolutionManager.d.ts","sourceRoot":"","sources":["../../src/core/EvolutionManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"EvolutionManager.d.ts","sourceRoot":"","sources":["../../src/core/EvolutionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import fs from 'node:fs';
|
|
18
18
|
import path from 'node:path';
|
|
19
|
+
import { createHash } from 'node:crypto';
|
|
19
20
|
import { SafeFsExecutor } from './SafeFsExecutor.js';
|
|
20
21
|
import { TaskFlowError } from '../tasks/task-flow-types.js';
|
|
21
22
|
/**
|
|
@@ -105,10 +106,47 @@ export class EvolutionManager {
|
|
|
105
106
|
* emitter ONLY when `multiMachine.stateSync.evolutionActions.enabled` is true.
|
|
106
107
|
*/
|
|
107
108
|
actionReplication = null;
|
|
109
|
+
/**
|
|
110
|
+
* Standby-write-wedge fix (2026-07-10): the last-emitted content fingerprint per
|
|
111
|
+
* record id, so a save re-emits ONLY records whose content actually changed. Without
|
|
112
|
+
* this, saveActions/saveLearnings re-emitted EVERY surviving record on EVERY write, and
|
|
113
|
+
* each emit's `loadWitness` re-scans the whole journal — turning one write into
|
|
114
|
+
* O(records × journalBytes) SYNCHRONOUS fs reads on the event loop. On a real agent this
|
|
115
|
+
* bloated the evolution-action journal to ~53MB / 61k records over 632 keys (each key
|
|
116
|
+
* re-emitted ~112×) and made ONE `POST /evolution/actions` do tens of GB of synchronous
|
|
117
|
+
* reads — starving the event loop until the supervisor killed the process. Skipping the
|
|
118
|
+
* re-emit of an UNCHANGED record preserves the load-bearing "a status change re-emits so a
|
|
119
|
+
* peer sees it" property (a changed record's fingerprint differs ⇒ it still emits) while
|
|
120
|
+
* removing the redundant re-emits that caused both the wedge AND the journal bloat.
|
|
121
|
+
* Seeded from the on-disk state when the emitter is attached (so a restart with a
|
|
122
|
+
* populated queue does not re-emit everything once on its first write). A false "unchanged"
|
|
123
|
+
* is bounded by the peer-pull backstop, so a compact non-cryptographic digest is safe.
|
|
124
|
+
*/
|
|
125
|
+
lastEmittedActionFp = new Map();
|
|
126
|
+
lastEmittedLearningFp = new Map();
|
|
108
127
|
constructor(config) {
|
|
109
128
|
this.config = config;
|
|
110
129
|
this.stateDir = config.stateDir;
|
|
111
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Content fingerprint for the replication-emit change-detector. Stable across
|
|
133
|
+
* re-serializations (object keys sorted recursively) so a re-parsed-but-identical record
|
|
134
|
+
* yields the SAME fingerprint and is skipped. NOT a security hash — collision-resistance
|
|
135
|
+
* is not required here (a false "unchanged" only skips a redundant re-emit, and the
|
|
136
|
+
* peer-pull path is the backstop). Kept private + local to the manager so this fix never
|
|
137
|
+
* touches the generic replication machinery (journal / emitter / reader).
|
|
138
|
+
*/
|
|
139
|
+
emitFingerprint(record) {
|
|
140
|
+
const stable = JSON.stringify(record, (_k, val) => val && typeof val === 'object' && !Array.isArray(val)
|
|
141
|
+
? Object.keys(val)
|
|
142
|
+
.sort()
|
|
143
|
+
.reduce((acc, k) => {
|
|
144
|
+
acc[k] = val[k];
|
|
145
|
+
return acc;
|
|
146
|
+
}, {})
|
|
147
|
+
: val);
|
|
148
|
+
return createHash('sha1').update(stable ?? 'null').digest('hex');
|
|
149
|
+
}
|
|
112
150
|
/**
|
|
113
151
|
* Late-bind the WS2.2 learning-record replication emitter (server.ts constructs the
|
|
114
152
|
* journal/clock AFTER the manager). Idempotent; passing undefined/null detaches (back
|
|
@@ -117,6 +155,16 @@ export class EvolutionManager {
|
|
|
117
155
|
*/
|
|
118
156
|
setLearningReplicationEmitter(emitter) {
|
|
119
157
|
this.learningReplication = emitter ?? null;
|
|
158
|
+
// Seed the change-detector from the on-disk state so a restart with a populated
|
|
159
|
+
// registry does NOT re-emit everything on the first save (the cold-start wedge). The
|
|
160
|
+
// records in the persisted registry were already emitted by a prior session; a genuine
|
|
161
|
+
// divergence from the journal is caught by the peer-pull backstop, never a lost write.
|
|
162
|
+
this.lastEmittedLearningFp.clear();
|
|
163
|
+
if (this.learningReplication) {
|
|
164
|
+
for (const l of this.loadLearnings().learnings) {
|
|
165
|
+
this.lastEmittedLearningFp.set(l.id, this.emitFingerprint(l));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
120
168
|
}
|
|
121
169
|
/**
|
|
122
170
|
* Late-bind the WS2.5 evolution-action-record replication emitter (server.ts constructs the
|
|
@@ -126,6 +174,15 @@ export class EvolutionManager {
|
|
|
126
174
|
*/
|
|
127
175
|
setEvolutionActionReplicationEmitter(emitter) {
|
|
128
176
|
this.actionReplication = emitter ?? null;
|
|
177
|
+
// Seed the change-detector from the on-disk queue so a restart with a populated queue
|
|
178
|
+
// does NOT re-emit every action on the first save (the cold-start wedge). See
|
|
179
|
+
// lastEmittedActionFp for the full rationale.
|
|
180
|
+
this.lastEmittedActionFp.clear();
|
|
181
|
+
if (this.actionReplication) {
|
|
182
|
+
for (const a of this.loadActions().actions) {
|
|
183
|
+
this.lastEmittedActionFp.set(a.id, this.emitFingerprint(a));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
129
186
|
}
|
|
130
187
|
// ── TaskFlow wiring ─────────────────────────────────────────────
|
|
131
188
|
/**
|
|
@@ -788,14 +845,23 @@ export class EvolutionManager {
|
|
|
788
845
|
// above. The emitter counts its own failures internally; this guard only
|
|
789
846
|
// ensures a throw from the seam cannot propagate into the local write path.
|
|
790
847
|
}
|
|
848
|
+
this.lastEmittedLearningFp.delete(pruned.id);
|
|
791
849
|
}
|
|
850
|
+
// Standby-write-wedge fix (see saveActions): re-emit ONLY changed learnings. The old
|
|
851
|
+
// "re-emit every survivor" made each write O(records × journalBytes) synchronous
|
|
852
|
+
// journal scans; a status/applied change alters the fingerprint so it still re-emits.
|
|
792
853
|
for (const l of state.learnings) {
|
|
854
|
+
const fp = this.emitFingerprint(l);
|
|
855
|
+
if (this.lastEmittedLearningFp.get(l.id) === fp)
|
|
856
|
+
continue; // unchanged ⇒ skip re-emit
|
|
793
857
|
try {
|
|
794
858
|
emitter.emitPut(l);
|
|
859
|
+
this.lastEmittedLearningFp.set(l.id, fp);
|
|
795
860
|
}
|
|
796
861
|
catch {
|
|
797
862
|
// @silent-fallback-ok: see the emitDelete guard above — replication is
|
|
798
|
-
// best-effort and must never break the local write.
|
|
863
|
+
// best-effort and must never break the local write. The fingerprint is NOT
|
|
864
|
+
// recorded on a throw so the next save retries this record.
|
|
799
865
|
}
|
|
800
866
|
}
|
|
801
867
|
}
|
|
@@ -994,14 +1060,27 @@ export class EvolutionManager {
|
|
|
994
1060
|
// emitter counts its own failures internally; this guard only ensures a throw from
|
|
995
1061
|
// the seam cannot propagate into the local write path.
|
|
996
1062
|
}
|
|
1063
|
+
// A pruned id is gone from the queue; forget its fingerprint so the map does not
|
|
1064
|
+
// grow unbounded and a future id-reuse re-emits.
|
|
1065
|
+
this.lastEmittedActionFp.delete(pruned.id);
|
|
997
1066
|
}
|
|
1067
|
+
// Standby-write-wedge fix: re-emit ONLY records whose content changed since their last
|
|
1068
|
+
// emit. Re-emitting every unchanged survivor (the old behavior) turned each write into
|
|
1069
|
+
// O(records × journalBytes) synchronous journal scans (loadWitness materializes the
|
|
1070
|
+
// whole store per emit) — the event-loop wedge. A status change alters the fingerprint,
|
|
1071
|
+
// so the load-bearing "a peer sees the latest status" property is preserved.
|
|
998
1072
|
for (const a of state.actions) {
|
|
1073
|
+
const fp = this.emitFingerprint(a);
|
|
1074
|
+
if (this.lastEmittedActionFp.get(a.id) === fp)
|
|
1075
|
+
continue; // unchanged ⇒ skip re-emit
|
|
999
1076
|
try {
|
|
1000
1077
|
emitter.emitPut(a);
|
|
1078
|
+
this.lastEmittedActionFp.set(a.id, fp); // record only after a successful emit
|
|
1001
1079
|
}
|
|
1002
1080
|
catch {
|
|
1003
1081
|
// @silent-fallback-ok: see the emitDelete guard above — replication is best-effort
|
|
1004
|
-
// and must never break the local write.
|
|
1082
|
+
// and must never break the local write. The fingerprint is NOT recorded on a throw
|
|
1083
|
+
// so the next save retries this record.
|
|
1005
1084
|
}
|
|
1006
1085
|
}
|
|
1007
1086
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvolutionManager.js","sourceRoot":"","sources":["../../src/core/EvolutionManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EvolutionManager.js","sourceRoot":"","sources":["../../src/core/EvolutionManager.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-07-10T01:
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-07-10T01:41:12.381Z",
|
|
5
|
+
"instarVersion": "1.3.797",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -1634,7 +1634,7 @@
|
|
|
1634
1634
|
"type": "subsystem",
|
|
1635
1635
|
"domain": "evolution",
|
|
1636
1636
|
"sourcePath": "src/core/EvolutionManager.ts",
|
|
1637
|
-
"contentHash": "
|
|
1637
|
+
"contentHash": "65831e53fa285b7b2b4f8d1125d0076e37e48193425569591629f1774c6e4877",
|
|
1638
1638
|
"since": "2025-01-01"
|
|
1639
1639
|
}
|
|
1640
1640
|
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
**A standby machine no longer freezes its whole server when it records an evolution
|
|
9
|
+
action item or a learning.** On a multi-machine setup, `EvolutionManager.saveActions`
|
|
10
|
+
and `saveLearnings` re-emitted the cross-machine replication record for **every**
|
|
11
|
+
surviving record on **every** write, and each emit's witness lookup re-scans the entire
|
|
12
|
+
replication journal for that store. That made one write cost O(records × journalBytes) of
|
|
13
|
+
**synchronous** file reads on the event loop.
|
|
14
|
+
|
|
15
|
+
It also fed itself into a doom loop: re-emitting every unchanged record on every save
|
|
16
|
+
bloated the journal, and a bigger journal made the next write's scan slower. On a real
|
|
17
|
+
agent the evolution-action journal had grown to ~53 MB / ~61,000 records for only 632
|
|
18
|
+
distinct items — each item re-emitted ~112 times — and the local queue held ~1,200
|
|
19
|
+
actions. One `POST /evolution/actions` on that machine did tens of gigabytes of
|
|
20
|
+
synchronous reads at once, starving the event loop until the supervisor killed and
|
|
21
|
+
respawned the process. Because a slow request has a wide window to overlap one of these
|
|
22
|
+
background-job-triggered freezes, `POST /attention` timed out the same way even though it
|
|
23
|
+
does not touch that store.
|
|
24
|
+
|
|
25
|
+
The save now re-emits **only records whose content changed** since their last emit,
|
|
26
|
+
tracked by a small in-memory content fingerprint per record id. A genuine change (e.g. a
|
|
27
|
+
status flip to `completed`) still re-emits so peers see the latest state — the
|
|
28
|
+
load-bearing "a peer must see the new status" property is preserved and tested — but the
|
|
29
|
+
redundant re-emits that caused both the freeze and the journal bloat are gone. The
|
|
30
|
+
fingerprint map is seeded from on-disk state when the emitter is attached, so the first
|
|
31
|
+
write after a restart does not re-emit everything once. The fix lives entirely in the
|
|
32
|
+
manager's caller-side emit loop; the generic replication journal, emitter, and reader are
|
|
33
|
+
untouched.
|
|
34
|
+
|
|
35
|
+
## What to Tell Your User
|
|
36
|
+
|
|
37
|
+
Nothing to configure. If you run your agent across more than one machine, its standby
|
|
38
|
+
machine no longer freezes for tens of seconds (and get killed and restarted by its own
|
|
39
|
+
supervisor) whenever it records a self-improvement to-do or a lesson. Messages you send to
|
|
40
|
+
that machine during those moments stop getting swallowed. The cross-machine sharing of
|
|
41
|
+
your to-dos and lessons works exactly as before, just without the wasteful repetition that
|
|
42
|
+
was quietly bloating the internal log and freezing the server.
|
|
43
|
+
|
|
44
|
+
## Summary of New Capabilities
|
|
45
|
+
|
|
46
|
+
- Evolution action and learning replication re-emit only records whose content actually
|
|
47
|
+
changed, instead of every surviving record on every write — turning an
|
|
48
|
+
O(records × journalBytes) synchronous burst into a single small emit.
|
|
49
|
+
- The change-detector is seeded from on-disk state when the replication emitter is
|
|
50
|
+
attached, so a restart with a large existing queue does not re-emit everything on the
|
|
51
|
+
first write (no cold-start freeze).
|
|
52
|
+
- Status-change replication is preserved and covered by tests: a changed record still
|
|
53
|
+
re-emits so peers see the latest state; only redundant re-emits of unchanged records are
|
|
54
|
+
dropped.
|
|
55
|
+
|
|
56
|
+
## Evidence
|
|
57
|
+
|
|
58
|
+
- `tests/unit/evolution-manager-emit-wedge.test.ts` — new: pins the emit COUNT (the wedge
|
|
59
|
+
multiplier). 40 adds emit 40 puts (not 820); `updateAction` re-emits only the changed
|
|
60
|
+
action carrying its new status (not all survivors); an unchanged record emits nothing; a
|
|
61
|
+
simulated restart with a populated queue emits 1 (not N+1); learnings behave the same.
|
|
62
|
+
Proven failing-first against the pre-fix code (820 / 5 / 1 / 31 / 325).
|
|
63
|
+
- `tests/unit/evolution-manager-action-replication.test.ts`,
|
|
64
|
+
`tests/unit/evolution-manager-learning-replication.test.ts`,
|
|
65
|
+
`tests/e2e/ws2-evolution-actions-cross-instance.test.ts` — unchanged and green: the
|
|
66
|
+
status-change-propagation and prune-tombstone guarantees still hold.
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Side-Effects Review — Standby-write wedge fix (evolution/learning replication re-emits only changed records)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `standby-write-wedge-fix`
|
|
4
|
+
**Date:** `2026-07-09`
|
|
5
|
+
**Author:** `Echo (instar-dev)`
|
|
6
|
+
**Second-pass reviewer:** `Echo (independent read)`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
On a multi-machine setup, `EvolutionManager.saveActions` and `saveLearnings` re-emitted the
|
|
11
|
+
cross-machine replication record for **every** surviving record on **every** write. Each emit's
|
|
12
|
+
witness lookup (`ReplicatedRecordEmitter.emit` → `ReplicatedPeerStreamReader.loadWitness` →
|
|
13
|
+
`materialize()`) re-reads and JSON-parses the entire replication journal for that store. That made
|
|
14
|
+
one write cost O(records × journalBytes) of synchronous fs on the event loop, and it fed a doom
|
|
15
|
+
loop: re-emitting unchanged records bloated the journal (measured on a live agent: the
|
|
16
|
+
`evolution-action-record` journal grew to ~53 MB / ~61k records for only 632 distinct keys, each
|
|
17
|
+
re-emitted ~112×), which slowed every subsequent scan. With ~1,200 local actions, one
|
|
18
|
+
`POST /evolution/actions` did tens of GB of synchronous reads and starved the event loop until the
|
|
19
|
+
supervisor killed and respawned the process; `POST /attention` (a slow request that overlaps the
|
|
20
|
+
frequent background-job-triggered freezes) timed out the same way. The fix changes the two emit
|
|
21
|
+
loops to re-emit **only records whose content changed** since their last emit, tracked by a small
|
|
22
|
+
per-record-id content fingerprint (`emitFingerprint`), seeded from on-disk state when the emitter is
|
|
23
|
+
attached. Files: `src/core/EvolutionManager.ts` (fix), `tests/unit/evolution-manager-emit-wedge.test.ts` (new tests).
|
|
24
|
+
|
|
25
|
+
## Decision-point inventory
|
|
26
|
+
|
|
27
|
+
- `EvolutionManager.saveActions` emit loop — **modify** — emits PUT only for actions whose content fingerprint changed (was: every survivor).
|
|
28
|
+
- `EvolutionManager.saveLearnings` emit loop — **modify** — same, for learnings.
|
|
29
|
+
- `EvolutionManager.setEvolutionActionReplicationEmitter` / `setLearningReplicationEmitter` — **modify** — seed the change-detector from on-disk state on attach (cold-start guard).
|
|
30
|
+
- Prune/tombstone diff (`emitDelete` for removed records) — **pass-through** — unchanged; also drops the removed id's fingerprint.
|
|
31
|
+
- Generic replication machinery (`ReplicatedRecordEmitter`, `ReplicatedPeerStreamReader`, `CoherenceJournal`) — **pass-through** — deliberately untouched (the fix is caller-side only).
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 1. Over-block
|
|
36
|
+
|
|
37
|
+
No block/allow surface — over-block not applicable. This is a replication-emit change, not a gate.
|
|
38
|
+
The one "suppression" is skipping a re-emit of an UNCHANGED record; a genuinely changed record (any
|
|
39
|
+
field differs, including status) still emits, so no legitimate state change is withheld.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 2. Under-block
|
|
44
|
+
|
|
45
|
+
No block/allow surface — under-block not applicable. The narrow correctness edge is a "false
|
|
46
|
+
unchanged": if a record's on-disk content ever diverged from what the journal actually holds (e.g. a
|
|
47
|
+
crash between `writeFile` and the emit in the OLD code), the seed would treat it as already-emitted
|
|
48
|
+
and skip re-emitting it. This is bounded by the existing peer-pull/sync backstop (peers reconcile
|
|
49
|
+
full streams), and it is strictly safer than the pre-fix behavior (a guaranteed event-loop wedge).
|
|
50
|
+
Documented in the code comment on `lastEmittedActionFp`.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 3. Level-of-abstraction fit
|
|
55
|
+
|
|
56
|
+
Correct layer. The bug was in the manager's **caller-side** emit loop deciding WHICH records to hand
|
|
57
|
+
to the emitter — not in the generic replication substrate. The fix stays there: it changes only how
|
|
58
|
+
many records the manager emits, leaving the journal/emitter/reader contract identical. This
|
|
59
|
+
deliberately avoids touching the generic `loadWitness`/`materialize` path (the "risky replication
|
|
60
|
+
machinery"): making the witness lookup itself cheap (not scanning the whole store per key) is a
|
|
61
|
+
separate, deeper optimization tracked as follow-up (see Conclusion). Notably, the sibling replicated
|
|
62
|
+
stores (RelationshipManager, PreferencesManager) already emit only the single changed record — this
|
|
63
|
+
fix brings EvolutionManager into line with that existing, correct pattern.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 4. Signal vs authority compliance
|
|
68
|
+
|
|
69
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
70
|
+
|
|
71
|
+
- [x] No — this change has no block/allow surface.
|
|
72
|
+
|
|
73
|
+
The change is a data-write/replication optimization with no blocking authority. The emit remains
|
|
74
|
+
best-effort and try/catch-guarded exactly as before (a replication fault never breaks the local
|
|
75
|
+
write); the fingerprint is recorded only after a successful emit, so a throw leaves the record to be
|
|
76
|
+
retried on the next save.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 5. Interactions
|
|
81
|
+
|
|
82
|
+
- **Shadowing:** none. The emit loop runs after the local `writeFile` persists state (unchanged
|
|
83
|
+
order); the fingerprint skip runs before `emitPut` and only decides whether to call it.
|
|
84
|
+
- **Double-fire:** the fix REDUCES emits (fewer journal records), never adds one. The journal's own
|
|
85
|
+
op-key dedup is downstream and unaffected.
|
|
86
|
+
- **Races:** the fingerprint map is per-`EvolutionManager` instance, in-memory, and mutated only on
|
|
87
|
+
the synchronous save path (single-threaded event loop) — no shared-state race. Two managers over
|
|
88
|
+
the same dir (rare; e.g. a per-request instance) each keep their own map; the worst case is one
|
|
89
|
+
extra cold re-emit, bounded by the seeding.
|
|
90
|
+
- **Feedback loops:** this BREAKS the existing doom loop (re-emit-all → journal bloat → slower scan →
|
|
91
|
+
worse). It introduces no new feedback loop.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 6. External surfaces
|
|
96
|
+
|
|
97
|
+
- **Other agents / peers:** peers receive strictly FEWER redundant `evolution-action-record` /
|
|
98
|
+
`learning-record` journal entries. The union/materialize read on the receiving side folds to the
|
|
99
|
+
latest per (origin, recordKey) regardless of how many redundant copies arrived, so a peer's
|
|
100
|
+
resolved view is identical — it just stops accumulating duplicates. The load-bearing "a peer sees
|
|
101
|
+
the latest status" property is preserved (a status change re-emits) and covered by
|
|
102
|
+
`tests/e2e/ws2-evolution-actions-cross-instance.test.ts` (green).
|
|
103
|
+
- **Persistent state:** the replication journal stops bloating. Existing bloat (the ~53 MB
|
|
104
|
+
`evolution-action-record` peer stream) is not deleted by this change — it stops growing and is
|
|
105
|
+
trimmed over time by the existing archive-rotation / aggregate-budget machinery. No migration.
|
|
106
|
+
- **Operator surface (Mobile-Complete):** no operator-facing actions — not applicable.
|
|
107
|
+
- **External systems:** none (no Telegram/Slack/GitHub/Cloudflare surface).
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 6b. Operator-surface quality (Operator-Surface Quality standard)
|
|
112
|
+
|
|
113
|
+
No operator surface — not applicable. This change touches no dashboard renderer, approval page, or
|
|
114
|
+
grant/revoke/secret-drop form.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
119
|
+
|
|
120
|
+
**replicated** — this IS a replication-path change. The state (evolution actions, learnings) follows
|
|
121
|
+
the agent across machines via the coherence-journal `evolution-action-record` / `learning-record`
|
|
122
|
+
kinds, gated by `multiMachine.stateSync.evolutionActions` / `.learnings`. The fix preserves that
|
|
123
|
+
replication (changed records still cross machines) while removing the redundant re-emits that caused
|
|
124
|
+
the wedge and the journal bloat. It emits no user-facing notices (no one-voice concern). It holds no
|
|
125
|
+
new durable state (the fingerprint map is in-memory, seeded from disk on attach). It generates no
|
|
126
|
+
URLs. On a single-machine agent the emitter is not attached (dark), so the change is a strict no-op
|
|
127
|
+
there.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 8. Rollback cost
|
|
132
|
+
|
|
133
|
+
Pure code change — revert `src/core/EvolutionManager.ts` and ship a patch. No persistent state to
|
|
134
|
+
clean up (the in-memory fingerprint map simply stops existing on revert; reverting restores the old
|
|
135
|
+
re-emit-all behavior, i.e. the wedge returns but nothing is corrupted). No agent state repair. No
|
|
136
|
+
user-visible regression during the rollback window. The existing journal bloat is orthogonal to the
|
|
137
|
+
code change (rolling back does not re-inflate anything already trimmed).
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Conclusion
|
|
142
|
+
|
|
143
|
+
This review produced no design changes. The fix is contained to the manager's caller-side emit loop,
|
|
144
|
+
brings EvolutionManager into line with how the sibling replicated stores already emit (single changed
|
|
145
|
+
record), and is proven with a failing-first test that pins the emit COUNT (the wedge multiplier).
|
|
146
|
+
One follow-up is flagged, not blocking: even after this fix, a single emit still calls `loadWitness`
|
|
147
|
+
→ `materialize()`, which reads the whole (now non-growing) store journal — ~hundreds of ms on the
|
|
148
|
+
current ~53 MB bloat, a block but not a wedge. Making the witness lookup itself O(1)-ish (index the
|
|
149
|
+
per-key max HLC instead of re-materializing the whole store) is a deeper optimization in the generic
|
|
150
|
+
`ReplicatedPeerStreamReader` and is deliberately OUT of scope here to keep this fix off the risky
|
|
151
|
+
replication machinery; it should be tracked as a follow-up along with a one-time compaction of the
|
|
152
|
+
already-accumulated journal bloat. Clear to ship.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Second-pass review (if required)
|
|
157
|
+
|
|
158
|
+
**Reviewer:** Echo (independent read)
|
|
159
|
+
**Independent read of the artifact: concur**
|
|
160
|
+
|
|
161
|
+
The fix targets the proven root cause (re-emit-all + per-emit whole-journal scan), stays off the
|
|
162
|
+
generic replication substrate, preserves the tested status-change-propagation guarantee, and is
|
|
163
|
+
backed by a failing-first test. The residual (per-emit materialize cost on the existing bloat) is
|
|
164
|
+
honestly scoped as a non-blocking follow-up.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Evidence pointers
|
|
169
|
+
|
|
170
|
+
- `tests/unit/evolution-manager-emit-wedge.test.ts` — new; failing-first proof against pre-fix code
|
|
171
|
+
produced exactly the O(N) counts (820 / 5 / 1 / 31 / 325), passes after the fix.
|
|
172
|
+
- Live forensics: `evolution-action-record` peer journal = 61,649 records over 632 distinct
|
|
173
|
+
recordKeys (max re-emits of one key = 112), ~53 MB; local `action-queue.json` = 1,188 actions;
|
|
174
|
+
`GET /write-admission` `eventLoop.starvedWindows24h = 13`.
|
|
175
|
+
- `tests/unit/evolution-manager-action-replication.test.ts`,
|
|
176
|
+
`tests/unit/evolution-manager-learning-replication.test.ts`,
|
|
177
|
+
`tests/integration/ws25-evolution-actions-emit.test.ts`,
|
|
178
|
+
`tests/e2e/ws2-evolution-actions-cross-instance.test.ts` — unchanged, green.
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Class-Closure Declaration (display-only mirror)
|
|
183
|
+
|
|
184
|
+
No agent-authored-artifact defect — not applicable. This fixes a code performance/event-loop defect
|
|
185
|
+
in a data-write path (`EvolutionManager.saveActions`/`saveLearnings`), not an LLM prompt, hook,
|
|
186
|
+
config, skill, or standards text. It is not a self-triggered controller in the
|
|
187
|
+
`unbounded-self-action` class: the emit loop runs synchronously as part of a write the agent
|
|
188
|
+
explicitly performs (add/update an action or learning), not on its own timer/monitor/recovery
|
|
189
|
+
trigger.
|