Skip to content

Python: .NET: agent-hooks first-class integration (Python parity) #7563

Closed

Description

@MohammadHaroonAbuomar

Feature request

The agent-hooks interception contract (AGENT-HOOKS-0.1) merged for Python as a first-class experimental core feature in #7515. The .NET side was deliberately deferred in that PR and is now due: the same interception contract, with the same enforcement semantics, on the .NET framework's native seams.

Scope (mirroring the merged Python design in .NET idiom):

  • A single factory composing an indivisible enforcement unit over a ChatClientAgent: agent seam (agent_startup/input/output/agent_shutdown), chat seam below the function-invocation loop (pre_model_call/post_model_call per service call), and function seam (pre_tool_call/post_tool_call).
  • Three-verdict enforcement, fail-closed at every seam; transforms written back as native content; buffered streaming with zero egress ahead of a verdict.
  • Verdict-before-durability for session history and context-provider writes (including the implicit default history provider); nested runs persist inline at their own boundaries.
  • Opt-in dependency (ResponsibleAI.AgentHooks NuGet) referenced only by a new package — no existing framework source affected.
  • evaluate_only mode, host-owned session variant, approval-seam passthrough, hosted-tool limitation documented.

Activity

  1. added
    .NETUsage: [Issues, PRs], Target: .Net
    pythonUsage: [Issues, PRs], Target: Python
    triageUsage: [Issues], Target: All issues that still need to be triaged
    on Aug 7, 2026
  2. changed the title [-].NET: agent-hooks first-class integration (Python parity)[/-] [+]Python: .NET: agent-hooks first-class integration (Python parity)[/+] on Aug 7, 2026
  3. added
    agentsUsage: [Issues, PRs], Target: Single agent
    and removed
    pythonUsage: [Issues, PRs], Target: Python
    triageUsage: [Issues], Target: All issues that still need to be triaged
    on Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

.NETUsage: [Issues, PRs], Target: .NetagentsUsage: [Issues, PRs], Target: Single agent

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions