v0.5.3
Added
- Override seam on the tool-call audit log (
record_tool_call). An embedder that dispatches the
tool handlers itself can now supply the values the log would otherwise infer from the model's own
tool arguments and result body —source,thread_id,correlation_id,user_question,
org_id, and the outcome (success,row_count,error_kind). Every override defaults to
None= "derive it the way you always have", so a caller passing none of them gets byte-identical
rows; the in-repo transport path is regression-pinned identical to before the seam existed.
_record_query's source is likewise readable from a context var, so the query log and the
tool-call log cannot disagree about what drove one execution.
Changed
- The audit row now fails toward honesty. A caller with no result body to parse can record a
failure (previously the row defaulted to success — the one direction an audit log must never fail
in); a raise outranks every override; naming anerror_kindis itself a statement of failure; and
a success never carries an error kind, so a row cannot contradict itself. - The Activity drawer's
· self-reportedmarker now reflects real provenance.sourceis
projected through the read path and a per-turn flag drives the marker, which is dropped only where
every call in a turn agrees on a single non-default source. Unset sources, mixed sources and empty
turns all keep it — the marker signals lower trust, so overstating trust is the direction that
must never happen.· agent-reportedonagent_queryis unchanged on every path.
Full detail in CHANGELOG.md · PR #169