Skip to main content

Overview

confirm_ready is Enagrams’ test gate. Before you declare your change-set complete, it computes the affected test set from the symbol graph — tests that transitively depend on the symbols you touched — and asks you to run them. On pass the gate writes a sync_log receipt that the auto-sync watcher uses to fan the commit out to other machines. Two phases:
  1. First call, no test_results — gate returns the affected test files + test names. Run them locally.
  2. Second call with test_results[] — gate evaluates. On pass it records a sync_log receipt and (if completes_task_id was provided) marks the task done and cascade-unblocks its dependents. On fail it returns structured failures[] including flake status.

Parameters

ParameterTypeRequiredDescription
workstream_slugstringNo*Recommended so the gate can write sync_log
session_idstringNoYour agent_sessions.id
machine_idstringNoStable machine id for flake tracking
touched_filesstring[]NoFiles you changed
touched_symbolsstring[]Nosymbol_graph_nodes.id values you changed
commit_shastringNoCommit the tests were run against
completes_task_idstringNoIf set, closes the task and unblocks dependents on pass
test_resultsobject[]NoOmit on first call; on second call each entry is {test_file,test_name,status,duration_ms?,error_message?,traceback?}
workstream_slug is not strictly required but without it the gate cannot write a sync_log receipt, so the auto-sync watcher won’t fan the commit out to other machines.

Example — Phase 1 (discover affected tests)

{
  "tool": "confirm_ready",
  "arguments": {
    "workstream_slug": "stripe-subscription-upgrades",
    "session_id": "sess_abc",
    "touched_files": ["src/billing/stripe.ts", "src/billing/proration.ts"]
  }
}
Response:
{
  "phase": "discover",
  "affected_tests": [
    { "test_file": "tests/billing.test.ts", "test_names": ["proration covers mid-cycle upgrades"] }
  ]
}

Example — Phase 2 (submit results)

{
  "tool": "confirm_ready",
  "arguments": {
    "workstream_slug": "stripe-subscription-upgrades",
    "session_id": "sess_abc",
    "machine_id": "mbp-aaron",
    "commit_sha": "9f3c1a2",
    "completes_task_id": "task_xyz",
    "test_results": [
      {
        "test_file": "tests/billing.test.ts",
        "test_name": "proration covers mid-cycle upgrades",
        "status": "pass",
        "duration_ms": 412
      }
    ]
  }
}
Response on pass includes sync_log_id — pass it to sync_commit to link the gate receipt to the git commit. See test gate for the full model including flake handling.