=== META ===
{
  "id": "GTPX-AGENT-MODEL",
  "title": "GTPX Agent Model",
  "version": "0.1.0",
  "status": "draft",
  "updated": "2026-04-25",
  "authority": "08_agents/GTPX-AGENT-MODEL.gtpx",
  "type": "agent_model",
  "project": "GTPX",
  "depends_on": [
    "03_language/GTPX-SEMANTICS.gtpx",
    "04_contract/GTPX-CONTRACT-CORE.gtpx",
    "07_validation/GTPX-VALIDATION-MODEL.gtpx"
  ]
}

=== DATA ===
{
  "purpose": "Defines how agents operate, their constraints, and allowed behavior within GTPX.",

  "agent_policy": {
    "agents_must_follow_contract": true,
    "agents_must_not_act_outside_defined_scope": true,
    "agents_must_not_infer_missing_data": true,
    "agents_must_respect_validation_outcomes": true
  },

  "agent_definition": "An agent is any processing entity that executes a GTPX request under a defined contract.",

  "agent_capabilities": [
    "read_request",
    "validate_input",
    "process_request",
    "generate_response",
    "propose_patch",
    "simulate_dry_run"
  ],

  "agent_constraints": [
    "must_not_modify_contract",
    "must_not_generate_undefined_fields",
    "must_not_use_undeclared_sources",
    "must_not_continue_if_blocked",
    "must_not_override_validation"
  ],

  "agent_execution_modes": [
    "analysis_mode",
    "dry_run_mode",
    "proposal_mode"
  ],

  "mode_definitions": {
    "analysis_mode": "Agent analyzes input and produces structured response.",
    "dry_run_mode": "Agent simulates output without committing changes.",
    "proposal_mode": "Agent proposes changes without executing them."
  }
}

=== RULES ===
{
  "agent_must_follow_contract": true,
  "agent_must_follow_validation": true,
  "agent_must_respect_completeness": true,
  "agent_actions_must_be_traceable": true,
  "agent_must_not_have_hidden_behavior": true
}

=== STATUS ===
{
  "state": "draft",
  "open_questions": [
    "Confirm if execution modes must be explicitly declared in request.",
    "Confirm if multi-agent workflows are allowed in v1.0."
  ],
  "next_step": "Create and populate 08_agents/AGENT-PAM.gtpx."
}