Skip to content

AGT-02: Add tool registry, policy evaluator, and bounded inbox-triage template #337

@Chris0Jeky

Description

@Chris0Jeky

Context

Tracked by: #335

Once run entities exist, Taskdeck still needs a coherent runtime abstraction for what agents may do and what they must not do.
This issue captures the blueprint's tool-registry and policy-evaluator layer together with the first bounded assistant template.

Sources:

  • docs/InReview/MVP_EXPANSION/EXPANDED/taskdeck_expansion_blueprint_2026-03-06/04_BACKEND_AND_DOMAIN_EXPANSION_PLAN.md
  • docs/InReview/MVP_EXPANSION/EXPANDED/taskdeck_expansion_blueprint_2026-03-06/05_AGENT_WORKSPACE_ARCHITECTURE.md
  • docs/InReview/MVP_EXPANSION/EXPANDED/taskdeck_expansion_blueprint_2026-03-06/08_SEEDED_ISSUES_READY_TO_CREATE.md
  • docs/InReview/MVP_EXPANSION/EXPANDED/taskdeck_expansion_blueprint_2026-03-06/snippets/backend/AgentRunService.cs

Depends on

Coordinates with

Scope

  • Add ITaskdeckTool and ITaskdeckToolRegistry abstractions for bounded runtime actions.
  • Add tool metadata including key, description, scope, and risk classification.
  • Add an IAgentPolicyEvaluator or equivalent policy service covering allowlists, review thresholds, and explicit scope controls.
  • Keep low-risk auto-apply off by default.
  • Add the first narrow template assistant: inbox triage assistant.

Acceptance Criteria

  • Runtime actions route through a testable registry instead of ad-hoc service wiring.
  • Policy evaluation can answer both is this tool allowed? and must this remain review-first?.
  • Policy decisions are traceable in run output/events.
  • A bounded inbox-triage template can gather context and create proposals without broad autonomy claims.
  • Tests cover registry resolution, policy decisions, and bounded template behavior.

Verification

  • dotnet test backend/tests/Taskdeck.Application.Tests/Taskdeck.Application.Tests.csproj -c Release --filter "FullyQualifiedName~Tool|FullyQualifiedName~Policy|FullyQualifiedName~Agent"
  • optional bounded scenario acceptance run once substrate exists

Suggested branch

  • agt/tool-registry-policy-template

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions