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:
@@ -86,35 +86,4 @@ describe("record-adapter: system message flattening", () => {
|
||||
assert.equal(out.length, 0, "no model face at all — skipped");
|
||||
});
|
||||
|
||||
it("the graph-context steer flattens to the canonical prior-knowledge block", () => {
|
||||
const out = recordToPiMessages([
|
||||
userParts([
|
||||
{
|
||||
type: "data-graph-context",
|
||||
id: "ctx1",
|
||||
data: {
|
||||
chatId: "chat_1",
|
||||
budget: 1024,
|
||||
tokens: 64,
|
||||
propositions: [
|
||||
{ id: "n1", statement: "Water boils at 100°C.", level: "solid" },
|
||||
{ id: "n2", statement: "Evaporation cools things.", level: null },
|
||||
],
|
||||
},
|
||||
},
|
||||
]),
|
||||
]);
|
||||
assert.equal(out.length, 1, "one user message — the marker part is the model face");
|
||||
const got = texts(out);
|
||||
assert.equal(got.length, 1);
|
||||
assert.match(got[0]!, /Prior-knowledge context/);
|
||||
assert.match(got[0]!, /\[solid\] Water boils at 100°C\./);
|
||||
});
|
||||
|
||||
it("a malformed graph-context part has no model face — the message is skipped wholesale", () => {
|
||||
const out = recordToPiMessages([
|
||||
userParts([{ type: "data-graph-context", id: "ctx2", data: { chatId: "chat_1" } }]),
|
||||
]);
|
||||
assert.equal(out.length, 0, "parse-don't-cast: no validated data, no face");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user