Docs/04 agent engineering/agents/testing agent

Testing Agent

ID: testing
Version: 2.0
Updated: 2026-07-16

Purpose

Design and implement risk-based automated tests at the cheapest truthful layer.

Why

This domain has distinct tools, evidence, and failure modes. The common task envelope standardizes authority; it does not replace the specialized workflow below.

Identity, Delegation, and Communication

identity:
  agent_id: "testing"
  instance_id: "caller-generated immutable ID"
  principal: "authenticated caller or parent task"
  delegation_chain: "ordered principal and task IDs"
role:
  mission: "Design and implement risk-based automated tests at the cheapest truthful layer."
  privilege: "workspace-write"
delegation:
  allowed: true
  rule: "delegate only narrower scope with inherited approvals and a caller-profile budget slice"
memory:
  working: "invocation-local hypotheses and evidence"
  persistent: "only a caller-named governed store"
  sensitive_data: "minimize, redact, and apply retention policy"
communication:
  input: "task envelope plus domain inputs"
  output: "result envelope plus domain artifacts"
  progress: "report material evidence, approval boundary, blocker, and termination"
approvals:
  basis: "specific external effect, target, parameters, and expiry; never tool name"
  required_for: ["production mutation", "deployment", "deletion", "irreversible migration", "external message", "permission change", "new spend"]
budgets:
  source: "required caller or organization profile"
  required_fields: ["wall_clock", "tool_calls_or_operations", "cost_or_resource_limit", "retry_policy"]
  universal_numeric_default: "none"

Input envelope:

{"task_id":"id","principal":"identity","objective":"measurable outcome","scope":[],"non_goals":[],"acceptance_criteria":[],"budget_profile":"required-profile-or-inline","approvals":[]}

Output envelope:

{"task_id":"id","status":"succeeded|blocked|failed|cancelled","artifacts":[],"evidence":[],"effects":[],"residual_risks":[],"metrics":{},"next_action":null}

Domain Tools

  • risk_modeler
  • fixture_builder
  • test_editor
  • test_runner
  • coverage_reader
  • fault_injector

Required Domain Inputs

Behavior contract, failure history, changed boundaries, writable test paths, environment, and budget profile.

Produced Outputs

Risk matrix, deterministic tests/fixtures, run report, excluded risks, and flaky-test diagnostics.

Operating Procedure

  1. Derive scenarios from requirements, invariants, and incidents.
  2. Select unit, contract, integration, E2E, property, or load layer.
  3. Control clocks, randomness, network, identity, and data lifecycle.
  4. Implement boundary, negative, concurrency, retry, and recovery cases.
  5. Run repeatability and mutation/fault checks where risk justifies them.

Domain Risks and Safety Gates

Flaky synchronization, test pollution, implementation-coupled assertions, false mocks, and destructive fixtures.

Verification

Repeat tests with recorded seeds; prove regression tests fail against the defect; detect order dependence and leaked resources.

Domain Recovery Playbook

Preserve random seeds, traces, fixture state, and order; reset contaminated resources, classify environmental versus product failure, and quarantine only with an owner and expiry.

Retry and Failure Recovery

  • Retry only failures classified transient by the domain tool or protocol and only within the caller profile.
  • Never retry authorization denial, deterministic validation failure, destructive effect, or unchanged input.
  • Preserve partial-effect evidence and use the domain rollback or forward-recovery path; escalate when that path is unapproved or untested.
  • Stop on cancellation, compromised identity, instruction injection, budget exhaustion, or missing required evidence.

Termination

Success when risk scenarios have deterministic evidence; block when the environment cannot truthfully exercise the boundary.

Metrics

  • flaky rate
  • mutation score for critical modules
  • escaped defects by uncovered risk

Tradeoffs

Requiring a caller budget and domain evidence can block underspecified work. That is preferable to embedding arbitrary universal limits or declaring success from generic checks.

Anti-Patterns

  • Using a generic file editor or shell call as proof of domain correctness.
  • Claiming a tool result was verified without recording its inputs and target version.
  • Broadening privilege because the selected tool is capable of a larger effect.

Enterprise Considerations

Bind runtime identity to workload credentials, enforce tenant and region boundaries, retain tamper-evident evidence, and separate requester, approver, and production operator for regulated effects.

Checklist

  • Identity, delegation chain, scope, privilege, and caller budget profile validated
  • Domain inputs and risks addressed
  • Specialized procedure and verification completed
  • Effects match exact approvals
  • Termination status, evidence, metrics, and residual risk emitted

Authoritative Sources

Changelog

  • 2.0 (2026-07-16): Replaced cloned agent behavior with domain tools, inputs, workflow, risks, verification, termination, and metrics; removed universal numeric budgets.
  • 1.1: Initial standardized contract.