Repository navigation
Added
- Produce-level tracing (
AgentSpan.produces). A trace span now records
whichProduce(s) ran within the agent for that event, with how many effect
operations each authored and its latency — so a multi-produce agent (e.g. one
that shapes an answer and records a side effect) is no longer a black box in
the trace. Captured via a per-task contextvar inAgent.execute, persisted in
the SQLite/Postgres trace stores (auto-migrated column) and shown in the
dashboard as aConsume → Produceflow on each span (trigger artifact →
produce chips with+Nauthored operations, no-op produces dimmed); the
agent header aggregates it. The external sinks carry it too:LangfuseTracer
emits a child observation per produce (with its latency, so Langfuse's
waterfall shows eachConsume → Producestep) plus the
langfuse.observation.metadata.produceslist, andOTLPTraceremits a
reactifact.producesattribute (Name(ops)list). A produce that raises is
still recorded — with its partial operations — on the error span, so the
failing step is visible instead of silently missing. Produce names are readable:
Produce.nameuses the class name, the@producefunction's name, or — for a
bareProduce(Model)used only to widen an agent's allowedCreatetypes —
Produce[Model](an explicitname=still wins), so traces no longer show a
wall of genericProduce. AgentSpan.event_artifact_type— the artifact type whose change triggered
the agent (its matchedConsume), e.g.DraftAnswervsFinalResponsefor an
agent that consumes both.event_typealone (created/updated) can't tell them
apart. Persisted in both trace stores (auto-migrated) and shown on each span;
Langfuse getslangfuse.observation.metadata.event_artifact_typeand OTLP gets
reactifact.event_artifact_type(both omitted when empty, so no blank key).
Fixed
- Dashboard disclosure carets now point down when expanded. The
▸on
agent, span and LLM-call rows was styled withdetails[open]>.caret, but the
caret lives inside<summary>, so the selector never matched and it stayed
▸; it now rotates to▾for every expanded row.
Full changelog: https://github.com/bzdvdn/reactifact/blob/v0.15.2/CHANGELOG.md