Follow-up to #44 / ADR 0006. The prompt-ingest provider (contextgraph-host/src/ingest.rs) ships a deliberately small, deterministic segmenter behind a single classify seam. The frame shapes are final and conformance-covered; these are additive quality improvements that never touch the wire.
Segmentation
Distillation
Scope note: distillation quality is provider policy (ADR 0006), so none of this is normative — it only changes what the prompt-ingest provider chooses to inline.
Follow-up to #44 / ADR 0006. The prompt-ingest provider (
contextgraph-host/src/ingest.rs) ships a deliberately small, deterministic segmenter behind a singleclassifyseam. The frame shapes are final and conformance-covered; these are additive quality improvements that never touch the wire.Segmentation
Logdetection (theSTACK_MARKERSheuristic). A dedicatedStackTracekind with its own distiller — keep the exception/panic line + top N frames +… (M more frames)— would beat the generic log distiller for the common "paste a traceback" case.looks_like_table/distill_tablehandle pipe and tab delimiters only. Add CSV (comma) and whitespace-aligned columns, and improveinfer_column_type(currency, percent, nullable columns).ts | LEVEL | msg) classifies asFactrather thanEpisode; a scheme-lessexample.com/pathtoken becomes an anchor. Both stay honest (cost/invariants hold), so they're documented limits — worth refining the precedence andlooks_like_pathprecision.Distillation
leading_timestamponly setsvalid_from/valid_towhen the first token is already exactlyYYYY-MM-DDTHH:MM:SSZ. Real logs (2026-07-20 18:00:01, syslog, bracketed) never match, so the temporal window rarely populates. Parse a few common shapes and normalize to F4 (guarded — never emit a non-F4 string, per Close enforcement gaps: audit max_frames, validate temporal fields as RFC 3339, probe as_of #10).… (×K)before selecting salient lines, so a spammy retry loop doesn't dominate the compact rendering.Scope note: distillation quality is provider policy (ADR 0006), so none of this is normative — it only changes what the
prompt-ingestprovider chooses to inline.