wave 7: the prober reads its map — graph-context injection dies whole
The owner's zero-configuration ruling (2026-09-23): nothing configures the graph beyond chat models. The prior-knowledge injection — its budget dial, its runner, its marker part, its dock/dispatch entries — is removed across all bands; the prober now reads the learner's persistent knowledge map on demand through two gated tools instead: - list_sessions: every birth session, names + kinds + counts + dates (graphSessionIndex, Platform's core seam) - list_propositions(session): what was born there + the session's own latest understanding level + that evaluation's date (graphSessionPropositions) — names/levels/dating ONLY, no statement text (owner ruling: the map's organization is the prober's business, its prose is not) Registered via createProberTools when chat-handler passes graphStore (the graphToolsEnabled gate decided server-side, per-turn fresh); the prober doctrine gains the map-review nudge at session start. Also: runner's JobKind special-casing collapses (KIND_ROLE/KIND_RUNNERS are plain records again), semantic-clusters.ts dies with its test, the embedder dep's doc tells the wave-7 stub story, and ports.ts's readClusterLabels/readNamingRuns surface stays untouched for Platform's ledger-port interlude. 848/848 tests, typecheck/lint/build green.
This commit is contained in:
+18
-5
@@ -11,10 +11,12 @@ import type { JobStore } from "../core/ports.ts";
|
||||
import { jobTools, type DemoInput, type PdfInput, type ResearchInput, type VisualInput } from "./tools/jobs.ts";
|
||||
import { planTools, type PlanToolContext } from "./tools/plan.ts";
|
||||
import { probeDoneTool, type ProbeDoneContext } from "./tools/probe.ts";
|
||||
import { proberGraphTools } from "./tools/graph.ts";
|
||||
import { readTool } from "./tools/read.ts";
|
||||
import { lsTool } from "./tools/ls.ts";
|
||||
import { findTool } from "./tools/find.ts";
|
||||
import { grepTool } from "./tools/grep.ts";
|
||||
import type { GraphStore } from "../core/ports.ts";
|
||||
|
||||
export { jobTools };
|
||||
export type { ProbeDoneContext } from "./tools/probe.ts";
|
||||
@@ -78,14 +80,20 @@ export interface ProberToolContext extends ProbeDoneContext {
|
||||
/** Search availability — the research dispatch tool's honest-disable
|
||||
* signal (same gate as the teacher's). Absent = available. */
|
||||
searchAvailable?: () => boolean;
|
||||
/** The prober's graph-map reader (wave 7): present = the two map tools
|
||||
* (list_sessions / list_propositions) are registered. The composition
|
||||
* root passes it only when graphToolsEnabled(effective) — the graph
|
||||
* master switch AND the agent.graphTools toggle (settings-resolution).
|
||||
* Absent = the gate is closed, no map tools (tests drive this seam). */
|
||||
graphStore?: GraphStore;
|
||||
}
|
||||
|
||||
/** The prober's tool set: probe quiz (no nodeId) + ask + the learner-fs
|
||||
* set + probe_done + the two phase-omnipresent job dispatch tools.
|
||||
* `enabled` is the resolved settings seam (core/pending.ts): any tool
|
||||
* explicitly false is dropped from the registry. probe_done stays
|
||||
* always-on regardless — it is how the phase ENDS; a prober that can
|
||||
* never conclude is a lockout. */
|
||||
* set + probe_done + the two phase-omnipresent job dispatch tools +
|
||||
* (wave 7, gated) the graph-map reader. `enabled` is the resolved
|
||||
* settings seam (core/pending.ts): any tool explicitly false is dropped
|
||||
* from the registry. probe_done stays always-on regardless — it is how
|
||||
* the phase ENDS; a prober that can never conclude is a lockout. */
|
||||
export function createProberTools(
|
||||
ctx: ProberToolContext,
|
||||
enabled?: EnabledTools,
|
||||
@@ -122,6 +130,11 @@ export function createProberTools(
|
||||
// when no engine is live).
|
||||
...(jobs.research ? { research: jobs.research } : {}),
|
||||
pdf: jobs.pdf!,
|
||||
// The map reader (wave 7): present only when the settings gate
|
||||
// opened — same registration-time drop as the search gate.
|
||||
...(ctx.graphStore
|
||||
? proberGraphTools({ chatStore: ctx.chatStore, graphStore: ctx.graphStore })
|
||||
: {}),
|
||||
...done,
|
||||
},
|
||||
enabled,
|
||||
|
||||
Reference in New Issue
Block a user