You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(runtime): lease gate on tool_call / delegate emission (§9.3)
`LeaseManager.AuthorizeOperation` previously had no in-runtime caller
outside `AuthorizeModelUse`/tests — meaning a buggy or hostile agent
could ignore the lease entirely. Spec §9.3 requires the runtime to
evaluate the lease before any authority-bearing operation.
- Expose `JobContext.AuthorizeOperation(namespace, pattern)` so agents
building their own dispatch can call it explicitly.
- Auto-gate `JobContext.ToolCallAsync` against `tool.call` and
`JobContext.DelegateAsync` against `agent.delegate`, but only when
the lease actually declares the namespace — leases that omit it
remain permissive (matches §9.7's "MAY allow when configured" wording
and preserves existing tests that don't set up tool leases).
- Plumb the `LeaseManager` from `JobManager` into `JobContext` so the
gate uses the runtime-configured time provider.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments