The owner's wave-7 ruling: embeddings die entirely (git history is the
stash); clustering is birth-session derived (chunk A, 950ddfd), labels
are session names, and the prober's graph tools replace injection.
- settings: GraphSettings collapses to { enabled } — embedding,
embeddingModel, clustering, labeling all die. Migration story: stale
record keys are UNREAD and dropped by the sanitizer's reconstruction;
the next graph-section PUT (replace-whole) persists the collapsed
shape. The settings-panel GraphSection renders one master row.
- deleted: src/server/embeddings.ts (adapters, resolveEmbeddingPortFor,
embedNewNodes, embeddingPort, embeddingModelCatalog), the
GET /api/models/embeddings route, scripts/embed-graph.ts, tests for
all three, and the /api/models/embeddings picker surfaces in the UI.
- prices: EMBEDDING_PRICES overlay + callCost fallback die. cost-summary:
the embedding stage fold dies — back to three stages (extraction/
audit/naming) per the owner ruling; historical stages.embedding spend
in old run records is simply not displayed.
- ports: EmbeddingPort/EmbeddingResult/EmbeddingTask die. The embeddings
LEDGER surface (readEmbeddings/writeEmbeddings + EmbeddingsLedger +
EMBEDDINGS_FILE + graph-deletion's vector pruning) STAYS — inert data,
kept only so graph-context.ts compiles until Teacher's pass removes
it; the seam dies in the follow-up interlude.
- chat-handler (approved cross-lane unwiring, wave-6 precedent): the
extraction pipeline's embedder becomes a documented no-op (nothing
embedded, nothing spent, ledger untouched) until Teacher's pass
removes the phase; the graph-context injection dispatch gate, the
graphContext deps wiring, the setContextRespawn seam, and
turn-service's triggerGraphContext are gone — injection is dead
code pending Teacher's file deletions.
- scripts: backfill-graph/import-notes pass the same no-op embedder;
replay-layout derives clusters from birthSessionPartition (the same
partition the real settle uses) instead of the embeddings ledger.
- settings-body: parseGraphSettingsBody reads the master switch only —
old-shape keys in a body are ignored, not rejected; bad shapes 400.
- next.config: the @huggingface tracing-exclusion guards die with the
last reference.
Cross-lane flags: extraction.ts/graph-context.ts keep stale embed
comments + the embed phase until Teacher's full pass (their parallel
interlude owns those files — zero overlap kept by design);
semantic-clusters.ts + its test stay one more round (extraction.test.ts,
Teacher's file, still imports it — they delete it with the namer cases);
ChatSettings.graphContextTokens + the graph-context-control UI stay
until Teacher+UI.
Gates: tsc clean, eslint clean, 885/885 tests, build compiles.
Live-verified on the port-3004 dev tree: PUT /api/settings/graph with
dead keys collapses on write, bad shapes 400, GET reads {enabled: true},
/api/models/embeddings 404s.
41 lines
1.9 KiB
TypeScript
41 lines
1.9 KiB
TypeScript
/**
|
|
* THE SERVER-SIDE SURFACE — the only src module (besides the core barrel)
|
|
* that app/ may import. Route handlers and server components come through
|
|
* here; nothing under app/ touches src/store or src/agent directly.
|
|
*/
|
|
|
|
export * from "./chat-handler.ts";
|
|
export * from "./chats.ts";
|
|
export * from "./graph.ts";
|
|
export * from "./commit-positions.ts";
|
|
export * from "./jobs.ts";
|
|
export * from "./stores.ts";
|
|
export { readRenderSettings, writeRenderSettings } from "../store/render-settings.ts";
|
|
export { readDefaultSettings, writeDefaultSettings } from "../store/default-settings.ts";
|
|
// The settings record + prompt overrides (settings-storage wave, 2026-09-19).
|
|
// The *Record aliases keep the app/api/settings routes explicit about which
|
|
// seam they touch (the raw record, not the chat-section convenience view).
|
|
export {
|
|
readSettings as readSettingsRecord,
|
|
writeSettings as writeSettingsRecord,
|
|
settingsStore,
|
|
} from "../store/settings.ts";
|
|
export { promptOverrides } from "../store/prompt-overrides.ts";
|
|
export { isValidSegmentPath } from "../core/prompt-segments.ts";
|
|
// The canonical segment discovery/resolution lives in the agent layer
|
|
// (composition is an agent concern); the barrel re-exports it for the
|
|
// routes — server→agent is the lawful direction (chat-handler precedent).
|
|
export { effectivePromptSegments, allSegmentPaths, readPromptOverride } from "../agent/prompt-segments.ts";
|
|
|
|
// The auth/keys composition (auth-keys wave, 2026-09-19): the curated
|
|
// key catalog + the env-reflecting store behind GET/PUT/DELETE /api/keys.
|
|
// Importing this module runs the idempotent boot fill-gap — every consumer
|
|
// keeps its plain process.env reads (that seam is the point).
|
|
export * from "./keys.ts";
|
|
export * from "./search.ts";
|
|
export { authStore } from "../store/auth.ts";
|
|
export * from "./settings-body.ts";
|
|
export * from "./turn-liveness.ts";
|
|
export * from "./observability.ts";
|
|
export * from "./model-catalog.ts";
|