A request carrying x-il-trace: 1 gets a trace object inside the
consistency block: the validated extraction (post quote-gate), the
mapped IQL statements, the ephemeral KG name, the extraction model, and
extract/engine wall times. The trace only ever contains data derived
from the caller's own request. Untraced requests are byte-identical to
before.
This makes the text-to-facts translation observable per request - the
enabler for il chat's inspection panel and the tutorial's next chapter
(#84 plan).
Verified live with a real model: traced request returned the two
extracted claims, the claim/claim_num/claim_source statements, and
timings (extraction 4.7s, engine 830ms); untraced request carries no
trace key. Extended the env-gated live pipeline test with trace
assertions. verify() refactored (ontology selection extracted into
select_ontology) to stay under the line-count lint rather than
suppressing it. Full gates green: 3290 workspace tests, fmt, clippy
(Rust 1.98, -D warnings), doc.
First PR of the M1 chain (#84 plan). A request carrying x-il-trace: 1 gets a trace object inside inputlayer.consistency:
(the values above are the literal output of the live verification run)
Why: makes the text-to-facts translation observable per request. This is the enabler for il chat's inspection panel and part two of the getting-started guide.
Tested: live with a real model (traced request returned the extracted claims, mapped IQL, and timings; untraced carries no trace key); the env-gated live pipeline test now asserts trace contents; 3290 workspace tests, fmt, clippy (Rust 1.98, -D warnings), doc all green.