Commit d62cb4d
Merge branch 'main' into proj/curate-dag-cutover (re-merge after PR #601)
Brings in main's PR #601 (Proj/curation enhancement, db6560e) which
restructured the post-curate flow:
- ENG-2485: Phase 4 propagation deferred to dream — curate now ENQUEUES
stale-summary paths via DreamStateService.enqueueStaleSummaryPaths and
rebuilds the manifest inline; the LLM-driven propagateStaleness walk
no longer runs on the curate hot path.
- ENG-2530: pre-pipelined recon for the agent-loop path (a deterministic
helper invocation that skips one full LLM iteration).
- ENG-2518: batched abstract generation across queued files.
Conflicts resolved (2 files):
- src/server/infra/executor/curate-executor.ts (2 hunks)
* Imports: kept HEAD's typed-slot DAG runner imports
(TopologicalCurationRunner, NodeContext, buildCurationDAG,
loadExistingMemory, buildLiveServices). Dropped main's
`recon as reconHelper` import — our DAG already has a recon-node
that runs deterministically as the first slot, so PR #601's
pre-pipelined reconHelper for the agent-loop path is redundant.
* Body: kept HEAD's typed-slot DAG runner (PR #578) inside the
runAgentBody/finalize split. Adopted main's `propagateAndRebuild`
helper (auto-merged from main) for the finalize thunk —
enqueueStaleSummaryPaths + buildManifest, no inline propagateStaleness.
- test/unit/infra/executor/curate-executor.test.ts
* Response assertions updated to match the typed-slot DAG output
(`/Curate completed via typed-slot DAG/`) instead of `'curated'`.
* Phase-4 lifecycle assertions adopted from main (enqueueStub +
buildManifestStub + propagateStalenessStub.called === false) —
confirming ENG-2485 invariant.
* Dropped the obsolete "pre-pipelined recon (ENG-2530)" describe
block — the typed-slot DAG runs recon as a node, not via sandbox-
variable injection. DAG-recon coverage lives in
test/unit/agent/curate-flow/dag-builder.test.ts.
* Dropped the "dream-lock coordination in Phase 4" describe block —
propagation moved to dream itself (ENG-2485), so the lock dance
no longer happens on the curate path.
Verification post-merge
- typecheck: 0 errors.
- 212/212 curate-related tests passing across:
* test/unit/infra/executor/curate-executor.test.ts (all split + leak + scoping tests)
* test/integration/curate/services-adapter-live-write.test.ts (Phase A+B prefix-cluster + batching)
* test/unit/agent/curate-flow/*.test.ts
* test/integration/curate/*.test.ts
* test/unit/agent/tools/curate-tool*.test.ts
* test/unit/infra/process/curate-log-handler.test.ts
- lint: 0 errors on changed files.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>24 files changed
Lines changed: 1566 additions & 219 deletions
File tree
- src
- agent/infra
- agent
- llm
- generators
- map
- system-prompt/contributors
- tools
- server/infra
- dream
- executor
- test/unit
- agent
- llm
- generators
- map
- infra
- dream
- executor
- llm
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | | - | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
197 | 204 | | |
198 | 205 | | |
199 | 206 | | |
200 | 207 | | |
201 | | - | |
202 | 208 | | |
203 | 209 | | |
204 | 210 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
63 | 75 | | |
64 | 76 | | |
65 | 77 | | |
| |||
902 | 914 | | |
903 | 915 | | |
904 | 916 | | |
905 | | - | |
906 | | - | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
907 | 922 | | |
908 | 923 | | |
909 | 924 | | |
| |||
944 | 959 | | |
945 | 960 | | |
946 | 961 | | |
947 | | - | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
948 | 966 | | |
949 | | - | |
| 967 | + | |
| 968 | + | |
950 | 969 | | |
951 | 970 | | |
952 | 971 | | |
| |||
1540 | 1559 | | |
1541 | 1560 | | |
1542 | 1561 | | |
1543 | | - | |
1544 | | - | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
1545 | 1568 | | |
1546 | 1569 | | |
1547 | 1570 | | |
| |||
1555 | 1578 | | |
1556 | 1579 | | |
1557 | 1580 | | |
1558 | | - | |
1559 | | - | |
1560 | | - | |
1561 | | - | |
1562 | | - | |
1563 | | - | |
1564 | | - | |
1565 | | - | |
1566 | | - | |
1567 | | - | |
1568 | | - | |
1569 | | - | |
1570 | | - | |
1571 | 1581 | | |
1572 | 1582 | | |
1573 | 1583 | | |
| |||
Lines changed: 25 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
25 | 47 | | |
26 | 48 | | |
27 | 49 | | |
| |||
54 | 76 | | |
55 | 77 | | |
56 | 78 | | |
57 | | - | |
| 79 | + | |
58 | 80 | | |
59 | 81 | | |
60 | 82 | | |
| |||
63 | 85 | | |
64 | 86 | | |
65 | 87 | | |
66 | | - | |
67 | 88 | | |
68 | 89 | | |
69 | 90 | | |
| |||
100 | 121 | | |
101 | 122 | | |
102 | 123 | | |
103 | | - | |
| 124 | + | |
104 | 125 | | |
105 | 126 | | |
106 | 127 | | |
| |||
109 | 130 | | |
110 | 131 | | |
111 | 132 | | |
112 | | - | |
113 | 133 | | |
114 | 134 | | |
115 | 135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
66 | 70 | | |
67 | 71 | | |
68 | 72 | | |
69 | 73 | | |
70 | 74 | | |
71 | 75 | | |
| 76 | + | |
72 | 77 | | |
73 | 78 | | |
74 | | - | |
| 79 | + | |
| 80 | + | |
75 | 81 | | |
76 | 82 | | |
77 | 83 | | |
| 84 | + | |
78 | 85 | | |
79 | 86 | | |
80 | 87 | | |
| |||
0 commit comments