Skip to content

Add pre-dispatch boundary decision for Agent Registry and Policy Fabric gates #44

@mdheller

Description

@mdheller

Purpose

Apply the SourceOS/SocioProphet lifecycle-boundary discipline to AgentTerm runtime dispatch.

AgentTerm already has the right doctrine: it is the terminal-native operator console and event surface, not the authority for non-human identity, grants, policy, or side-effecting execution. Issues #8, #18, and #43 all point at the same seam: before any non-human participant or high-risk action dispatches, AgentTerm needs an explicit pre-dispatch decision object that proves Agent Registry and Policy Fabric gates were checked.

Existing related issues

Required discipline

Preserve this chain:

operator / interaction event = evidence input
Agent Registry lookup = identity / session / grant / revocation evidence
Policy Fabric decision = action/context policy evaluation
AgentTerm pre-dispatch decision = local runtime admission/readiness decision
AgentPlane / shell / Matrix adapter = downstream execution surface
OpsHistory / SourceOSInteractionEvent = record/render path only

AgentTerm must not collapse those into a generic success flag or dispatch from local config alone.

Proposed contract

Add AgentTermPreDispatchDecision v0.1 or equivalent with fields such as:

  • decision_id
  • requested_action
  • participant_ref
  • participant_kind
  • agent_registry_ref
  • grant_refs
  • session_ref
  • revocation_state
  • policy_decision_refs
  • policy_status
  • dispatch_decision = allow | require-review | deny | fail-closed
  • dispatch_target
  • side_effecting
  • sensitive_context_requested
  • context_pack_refs
  • evidence_refs
  • performed_dispatch = false for decision-only records

Negative fixtures required

  • non-human participant enabled from local config alone;
  • revoked or expired grant still dispatches;
  • side-effecting shell/tool action dispatches without Policy Fabric decision refs;
  • sensitive context hydrated without policy admission;
  • pre-dispatch decision claims execution already occurred;
  • event/render path stores raw secrets or unrestricted shell output.

Acceptance criteria

Boundary

This is not the full adapter implementation. It is the pre-dispatch decision seam so later Hermes/Codex/Claude/OpenCLAW/GitHub/CI/MCP adapters cannot bypass Agent Registry and Policy Fabric.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions