cendor-sdk 1.10.0
Richer run spans for the monitor: agent-named, step-numbered call spans, a live tree at parity with the post-hoc one, and an opt-in run label. Backward-compatible (additive). Dependency floors bumped to the V2 emission wave (cendor-tokenguard >= 1.3, cendor-acttrace >= 1.7, cendor-guardrails >= 1.6).
Added
- Run label (
live_spans(label=…)/span_tree(result, label=…)) →cendor.run.labelon the rootagent.runspan, so a monitor can show what a run was for. It is a deliberate, short, non-sensitive string you choose — never derived from the prompt (prompts/tool values stay off spans). - Agent name + step index on every call span.
chat/execute_toolspans now carrygen_ai.agent.name(which agent made the call) and a 1-basedcendor.stepordinal, in bothspan_treeandlive_spans. live_spansparity withspan_tree. The live root now carriescendor.run.id/cendor.trace_id(learned from the run's correlation id) and, at close, the run'sgen_ai.usage.input_tokens/output_tokensandcendor.run.cost_usdrollups.
Changed
- The per-agent
max_usdceiling opened by the SDK is now named (agent:<name> max_usd), so a block by an agent's cap is attributable in a monitor (viatokenguard 1.3'sbudget(name=)).