@plurnk/plurnk-service 1.0.2 → 1.0.3

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.
Files changed (37) hide show
  1. package/.env.defaults +13 -0
  2. package/SPEC.md +4 -2
  3. package/dist/core/Dispatcher.d.ts +2 -1
  4. package/dist/core/Dispatcher.d.ts.map +1 -1
  5. package/dist/core/Dispatcher.js +45 -7
  6. package/dist/core/Dispatcher.js.map +1 -1
  7. package/dist/core/Engine.d.ts +6 -1
  8. package/dist/core/Engine.d.ts.map +1 -1
  9. package/dist/core/Engine.js +26 -2
  10. package/dist/core/Engine.js.map +1 -1
  11. package/dist/core/Engine.sql +6 -0
  12. package/dist/core/TelemetryChannel.d.ts +1 -1
  13. package/dist/core/TelemetryChannel.d.ts.map +1 -1
  14. package/dist/core/TelemetryChannel.js +4 -1
  15. package/dist/core/TelemetryChannel.js.map +1 -1
  16. package/dist/core/git-env.d.ts +2 -0
  17. package/dist/core/git-env.d.ts.map +1 -0
  18. package/dist/core/git-env.js +8 -0
  19. package/dist/core/git-env.js.map +1 -0
  20. package/dist/core/git-membership.d.ts.map +1 -1
  21. package/dist/core/git-membership.js +4 -3
  22. package/dist/core/git-membership.js.map +1 -1
  23. package/dist/core/git-state.d.ts.map +1 -1
  24. package/dist/core/git-state.js +2 -1
  25. package/dist/core/git-state.js.map +1 -1
  26. package/dist/core/search-gate.d.ts +17 -0
  27. package/dist/core/search-gate.d.ts.map +1 -0
  28. package/dist/core/search-gate.js +0 -0
  29. package/dist/core/search-gate.js.map +1 -0
  30. package/dist/core/search-prefetch.d.ts +17 -0
  31. package/dist/core/search-prefetch.d.ts.map +1 -0
  32. package/dist/core/search-prefetch.js +164 -0
  33. package/dist/core/search-prefetch.js.map +1 -0
  34. package/dist/server/Daemon.d.ts.map +1 -1
  35. package/dist/server/Daemon.js +15 -0
  36. package/dist/server/Daemon.js.map +1 -1
  37. package/package.json +14 -14
package/.env.defaults CHANGED
@@ -206,3 +206,16 @@ PLURNK_SERVICE_SEMANTIC_CHUNK_OVERLAP=0.15
206
206
  # degrades to keyword ranking and no vectors are derived (no MiniLM pool spun up). For
207
207
  # hosts/runs that don't want vector search; the fast test lane sets it in .env.test.
208
208
  PLURNK_SERVICE_EMBED_DISABLE=0
209
+
210
+ # --- Search prefetch (§search-prefetch, #333) ---
211
+ # Exec runtimes whose #results digest declares web members: on conclusion every candidate url
212
+ # is materialized into an ordinary http entry (inside the EXEC_HOLD window) and #results is
213
+ # rewritten as the survivor render — chooser context + live token/line costs, dead rows gone.
214
+ PLURNK_SERVICE_SEARCH_PREFETCH_RUNTIMES=search
215
+ # Fan-out width for the materialization pass.
216
+ PLURNK_SERVICE_SEARCH_PREFETCH_CONCURRENCY=4
217
+ # Per-page ceiling (ms): a page slower than this is not a member (rummy: parallel, 10s).
218
+ PLURNK_SERVICE_SEARCH_PREFETCH_TIMEOUT_MS=10000
219
+ # Per-turn search flood cap: the (N+1)th search EXEC in one turn is refused 429 (dedup of
220
+ # identical queries is unconditional and separate — it strikes and serves the prior results).
221
+ PLURNK_SERVICE_SEARCH_MAX_PER_TURN=3
package/SPEC.md CHANGED
@@ -621,7 +621,7 @@ The engine's failure terminals — **500** (strike threshold) and **508** (cycle
621
621
  **Three engine error states verify the claim.** None is a status code the model learns; all are engine machinery (§engine-rails), pushed to the model as a steering hint on the next packet and **never** as the strike itself (the model sees errors that happened, never the engine's accounting — the gamification policy, §engine-rails). Each strikes (`turnErrors`) and lets the loop continue so the model can correct; a model that ignores the hint and keeps offending spins out to the engine's 500, seeing only the repeated hint, never the count. (All live at `Engine.runLoop`'s turn close.)
622
622
 
623
623
  - **Idle turn** {§send-idle-turn} — a continuing turn (102) whose ops are only PLAN/SEND — no work op. The model continued with nothing to do. The steer, verbatim: *"If your work is done, conclude with 200. If you're waiting on a child or stream you spawned, SEND[202] to block on it — a 202 with nothing to wait on simply concludes."*
624
- - **Premature terminate — the pending set** {§send-premature-terminate} — `SEND[200]` terminates, gated by ONE rule: *nothing pending may be silently discarded*. pending = open streams/spawns (§subscriptions) ∪ **live child runs** (a child is live by its **latest loop** — the same definition §child-orientation renders, so the gate and the section the model reads never disagree) ∪ **this turn's retrievals** (READ/FIND/OPEN rows, whose results fold back next packet — a [200] over them discards answers the model asked for) ∪ **children terminated during this turn's generation** (`terminated_at` past the current turn's timestamp — no longer *live*, but their §run-scheme collect deltas are queued for the NEXT build and unseen; the 1ms fan-out race where workers outrun the parent's own emission {§send-undelivered-child-term}). The set is judged **at the terminal's own dispatch, post-batch**: the emission's earlier ops have executed, so a same-turn `KILL + [200]` repairs in ONE turn, and a same-turn `WORK + [200]` is caught (the spawn is live by the time the SEND lands). A refusal is **409** with one steer naming the pending kinds — *"KILL what you no longer need; SEND[102] (or [102]<seconds>) to receive the rest; then conclude"* — the row records the attempt faithfully (never rewritten, never erased) and the loop stays a continue. The strike is **kind-specific** (owner ruling): a refusal holding open streams or live children strikes (§grinder-strike-coupling — discarding live work stays serious); a **retrievals-only** refusal teaches WITHOUT striking — atomic-turn-pretrained models pair fetch-and-answer by habit, each refusal is individually correct, and maxTurns bounds the walk; striking executed visibly-converging behavior (the jumbo/admins specimens: three correct refusals → 500 mid-adaptation). Its steer speaks PACKET-TIME, not dispatch-time (*"Their results are now in the log for review and reaction"* — owner wording, #384): the model reads the 409 in the same packet where the retrieval results already sit, so the steer names their presence and the move. Dispatch-time phrasings failed twice "Retrieval operations performed" gave no move (a correct answer refused twice spiraled into verification theater), and a future tense ("the results land next turn conclude then") read as wait-more (the model parked on it). **Failures gate the terminal identically** {§send-200-failed-ops} — a turn that carried **failed operations** (the model's own op results at status ≥ 400, or this emission's parse errors) cannot conclude `200`: those errors land in the log **next** packet, so a same-turn `[200]` concludes blind past a failure the model never weighed — refused **409** (*"weigh them, then conclude"*), the row faithful, the loop a continue; next turn, the failures in-log and seen, `[200]` stands (the gate judges only the current turn, so it never re-arms on its own refusal). `SEND[499]` abandons regardless — discard by stated intent, the one legitimate discard; declaring failure IS weighing it. Waiting is its own signal — `SEND[202]<T,P>` (§wait-obligation-matrix): a **bounded** block on the loop's live obligations, `loops.status = 202` internally, woken by any arrival (stream/child conclusion, sibling irc, operator inject) or its `<T>` deadline. A `202` with **no** obligation resolves like `200` — a wait on nothing is already satisfied — and `<-1>+∅` (an unbounded wait on nothing) self-resolves rather than hang the agent. A child that **terminated during this turn's generation** is not ∅: its deliverable is on the doorstep (queued for the next build), so the wait CONTINUES like a retrieval (R semantics — parking would hang, the wake edges having already fired into an unparked run; §send-undelivered-child-term). The groundless park is therefore never *refused*, it is *complete*: an idle run with nothing in flight **concludes** (§run-lifecycle-idle-is-concluded), reawakened later by a new prompt as a new loop. The park deadline is engine-memory consumed by the daemon's drain park-exit (a daemon restart drops pending deadlines; arrivals still wake).
624
+ - **Premature terminate — the pending set** {§send-premature-terminate} — `SEND[200]` terminates, gated by ONE rule: *nothing pending may be silently discarded*. pending = open streams/spawns (§subscriptions) ∪ **live child runs** (a child is live by its **latest loop** — the same definition §child-orientation renders, so the gate and the section the model reads never disagree) ∪ **this turn's retrievals** (READ/FIND/OPEN rows, whose results fold back next packet — a [200] over them discards answers the model asked for) ∪ **children terminated during this turn's generation** (`terminated_at` past the current turn's timestamp — no longer *live*, but their §run-scheme collect deltas are queued for the NEXT build and unseen; the 1ms fan-out race where workers outrun the parent's own emission {§send-undelivered-child-term}). The set is judged **at the terminal's own dispatch, post-batch**: the emission's earlier ops have executed, so a same-turn `KILL + [200]` repairs in ONE turn, and a same-turn `WORK + [200]` is caught (the spawn is live by the time the SEND lands). A refusal is **409** with one steer naming the pending kinds — *"KILL what you no longer need; SEND[102] (or [102]<seconds>) to receive the rest; then conclude"* — the row records the attempt faithfully (never rewritten, never erased) and the loop stays a continue. The strike is **kind-specific** (owner ruling): a refusal holding open streams or live children strikes (§grinder-strike-coupling — discarding live work stays serious); a **retrievals-only** refusal teaches WITHOUT striking — atomic-turn-pretrained models pair fetch-and-answer by habit, each refusal is individually correct, and maxTurns bounds the walk; striking executed visibly-converging behavior (the jumbo/admins specimens: three correct refusals → 500 mid-adaptation). Its steer (*"Last turn both performed retrieval operations and attempted to terminate. Retrieval operations force an additional turn to receive results for review and reaction. To conclude, only use PLAN and SEND[200] operations."* — owner wording, #384/run48) carries three lessons the specimen requiems taught: it narrates the refusal as HISTORY (weak models read log rows in the third person and never take "you"-steers as self-addressed run48's model called our 409 "strange… Anyway" and proceeded), it states the mechanism as law (retrievals FORCE an additional turn physics, not blame), and it prescribes the concluding emission's legal SHAPE (PLAN + SEND[200] only), leaving no room for the groundedness-trained justify-READ that re-armed the gate four times around a correct answer. **Failures gate the terminal identically** {§send-200-failed-ops} — a turn that carried **failed operations** (the model's own op results at status ≥ 400, or this emission's parse errors) cannot conclude `200`: those errors land in the log **next** packet, so a same-turn `[200]` concludes blind past a failure the model never weighed — refused **409** (*"weigh them, then conclude"*), the row faithful, the loop a continue; next turn, the failures in-log and seen, `[200]` stands (the gate judges only the current turn, so it never re-arms on its own refusal). `SEND[499]` abandons regardless — discard by stated intent, the one legitimate discard; declaring failure IS weighing it. Waiting is its own signal — `SEND[202]<T,P>` (§wait-obligation-matrix): a **bounded** block on the loop's live obligations, `loops.status = 202` internally, woken by any arrival (stream/child conclusion, sibling irc, operator inject) or its `<T>` deadline. A `202` with **no** obligation resolves like `200` — a wait on nothing is already satisfied — and `<-1>+∅` (an unbounded wait on nothing) self-resolves rather than hang the agent. A child that **terminated during this turn's generation** is not ∅: its deliverable is on the doorstep (queued for the next build), so the wait CONTINUES like a retrieval (R semantics — parking would hang, the wake edges having already fired into an unparked run; §send-undelivered-child-term). The groundless park is therefore never *refused*, it is *complete*: an idle run with nothing in flight **concludes** (§run-lifecycle-idle-is-concluded), reawakened later by a new prompt as a new loop. The park deadline is engine-memory consumed by the daemon's drain park-exit (a daemon restart drops pending deadlines; arrivals still wake).
625
625
  - **SEND[300] is an operator question — a PROPOSAL, the stop-the-world system file edits and MCP auths ride** (owner ruling, #346). Enablement cascades: `PLURNK_QUESTIONS=0` is a servicewide ceiling; otherwise the client affirmatively requests per session (`settings.questions: true` at session.create), which ALSO injects the questions.md teaching — capability and teaching gate as one. Enabled: the `;`-delimited body parses leniently (first segment the question, the rest choices; zero choices = an open question — never malformed), and the ask raises a proposal: dispatch stops the world, `loop/proposal` carries `{question, choices}` in attrs, and the client's `loop.resolve {decision:"accept", body}` delivers the ANSWER — written into the ask's own model-facing rx (`{"status":200,"body":…}`), read next packet. Reject/timeout resolve through the standard §proposal semantics; the turn records a continue either way (never a 300 terminal), and the loop simply proceeds. YOLO never auto-answers a question — it exists precisely to stop the world for a human, and the session opted in. Disabled: refused 409 with a self-decide steer, never a park into the void. {§send-300-choices}
626
626
 
627
627
  ### §exec EXEC
@@ -1160,7 +1160,9 @@ Each entry: question, answer, rationale, migration path.
1160
1160
 
1161
1161
  **Workspace identity.** No `projects` table; `sessions.project_root TEXT` (nullable = headless) anchors the workspace. `entries.scope ∈ {'session','run'}` (agent-scope retired). Workspace = session; no users/auth/multi-tenant.
1162
1162
 
1163
- **git is the substrate.** {§membership-git-membership} git-tracked files (`git ls-files`) are members with no explicit overlaychannel-less markers, disk is truth. git absent no fs-walk (non-git/headless get no substrate membership); `pick` is then the sole source.
1163
+ **Search declares web members.** {§search-prefetch} A search runtime's `#results` digest is a CANDIDATE enumeration; on the exec's conclusion — inside the `PLURNK_SERVICE_EXEC_HOLD` window, so the model's next packet already carries the outcome — the engine materializes every candidate URL into an ordinary http entry through the scheme's own read path (a sync pass, like the workspace pass: below the dispatcher, minting NO log rows; the pass's page conclusions are swallowed, never wake edges), then REWRITES `#results` as the survivor render. The entry set is the only truth: a page that fails to open, times out (`PLURNK_SERVICE_SEARCH_PREFETCH_TIMEOUT_MS`), or renders to nothing never becomes an entry, so a dead row never appears — nothing is filtered because nothing else is authoritative (owner ruling). Chooser context (title/snippet/publishedDate) is stamped onto each survivor's entry attributes and rides the render together with live token/line costsONE listing, no synthetic FIND (owner ruling). A prefetched page is INDISTINGUISHABLE from a hand-READ page: same channels, same validators, same catalog row, same scheme rules — there are no magic entries. Fan-out width is `PLURNK_SERVICE_SEARCH_PREFETCH_CONCURRENCY`; the participating runtimes are `PLURNK_SERVICE_SEARCH_PREFETCH_RUNTIMES`. **The search gates** (#406, owner ruling) are rail-family accounting — in-memory per-loop state cleaned at the same seam as strikes, restart-drop accepted (a post-restart duplicate re-fetches; the TTL makes it cheap): an IDENTICAL duplicate (same runtime + command in one loop) **strikes and serves** — status 409 (the strike rail counts the turn failure) carrying the prior survivor digest re-read live from the original exec entry, no re-fetch, no provenance prose; the per-turn CAP (`PLURNK_SERVICE_SEARCH_MAX_PER_TURN`) is flood control 429 with a legible steer, nothing served. {§search-gate}
1164
+
1165
+ **git is the substrate.** {§membership-git-membership} git-tracked files (`git ls-files`) are members with no explicit overlay — channel-less markers, disk is truth. git absent → no fs-walk (non-git/headless get no substrate membership); `pick` is then the sole source. **Every git spawn scrubs ambient `GIT_*`** (#401): a process launched from a git hook inherits `GIT_DIR` — absolute in a worktree checkout — which retargets every child git at the enclosing repo regardless of cwd; project git state binds to the session's `project_root`, never to whoever spawned the daemon. One boundary (`git-env.hermeticGitEnv`), threaded through membership, telemetry, and every test fixture. {§membership-git-hermetic}
1164
1166
 
1165
1167
  **Membership is a declared forest of repos.** {§membership-forest} A workspace is not one git repo but a **forest**: membership is the union, over a session-declared set of repos, of each repo's `ls-files` (gitlinks/mode-160000 filtered), each path-prefixed by the repo's path relative to `project_root`. The root need not itself be a repo — a non-git parent of ninety repos resolves to all ninety. A worktree, a submodule, a buried repo are not special cases: each is just another declared repo, resolved `rev-parse --show-toplevel` → `ls-files` in the tree it points at.
1166
1168
  - **Membership-gated edits.** {§membership-edit-membership-gate} EDIT is bounded by membership exactly as READ is. An existing **member**'s baseline is its entry snapshot — the body channel the model READ, not a fresh disk read — so the diff is naive against the view the model saw, never empty (the write-side CAS, §membership-edit-write-cas, prevents the silent overwrite of out-of-band drift). An existing **non-member** is refused (403) *before* any read or write: the model never reads a file it can't see (no leak into the proposal) and never overwrites one (no wiping a gitignored `.env` it never added). A **new path** stays open — proposal→accept adds it to the manifest. Reaching past membership is `EXEC[sh]`'s job, not the file scheme's.
@@ -30,7 +30,7 @@ export type DispatchResult = {
30
30
  };
31
31
  export default class Dispatcher {
32
32
  #private;
33
- constructor({ db, schemes, mimetypes, tokenize, telemetry, proposals, executors, loopSignal, streamEventNotify, wakeRunNotify, injectRun, cancelRun, parkDeadlines, joinTargets }: {
33
+ constructor({ db, schemes, mimetypes, tokenize, telemetry, proposals, executors, loopSignal, streamEventNotify, wakeRunNotify, injectRun, cancelRun, searchGate, parkDeadlines, joinTargets }: {
34
34
  db: Db;
35
35
  schemes: SchemeRegistry;
36
36
  mimetypes: Mimetypes;
@@ -44,6 +44,7 @@ export default class Dispatcher {
44
44
  injectRun?: InjectRunNotify;
45
45
  cancelRun?: CancelRunNotify;
46
46
  parkDeadlines?: Map<number, number>;
47
+ searchGate?: import("./search-gate.ts").default;
47
48
  joinTargets?: Set<number>;
48
49
  });
49
50
  dispatch(context: DispatchContext): Promise<DispatchResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"Dispatcher.d.ts","sourceRoot":"","sources":["../../src/core/Dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dispatcher.d.ts","sourceRoot":"","sources":["../../src/core/Dispatcher.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { decodePathParens } from "./path-decode.js";
7
7
  import { DEFAULT_LOOP_FLAGS } from "./scheme-types.js";
8
8
  import { LineMarkerOps, MimetypeBinary } from "../content/index.js";
9
9
  import SchemeCtxImpl from "./caps/SchemeCtxImpl.js";
10
+ import EntryCrud from "../schemes/_entry-crud.js";
10
11
  import SessionSettings from "./session-settings.js";
11
12
  // SPEC §scheme-surface: writer must be in target scheme's manifest.writableBy.
12
13
  // OPEN/FOLD/READ/FIND are not gated — they curate the log or read, never mutating an entry.
@@ -37,10 +38,11 @@ class Dispatcher {
37
38
  // §send-premature-terminate/[102]<T> — the engine-owned park-deadline registry (loopId → seconds;
38
39
  // -1 = indefinite). The dispatcher WRITES at park; the daemon's drain park-exit consumes.
39
40
  #parkDeadlines;
41
+ #searchGate;
40
42
  // §join-blocking-collect (#354) — loops with a READ(run://running-child) armed this turn; a bare
41
43
  // SEND[102] parks on it (blocking join). Engine-owned, twin of #parkDeadlines.
42
44
  #joinTargets;
43
- constructor({ db, schemes, mimetypes, tokenize, telemetry, proposals, executors, loopSignal, streamEventNotify, wakeRunNotify, injectRun, cancelRun, parkDeadlines, joinTargets }) {
45
+ constructor({ db, schemes, mimetypes, tokenize, telemetry, proposals, executors, loopSignal, streamEventNotify, wakeRunNotify, injectRun, cancelRun, searchGate, parkDeadlines, joinTargets }) {
44
46
  this.#db = db;
45
47
  this.#schemes = schemes;
46
48
  this.#mimetypes = mimetypes;
@@ -54,6 +56,7 @@ class Dispatcher {
54
56
  this.#injectRun = injectRun;
55
57
  this.#cancelRun = cancelRun;
56
58
  this.#parkDeadlines = parkDeadlines ?? new Map();
59
+ this.#searchGate = searchGate;
57
60
  this.#joinTargets = joinTargets ?? new Set();
58
61
  }
59
62
  async dispatch(context) {
@@ -102,7 +105,7 @@ class Dispatcher {
102
105
  // Per plurnk.md the op routes unconditionally to the
103
106
  // exec scheme; the scheme handler reads runtime
104
107
  // (signal), cwd (target), and command (body).
105
- result = await this.#run("exec", statement, schemeCtx);
108
+ result = await this.#gatedExec(statement, schemeCtx, loopId, turnId);
106
109
  }
107
110
  else {
108
111
  result = await this.#run(schemeNameOf(statement.target), statement, schemeCtx); // §op-methods-op-dispatch
@@ -124,6 +127,15 @@ class Dispatcher {
124
127
  if (typeof result.awaitRun === "string")
125
128
  this.#joinTargets.add(loopId);
126
129
  const logEntryId = await this.#writeLog({ statement, result, runId, loopId, turnId, sequence, origin });
130
+ // §search-gate — register successful searches AFTER #writeLog stamps the runtime
131
+ // entry's coordinate onto result.attrs.pathname (the gate's dedup serves from it).
132
+ if (statement.op === "EXEC" && result.status < 400) {
133
+ const rt = ("signal" in statement && typeof statement.signal === "string" && statement.signal.length > 0) ? statement.signal : "sh";
134
+ const cmd = ("body" in statement && typeof statement.body === "string") ? statement.body : "";
135
+ const attrPath = result.attrs?.pathname;
136
+ if (typeof attrPath === "string")
137
+ this.#searchGate?.registerPending(loopId, turnId, rt, cmd, attrPath);
138
+ }
127
139
  onDispatch?.(logEntryId);
128
140
  // Proposal lifecycle (SPEC.md §engine-rails + §methods loop.resolve; §proposal-202-pauses). When a
129
141
  // side-effecting op returns status 202 (a broadcast SEND[202] park is model
@@ -281,6 +293,30 @@ class Dispatcher {
281
293
  const target = schemeNameOf(statement.target);
282
294
  return this.#denyIfDisallowed(target, origin);
283
295
  }
296
+ // §search-gate (#406, owner ruling) — search runtimes only; everything else dispatches
297
+ // untouched. A DUPLICATE (same runtime+command this loop) STRIKES AND SERVES: 409 (the
298
+ // strike rail counts the turn failure; the failed-ops gate holds the terminal a turn)
299
+ // carrying the prior survivor digest re-read live — the model sees its results again, the
300
+ // engine never re-fetches, no provenance prose. The per-turn CAP is flood control: 429.
301
+ async #gatedExec(statement, ctx, loopId, turnId) {
302
+ const runtime = ("signal" in statement && typeof statement.signal === "string" && statement.signal.length > 0) ? statement.signal : "sh";
303
+ const command = ("body" in statement && typeof statement.body === "string") ? statement.body : "";
304
+ const verdict = this.#searchGate?.check(loopId, turnId, runtime, command) ?? { verdict: "pass" };
305
+ if (verdict.verdict === "capped") {
306
+ return { status: 429, error: `Per-turn search limit reached (${verdict.cap}) — act on the results you already hold; further searches continue next turn.` };
307
+ }
308
+ if (verdict.verdict === "duplicate") {
309
+ const prior = await EntryCrud.readEntry(verdict.priorPathname, ctx, runtime);
310
+ const raw = prior.entry?.channels["#results"]?.content ?? "";
311
+ let results = raw;
312
+ try {
313
+ results = JSON.parse(raw);
314
+ }
315
+ catch { /* non-JSON results serve verbatim */ }
316
+ return { status: 409, results };
317
+ }
318
+ return this.#run("exec", statement, ctx);
319
+ }
284
320
  #denyIfDisallowed(schemeName, origin) {
285
321
  if (schemeName === null)
286
322
  return null;
@@ -854,11 +890,13 @@ class Dispatcher {
854
890
  // attrs.retrievalOnly — the strike decoupler (owner ruling): atomic-turn-
855
891
  // pretrained models pair fetch-and-answer by habit; the refusal teaches,
856
892
  // the strike executed. Engine reads this to skip the strike.
857
- // #384 (owner wording) — the steer speaks PACKET-TIME, not dispatch-time: the
858
- // model reads this 409 in the same packet where the retrieval results already
859
- // sit, so it names their presence and the move (review, react) — never a
860
- // future tense ("next turn" read as wait-more: a model parked on it).
861
- return { status: 409, error: "Termination attempted despite this turn's retrieval operations. Their results are now in the log for review and reaction.", attrs: { retrievalOnly: true } };
893
+ // #384 (owner wording, run48 requiem) — three lessons in one steer: it narrates
894
+ // "last turn" as HISTORY (the model reads log rows in the third person and never
895
+ // took "you"-steers as self-addressed), states the mechanism as law (retrievals
896
+ // FORCE an additional turn not blame, physics), and prescribes the concluding
897
+ // emission's legal SHAPE (PLAN + SEND[200] only no room for the justify-READ
898
+ // that re-armed this gate four times while she held the correct answer).
899
+ return { status: 409, error: "Last turn both performed retrieval operations and attempted to terminate. Retrieval operations force an additional turn to receive results for review and reaction. To conclude, only use PLAN and SEND[200] operations.", attrs: { retrievalOnly: true } };
862
900
  }
863
901
  return { status: 409, error: `Attempted [200] termination with pending work: ${pending.join("; ")}. KILL what you no longer need; SEND[102] (or [102]<seconds>) to receive the rest; then conclude.` };
864
902
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Dispatcher.js","sourceRoot":"","sources":["../../src/core/Dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dispatcher.js","sourceRoot":"","sources":["../../src/core/Dispatcher.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,12 @@ import type { PlurnkStatement } from "@plurnk/plurnk-grammar";
2
2
  import type SchemeRegistry from "./SchemeRegistry.ts";
3
3
  import { Mimetypes } from "@plurnk/plurnk-mimetypes";
4
4
  import type { Db } from "./Db.ts";
5
- import type { WriterTier } from "./scheme-types.ts";
5
+ import type { WriterTier, PlurnkSchemeContext } from "./scheme-types.ts";
6
6
  import type ExecutorRegistry from "./ExecutorRegistry.ts";
7
7
  import type { RegistryEntry } from "./ExecutorRegistry.ts";
8
8
  import type { StreamEventNotify, TelemetryEventNotify, WakeRunNotify, InjectRunNotify, CancelRunNotify } from "./ChannelWrite.ts";
9
+ import SearchPrefetch from "./search-prefetch.ts";
10
+ import SearchGate from "./search-gate.ts";
9
11
  import { type ChatMessage } from "./PacketBuilder.ts";
10
12
  import type { ProposalResolution, ProposalPendingEvent } from "./ProposalLifecycle.ts";
11
13
  import type { DispatchContext, DispatchResult } from "./Dispatcher.ts";
@@ -23,6 +25,8 @@ export default class Engine {
23
25
  };
24
26
  readonly parkDeadlines: Map<number, number>;
25
27
  readonly joinTargets: Set<number>;
28
+ readonly searchPrefetch: SearchPrefetch;
29
+ readonly searchGate: SearchGate;
26
30
  drainDerivations(): Promise<void>;
27
31
  constructor({ db, schemes, mimetypes, streamEventNotify, wakeRunNotify, injectRun, cancelRun, telemetryEventNotify, tokenize }: {
28
32
  db: Db;
@@ -105,6 +109,7 @@ export default class Engine {
105
109
  onProposalPending(listener: (event: ProposalPendingEvent) => void): void;
106
110
  hasActiveLoopForRun(runId: number): Promise<boolean>;
107
111
  warmSessionDerivations(sessionId: number): Promise<void>;
112
+ prefetchCtx(sessionId: number, runId: number): Promise<PlurnkSchemeContext>;
108
113
  inject(runId: number, prompt: string): Promise<{
109
114
  loopId: number;
110
115
  turnSeq: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ import GitState from "./git-state.js";
9
9
  import SessionSettings from "./session-settings.js";
10
10
  import { editedSpan } from "../content/index.js";
11
11
  import { promptPathname } from "./plurnk-uri.js";
12
+ import SearchPrefetch from "./search-prefetch.js";
13
+ import SearchGate from "./search-gate.js";
12
14
  import { readFile } from "node:fs/promises";
13
15
  import { fileURLToPath } from "node:url";
14
16
  import { setTimeout as delay } from "node:timers/promises";
@@ -126,6 +128,8 @@ export default class Engine {
126
128
  // fitting turn (the model curated; a LATER overflow earns a fresh recovery) and at loop cleanup.
127
129
  #hardOverflowRecovery = new Set();
128
130
  #packets;
131
+ searchPrefetch;
132
+ searchGate = new SearchGate();
129
133
  #proposals;
130
134
  #dispatcher;
131
135
  // Per-loop AbortController for cancellation propagation into scheme
@@ -185,12 +189,15 @@ export default class Engine {
185
189
  this.#telemetry = new TelemetryChannel({ db, notify: telemetryEventNotify });
186
190
  this.#strikes = new StrikeRail();
187
191
  this.#packets = new PacketBuilder({ db, schemes, telemetry: this.#telemetry, executors });
192
+ // §search-prefetch — the web-member sync pass; the daemon's wake handler drives it,
193
+ // the hold loop below honors it (holds() = a pass in flight for the run).
194
+ this.searchPrefetch = new SearchPrefetch({ db: this.#db, schemes: this.#schemes, tokenize: this.#tokenize });
188
195
  this.#proposals = new ProposalLifecycle({
189
196
  db, schemes, telemetry: this.#telemetry,
190
197
  streamEventNotify, wakeRunNotify,
191
198
  tokenize: this.#tokenize, mimetypes: this.#mimetypes, executors, loopSignal,
192
199
  });
193
- this.#dispatcher = new Dispatcher({
200
+ this.#dispatcher = new Dispatcher({ searchGate: this.searchGate,
194
201
  db, schemes, mimetypes: this.#mimetypes,
195
202
  tokenize: this.#tokenize,
196
203
  telemetry: this.#telemetry, proposals: this.#proposals,
@@ -335,6 +342,7 @@ export default class Engine {
335
342
  }
336
343
  this.#loopAborts.delete(loopId);
337
344
  this.#strikes.delete(loopId);
345
+ this.searchGate.cleanup(loopId);
338
346
  this.#hardOverflowRecovery.delete(loopId);
339
347
  this.#telemetry.delete(loopId);
340
348
  this.#tokenRatios.delete(loopId);
@@ -388,7 +396,7 @@ export default class Engine {
388
396
  const holdCapMs = Number(process.env.PLURNK_SERVICE_EXEC_HOLD_MS ?? "300000");
389
397
  if (holdSet.size > 0 && holdCapMs > 0 && execHandler?.hasActiveHoldSpawns !== undefined) {
390
398
  const holdStart = Date.now();
391
- while (execHandler.hasActiveHoldSpawns(runId, holdSet) && Date.now() - holdStart < holdCapMs) {
399
+ while ((execHandler.hasActiveHoldSpawns(runId, holdSet) || this.searchPrefetch.holds(runId)) && Date.now() - holdStart < holdCapMs) {
392
400
  await delay(150, undefined, { signal });
393
401
  }
394
402
  }
@@ -1378,6 +1386,22 @@ export default class Engine {
1378
1386
  //
1379
1387
  // Rummy parallel: AgentLoop.inject(). The "active drain → write
1380
1388
  // prompt entry, return immediately" branch.
1389
+ // §search-prefetch — the pass's scheme context: plurnk-written, the same notifier wiring
1390
+ // dispatch uses, bound to the run's current loop for teardown scoping (inject's shape).
1391
+ async prefetchCtx(sessionId, runId) {
1392
+ const loop = await this.#db.drain_current_loop_for_run.get({ run_id: runId });
1393
+ const loopId = loop?.id ?? 0;
1394
+ return {
1395
+ db: this.#db, sessionId, runId, loopId, turnId: 0,
1396
+ writer: "plurnk",
1397
+ signal: this.#loopAborts.get(loopId)?.signal,
1398
+ streamEventNotify: this.#streamEventNotify,
1399
+ wakeRunNotify: this.#wakeRunNotify,
1400
+ tokenize: this.#tokenize,
1401
+ mimetypes: this.#mimetypes,
1402
+ pushTelemetry: (event) => this.#telemetry.push(sessionId, loopId, event),
1403
+ };
1404
+ }
1381
1405
  async inject(runId, prompt) {
1382
1406
  const loopRow = await this.#db.drain_current_loop_for_run.get({ run_id: runId });
1383
1407
  if (loopRow === undefined)