From 53891ce2b40239665a8b6d7d8698caf8c6350e66 Mon Sep 17 00:00:00 2001 From: brettin Date: Thu, 4 Jun 2026 09:05:40 -0400 Subject: [PATCH 1/2] Add RFC 002: tool.call events vs LLM tool-use. Clarifies audit telemetry vs model-requested tool calls and budget metering. Co-authored-by: Cursor --- .../rfcs/002-tool-call-events-vs-llm-tool-use.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 contracts/rfcs/002-tool-call-events-vs-llm-tool-use.md diff --git a/contracts/rfcs/002-tool-call-events-vs-llm-tool-use.md b/contracts/rfcs/002-tool-call-events-vs-llm-tool-use.md new file mode 100644 index 0000000..33e5b1f --- /dev/null +++ b/contracts/rfcs/002-tool-call-events-vs-llm-tool-use.md @@ -0,0 +1,12 @@ +# RFC 002: tool.call events vs LLM tool-use + +## Problem + +- Spec `tool-call-event` is audit telemetry (`toolName`, `status`, `latencyMs`, `tokenCost`). +- Platform `run.outputs.tool_calls` is model-requested function calls. +- `maxToolCalls` on budgets: platform counts MAG-returned batches per run, not local agent execution. + +## Proposal + +- Clarify event semantics (model turn vs executed tool). +- Align budget field documentation with metering behavior. From 6fb8199ff14375e3eae156280637310ba8226096 Mon Sep 17 00:00:00 2001 From: brettin Date: Wed, 10 Jun 2026 10:09:22 -0700 Subject: [PATCH 2/2] Add Status section: RFC 002 implemented by PR #9 The normative substance of RFC 002 (event semantics + maxToolCalls budget alignment) has already landed in contracts/companion/run-invocation-interop.md via PR #9. Retain this RFC as a historical / design-rationale record and note where its intent was realized. Co-Authored-By: Claude Opus 4.6 --- contracts/rfcs/002-tool-call-events-vs-llm-tool-use.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/contracts/rfcs/002-tool-call-events-vs-llm-tool-use.md b/contracts/rfcs/002-tool-call-events-vs-llm-tool-use.md index 33e5b1f..c12456c 100644 --- a/contracts/rfcs/002-tool-call-events-vs-llm-tool-use.md +++ b/contracts/rfcs/002-tool-call-events-vs-llm-tool-use.md @@ -1,5 +1,12 @@ # RFC 002: tool.call events vs LLM tool-use +## Status + +**Implemented.** The normative substance of this RFC has already been addressed in `main` by PR #9 ("Tighten RunInvocation companion contract"). This document is retained as a historical / design-rationale record. + +- Event-semantics clarification (model turn vs executed tool) landed in `contracts/companion/run-invocation-interop.md`, which now states that a `RunInvocation` records MAG/model turns while executed-tool telemetry remains in the event stream, with tool results appearing as later `role:"tool"` messages linked by `tool_call_id`. +- Budget-field alignment (`maxToolCalls`) landed in the same file: the `## maxToolCalls semantics` section was rewritten from "model-returned `tool_calls` batches per MAG invoke" to "model-returned tool call items per MAG invoke", matching the metering behavior described below. + ## Problem - Spec `tool-call-event` is audit telemetry (`toolName`, `status`, `latencyMs`, `tokenCost`).