Contents
  1. The harness and its execution contract
  2. Task identity and execution states
  3. Checkpoints and authoritative records
  4. Recorded intent and external effects
  5. Scheduling and ownership
  6. Durable waits and continuation
  7. Restoration, replay, and diagnostic evidence
  8. Budgets across concurrency and restart
  9. Stopping and observed termination
  10. Failure classification and bounded retries
  11. Reconciliation and compensating actions
  12. Durable artifacts and validation
  13. Verified outcomes and durable delivery
  14. Verification at interruption boundaries
  15. Check understanding
  16. Open questions
  17. Selected talks
  18. References
  19. Talk library
← All topics

Harness Engineering

An agent harness turns model-selected actions into managed execution. Its responsibilities become clearest when work outlives a process: a request may already have succeeded, a worker may return after reassignment, or a report may exist before delivery finishes. Reliable continuation depends on preserving these distinctions and checking what actually happened.

The harness and its execution contract

An agent harness is the application runtime surrounding an agent’s decisions. It dispatches operations, maintains records, schedules work, enforces limits, handles interruptions, and checks results. The agent loop is one component; an evaluation harness instead runs cases and judges outcomes.

The model proposes an operation; application code executes it. A generated function name and arguments neither perform the action nor establish permission. Agent Engineering explains this decision boundary. The diagram below follows one dispatch through the surrounding runtime.

One controlled dispatch

Example

A proposal, an executed action, and a verified outcome are distinct.

The harness checks a proposal before dispatch. Execution returns observations for durable recording and verification. The external service owns the remote effect.
Read the diagram as text
  • Model proposal. Operation and arguments.
  • Harness checks. Authority, validity, and admission.
  • Controlled execution.
  • External service. Separate effect boundary.
  • Returned observations.
  • Durable records.
  • Result verification.
  • Rejected dispatch.
  • Model proposalHarness checks: Data: request.
  • Harness checksControlled execution: Control: accepted.
  • Harness checksRejected dispatch: Control: rejected.
  • Controlled executionExternal service: Control: invoke.
  • External serviceReturned observations: Data: result.
  • Returned observationsDurable records: Data: persist.
  • Returned observationsResult verification: Data: inspect.

Durable execution preserves enough recorded progress to continue after process loss. Session storage, the harness process, and its execution environment can have separate lifecycles. Replacing a failed harness need not erase its session, while replacing an environment need not preserve every file it contained.

The running example is a constructed task: investigate a failed data-processing job, perform a permitted corrected rerun, validate required output partitions, and deliver a report. A partition is a separately identified subset of data. The test fixture supplies the expected partition set and checks resulting state independently of the agent’s account.

The fixture’s job service atomically deduplicates submissions by task-scoped operation key throughout each test, returning the same job for matching requests and rejecting changed arguments. Other APIs may differ.

A real submission interface illustrates the separate controls: EMR Serverless accepts an idempotency token, execution role, job configuration, retry policy, and timeout, then returns a job identifier. Submission acceptance establishes that work was submitted; it does not validate its output.

Isolation restricts execution access and resources. Those restrictions must be enforced outside the requesting program’s control. Sandboxes and Execution Isolation owns the enforcement mechanisms; the harness must select and use an environment whose boundaries match the task’s authority.

Task identity and execution states

Task identity follows the user’s objective across interruptions. An attempt identifies a particular execution pursuing it. Temporal’s distinction between Workflow ID and Run ID illustrates stable business identity across executions, although a Temporal run is not a worker-process attempt. The following identifiers describe the example application.

IdentityMeaningAcross recovery
Task TInvestigate, rerun, validate, and report.Retained while pursuing the same request.
Worker attempts A1 and A2Separate executions pursuing T.A replacement worker receives a new attempt identity.
Operation KOne intended corrected-job submission.Retained across matching submission retries.
Delivery attempts D1 and D2Separate transmissions of operation K.New attempt records; unchanged logical operation.
Provider job JThe service’s handle for submitted work.Retained for status and output inspection.

A state machine names states and permits transitions only under specified conditions. Keep worker activity, operation knowledge, and task outcome separate. A worker can stop while a job continues; an operation can have an unknown outcome while its task awaits reconciliation. Protocol task states may summarize a richer application lifecycle.

Example transitions assign both an owner and a guard—the condition required before changing state.
TransitionOwner and guardRecorded result
Claim eligible workScheduler; due, permitted, and expected version still current.Owner generation and worker attempt.
Suspend for inputWorkflow; resume point and pending condition saved.Waiting task; worker may exit.
Reassign workScheduler; prior ownership expired and conditional replacement succeeds.New generation; same task.
Request stoppingController; durable stop reason recorded.Stopping requested, not termination confirmed.
Record verified workVerifier; required outcome checks pass.Work outcome recorded; delivery tracked separately.

Unknown outcome describes missing knowledge, not remote failure. External reality, recorded observations, and the information supplied to the model remain distinct, as explained in task-state representation. Task-versus-attempt identity prevents an interrupted attempt from silently becoming a new user request.

Checkpoints and authoritative records

A checkpoint is a saved recovery point with an explicit coverage boundary. Graph checkpoints can retain values, pending nodes, interrupts, and execution metadata. They do not automatically capture arbitrary process memory or remote-service state. Application-specific budgets and artifact references survive only if the application records them.

Recovery needs an inventory of retained state, not a single saved flag.
RecordRecovery purposeBoundary
Inputs and versionsIdentify the task and compatible execution contract.Do not establish current external facts.
Observations and operation statesDistinguish established results from pending work.Unrecorded effects remain uncertain.
Pending work and resume pointReconstruct the next eligible action.Requires a persistent backend.
Ownership and state versionReject obsolete progress updates.Protects only cooperating writers.
Deadline, usage, reservationsCarry limits across replacement workers.Missing usage still needs reconciliation.
Artifact and validation referencesLocate the exact retained result and its evidence.References alone do not validate content.
Transition historyInspect how recorded state evolved.Does not reverse external actions.

A journal is an ordered record of transitions. A current-state row supports immediate decisions; a journal supports investigation and reconstruction. Both can coexist. Event sourcing goes further by deriving current state from recorded events, but a harness does not need that architecture merely to retain useful history.

A database transaction commits related updates together. When job J is observed, one local transaction can save the observation, change K’s recorded status, and create the next pending check. A crash must not expose only part of that transition. The transaction does not include an unrelated job-service request.

Conversation history records interactions; model context selects information for a particular decision. Summaries can omit details, and a smaller context does not imply less durable task state. Context Engineering explains that selection boundary. Recovery should consult authoritative records rather than treating a progress summary as their replacement.

Filesystem snapshots preserve their specified files and installed dependencies, not necessarily running processes or later writes. Disk checkpoints can restore a workspace on another node. Environment snapshot limits explain why that restoration neither establishes nor reverses external effects.

Checkpoint granularity and persistence timing are separate choices. Smaller execution units reduce work repeated after interruption but create more recording boundaries. Synchronous persistence waits for recording before proceeding; asynchronous persistence may still be outstanding when failure occurs. Checkpointing only at exit exposes more intermediate work. No interval is optimal independently of workload and storage cost.

Recorded intent and external effects

A retry repeats one logical operation. Idempotency prevents additional effects from repetition. Receiver enforcement matters: identical arguments can also represent separate intended operations.

A transactional outbox commits dispatch intent with the initiating database change. A relay sends committed entries. At-least-once delivery permits duplicates; consumers must deduplicate.

The unrecorded completion

Example

Remote commitment can precede local knowledge.

1 / 4 · Recorded

K has durable intent.

Operation K persists throughout. After remote commitment and response loss, recovery cannot infer nonexecution. Earlier nodes remain historical evidence.
Read the diagram as text
  • Operation K.
  • Intent saved.
  • Request dispatched.
  • Remote effect committed.
  • Response lost.
  • Local outcome unknown.
  • Operation KIntent saved: records.
  • Intent savedRequest dispatched: dispatches.
  • Request dispatchedRemote effect committed: causes.
  • Remote effect committedResponse lost: response.
  • Response lostLocal outcome unknown: leaves.
  1. Recorded. K has durable intent. Active: Operation K, Intent saved. New: Operation K, Intent saved.
  2. Dispatched. Execution crosses the service boundary. Active: Operation K, Intent saved, Request dispatched. New: Request dispatched.
  3. Committed remotely. The response does not arrive. Active: Operation K, Intent saved, Request dispatched, Remote effect committed, Response lost. New: Remote effect committed, Response lost.
  4. Recovered locally. Completion remains unrecorded. Active: Operation K, Intent saved, Request dispatched, Remote effect committed, Response lost, Local outcome unknown. New: Local outcome unknown.

Retain K’s immutable request, authority reference, delivery attempts, and returned evidence. The lost-response boundary remains: a remote effect can commit before its completion is recorded locally.

AWS’s receiver contract defines key scope, rejects parameter changes, coordinates deduplication with mutation, returns equivalent results, and limits retention. Unprotected check-then-write permits concurrent duplicates.

Retention limits matter. Stripe, for example, may prune keys once they are at least 24 hours old; subsequent reuse can initiate a new request. A key cannot justify indefinite retries, and changing it to escape an ambiguous response can create another effect.

Scheduling and ownership

Eligibility records whether work may run; a due time records when it may run. A queue notification tells a worker to inspect that state. It does not establish ownership. Even SQS visibility timeouts can coexist with duplicate delivery, so notification suppression cannot substitute for a conditional claim.

The outbox retains notifications across crashes. Duplicates compete for one conditional claim, without creating new tasks.

Reassignment without stale writes

Example

An old worker can remain alive after losing ownership.

1 / 3 · Claim

A receives generation 1.

Work W persists. Generation 2 replaces generation 1. The store rejects A’s obsolete update and accepts B’s current update. Historical claims remain visible.
Read the diagram as text
  • Work W.
  • Worker A.
  • Generation 1.
  • Worker B.
  • Generation 2.
  • Stale update rejected.
  • Current update accepted.
  • Work WGeneration 1: initial claim.
  • Worker AGeneration 1: holds.
  • Work WGeneration 2: reassigned claim.
  • Worker BGeneration 2: holds.
  • Generation 1Stale update rejected: obsolete.
  • Generation 2Current update accepted: current.
  1. Claim. A receives generation 1. Active: Work W, Worker A, Generation 1. New: Work W, Worker A, Generation 1.
  2. Reassignment. Expiry permits B’s replacement claim. Active: Work W, Worker A, Generation 1, Worker B, Generation 2. New: Worker B, Generation 2.
  3. Late writes. The recipient enforces the new generation. Active: Work W, Worker A, Generation 1, Worker B, Generation 2, Stale update rejected, Current update accepted. New: Stale update rejected, Current update accepted.

A lease grants temporary ownership until expiry unless renewed. A heartbeat reports liveness or progress; it does not prove task success. A fencing token identifies an ownership generation that a mutation recipient checks before accepting work. Chubby’s sequencers illustrate recipient-enforced rejection of obsolete ownership.

Require the expected ownership generation and state version when updating progress. If reassignment changes either, the old worker’s update no longer matches. PostgreSQL rechecks an UPDATE condition after a conflicting update commits. Every relevant writer must use the guard; protecting this row does not fence a remote API.

Backpressure limits admission when downstream capacity is unavailable. Concurrency limits bound simultaneous work; rate limits bound its arrival rate. A circuit breaker temporarily stops calls to a repeatedly failing dependency and later probes recovery. These controls contain load; they do not establish unique external effects.

Durable waits and continuation

A continuation records where execution should resume and what remains pending. Conversation history supplies prior interactions; control metadata identifies the suspended operation and required input. Persisting that information allows the worker to exit instead of remaining alive throughout a human response or external job.

A signal supplies external input to a pending workflow. A correlation identity connects it to the intended task and operation. A durable timer retains a wakeup deadline independently of a process. A lost wakeup occurs when an event arrives before a listener is ready and no retained record bridges the gap.

For the example, persist incoming events in an inbox. Serialize wait registration and event matching, then commit event consumption with newly eligible work. An early completion event remains matchable; duplicates cannot advance the same wait twice. This is a proposed local protocol whose crash boundaries need testing.

Arrival conditionRequired handling
Before wait registrationRetain the correlated event for later matching.
Duplicate eventRecognize its identity; do not consume twice.
After the wait endedConsult current state before accepting further advancement.
Target does not existRequire explicit rejection or recovery; do not assume buffering.

Azure’s durable external events buffer early events for existing instances but discard events targeting nonexistent instances. Buffering therefore has a lifecycle boundary, not merely a connection boundary.

Resumption must recheck changing observations and applicable authority. An approval belongs to a specific actor, action, arguments, scope, and lifetime; preserving a remembered yes is insufficient. Approval freshness determines whether a suspended action remains permitted.

Restoration, replay, and diagnostic evidence

Restoration loads saved state. Recorded replay reconstructs control flow using saved outcomes. Fresh execution makes new calls. These mechanisms can coexist: a runtime restores task metadata, replays completed activities, then dispatches genuinely pending work. An activity is a separately executed unit whose recorded result can be reused.

Available evidenceRecovery actionMeaning
Saved task stateRestore its recorded values.Reconstructs application knowledge.
Completed activity resultReuse the recorded result.Preserves that historical outcome.
Unfinished activityRestart at its supported boundary.May repeat work inside that activity.
Fresh model callApply normal admission and execution controls.Creates a new decision, not the historical response.

Deterministic replay concerns workflow control flow, not deterministic model generation. Temporal compares commands against recorded history; reordering an activity and timer can make replay incompatible. Model calls, database queries, and other external operations belong outside that replay path. Automatic resumption should stop when new code cannot interpret the existing history safely.

Record state-schema, runtime, model, tool, and environment versions with the execution. Recreate workspace resources separately from logical progress, and keep unresolved operations pending reconciliation. Recorded evidence and fresh execution explains why reproducing configuration does not turn a new call into historical evidence.

A trace connects execution records; a span records one timed operation. Observability owns this vocabulary. The harness should correlate task, attempt, operation, owner, state version, wait reason, usage, and verification results so diagnostic records can be joined to the execution they describe.

Recovery records and diagnostic exports serve different purposes. In a test that suppresses a trace export, a committed waiting state still establishes the pending obligation. Missing telemetry does not establish nonexecution; a finished span or recent heartbeat does not establish task success. Identity propagation and diagnostic coverage explain these limits; capture policy governs payload collection.

Budgets across concurrency and restart

A task budget distinguishes configured limits from recorded consumption. Track elapsed time, model calls, tool operations, concurrency, and spending in their own units. Tokens are counted model input and output units; complete-request token counts explain request accounting. A post-response spending counter can overshoot when concurrent requests pass admission before either reports usage.

Admission permits work to start. A reservation holds allowance for an outstanding request. In one accounting unit, let CC be consumed usage, RR outstanding reservations, rr the requested reservation, and LL the task limit. Admission must atomically enforce:

C+R+rLC + R + r \leq L
Example allowance: L = 100 units. Two concurrent requests each seek 50 units; only the first fits after atomic admission.
Recorded stageCRAvailable
Before admission20080
First request admitted205030
Worker lost; request unresolved205030
Request settles at 35 units55045

Settlement records actual usage once and releases the unused reservation. A replacement worker must not reset counters or count restored responses again. Unknown usage remains an unresolved liability; worker loss or reservation expiry does not establish that the provider consumed nothing.

Retain the original deadline across retries and restarts. Attempt time, retry delay, and local overhead must fit the remaining interval. Monetary reservations provide a hard ceiling only when enforceable request bounds cover actual charges. Environment limits constrain controlled resources; an accounting ledger alone cannot constrain a remote provider.

Stopping and observed termination

A stop decision must survive the process that made it. Persist the reason, prevent new dispatch, notify running work, and retain unresolved operations and useful partial outputs. Stop, pause, and transfer decisions define the intent; the harness must implement it through shutdown and recovery.

Cooperative cancellation requires running work to observe and respond to a stop signal. Temporal activity cancellation illustrates the dependency: heartbeats can carry notifications, throttling can delay them, and activity code must react. A request to cancel, its acknowledgment, and observed termination are separate facts.

Local shutdown can precede remote stopping

Example

Cancellation does not synchronize all execution boundaries.

1 / 3 · Request

Stopping begins; J still runs.

Task T, worker A, and job J retain their identities. Local termination precedes observed remote termination on this path. Earlier states remain history; no rollback is implied.
Read the diagram as text
  • Task T.
  • Worker A.
  • Job J.
  • Stop requested.
  • Local termination observed.
  • Remote execution continues.
  • Remote termination observed.
  • Task TStop requested: records.
  • Worker ALocal termination observed: observed.
  • Job JRemote execution continues: earlier observation.
  • Job JRemote termination observed: later observation.
  1. Request. Stopping begins; J still runs. Active: Task T, Worker A, Job J, Stop requested, Remote execution continues. New: Task T, Worker A, Job J, Stop requested, Remote execution continues.
  2. Local exit. A stops; J remains unresolved. Active: Task T, Worker A, Job J, Stop requested, Remote execution continues, Local termination observed. New: Local termination observed.
  3. Remote observation. Later evidence establishes J’s termination. Active: Task T, Worker A, Job J, Stop requested, Remote execution continues, Local termination observed, Remote termination observed. New: Remote termination observed.

The caller can stop waiting while remote execution continues. A timeout may arrive after the server has performed the mutation; cancellation does not roll it back. Keep the operation identity and resolve its outcome before treating repetition or reversal as safe.

Provider states can expose this distinction. EMR’s job states distinguish CANCELLING, when stopping and resource release are being attempted, from CANCELLED, when they succeeded. SUCCESS establishes job completion, not report validity or delivery.

Graceful shutdown stops admission and gives controlled work a bounded opportunity to finish or clean up. Escalate when that interval expires, while recording any remaining external work. A task canceled by the user may still contain a completed external operation. Termination and cleanup covers process-level enforcement.

Failure classification and bounded retries

Retry policy depends on error type and effect knowledge. Invalid-call loops waste resources. Changed intent requires a recorded decision; do not replace an unresolved operation’s key.

The policy below separates an operation’s observed failure from what is known about its effect.
Failure or observationEffect knowledgePermitted next step
Transient dependency failureNo effect, or repetition is protected.Schedule a bounded retry.
Invalid requestRejected before execution.Correct the request; record changed intent.
Permission deniedNo authorized dispatch.Stop or obtain appropriate authority.
Completed operationSuccessful completion already recorded.Reuse evidence; do not repeat the effect.
Output fails task checksExecution occurred, but the result is unsuitable.Revise the plan or escalate; completion is unsupported.
Timeout or lost responseMutation outcome unknown.Reconcile before unprotected repetition.

Backoff increases delay between retries; jitter randomizes that delay to avoid synchronized retry waves. Follow provider guidance, cap attempts, and stop when the remaining deadline cannot accommodate another attempt. These controls reduce overload; they do not make duplicate mutations safe.

Choose the retry layer deliberately. If an outer layer permits three total attempts and each invokes an inner layer permitting three, one operation can produce nine downstream attempts. This is an upper bound when both policies exhaust, not a measured multiplier. Existing SDK retries count toward the design.

Persist the next eligible time instead of occupying a worker during backoff. At dispatch, recheck current authority, ownership, deadline, and allowance. Exhausted attempts, permanent rejection, or unavailable safe recovery must produce a recorded stopping or escalation outcome rather than perpetually runnable work.

Reconciliation and compensating actions

Reconciliation compares recorded intent and observations with authoritative state. Within the fixture’s retention guarantee, K’s unchanged request recovers J.

The current owner records J and resumes status checking. Late evidence from an earlier worker can be reconciled without granting that worker authority to update progress. A receiver’s duplicate protection and the local ownership guard solve different problems; recovery requires both where both races are possible.

EMR’s submission documentation does not specify lookup by token or the token’s retention window. A production integration needs those destination guarantees before adopting the fixture’s recovery path.

Receiver evidenceRecovery consequence
Existing operation identifiedAssociate its result or handle; continue observation.
Documented retry protection still appliesRepeat the same operation within that contract.
Lookup unavailable or protection expiredRetain uncertainty; require another safe resolution path.

Transport status alone may remain inconclusive. Stripe documents cases where an HTTP 500 accompanies possible side effects and later reconciliation. Correlating provider objects with the local operation can resolve the uncertainty. Replaying a cached response and confirming the business outcome are different observations.

Compensation is a new action intended to counter an earlier effect. A saga organizes committed steps with application-defined compensating steps. Compensation does not erase history: other systems may have observed the original effect, some actions are irreversible, and compensation can fail. Record its identity, authority, budget, and verification separately; unresolved compensation may require manual recovery.

Durable artifacts and validation

An artifact is a retained output such as a report, patch, or file. An artifact manifest identifies that output and its production evidence. Provenance records where it came from; a content digest helps identify its bytes. Neither establishes semantic correctness. SLSA provenance provides a concrete vocabulary for inputs, outputs, and producing executions.

Example report manifest
FieldRetained value
OriginTask T; producing attempt A2; input and runtime versions.
Result identityReport R1; durable storage version; content digest.
Domain evidenceJob J; required partition set; observed partition results.
ValidationCheck version, result, and references to supporting observations.

Validate separate properties: existence, readability, format, and domain correctness. For R1, verify that its job reference is J and compare observed partition coverage with the fixture-owned expected set. A well-formed report can still describe the wrong job or omit required data. Verifier limitations define what passing checks can establish.

Stage an exact version in durable storage, validate it, then publish a guarded reference to that version. S3 conditional writes support create-if-absent and replacement conditioned on an ETag. Those checks neither validate content nor transact with a task database; an ETag is not a universal content digest.

A crash after storage can leave a valid but unreferenced artifact. Recovery should reconcile the exact stored version and its validation evidence before finalization. A temporary workspace path is insufficient once that environment disappears. Artifact export covers the boundary between disposable workspace contents and retained outputs.

Verified outcomes and durable delivery

A postcondition is a required state after success. Agent Engineering explains that boundary. Worker exit establishes termination; job SUCCESS establishes processing completion; a readable report establishes readability. The requested partition results and exact report version still require their own checks.

Commit the verified outcome, exact artifact references, exceptions, and delivery intent together before notification. The transaction preserves pending delivery across crashes.

Independent evidence, then delivery

Example

Verified work can coexist with pending delivery.

All work checks precede recording; delivery remains independent.
Read the diagram as text
  • Execution stopped.
  • Exact artifact validated.
  • Domain postconditions established.
  • Verified work record.
  • Delivery attempt.
  • Fulfillment recorded.
  • Delivery remains pending.
  • Execution stoppedVerified work record: required.
  • Exact artifact validatedVerified work record: required.
  • Domain postconditions establishedVerified work record: required.
  • Verified work recordDelivery attempt: handoff.
  • Delivery attemptFulfillment recorded: boundary confirmed.
  • Delivery attemptDelivery remains pending: confirmation absent.

Keep work outcome and delivery state separate. If delivery is required, overall fulfillment waits for evidence at that boundary. Channel acceptance, rendered output, and human attention establish different facts.

Retry only the saved delivery intent and artifact reference. Lost acknowledgments can cause duplicates requiring consumer deduplication; verified work remains available without rerunning processing.

Application outcomes should state what the evidence supports.
OutcomeMeaning
SuccessRequired work and delivery conditions are established.
Partial resultUseful validated output exists; named requirements remain unmet.
FailureA required condition failed and the recovery policy ended.
CancellationThe requested stopping path ended; surviving effects remain recorded.
Unresolved outcomeEvidence cannot yet establish whether an operation took effect.

Verification at interruption boundaries

Fault injection deliberately interrupts execution to test an invariant—a property that must remain true. The cases below are test specifications, not reported results. Their structure follows controlled failure testing: establish initial state, inject a failure, restore conditions where recovery is possible, and inspect authoritative outcomes.

Each test starts with the stated durable records and the fixture’s explicit receiver contract.
InterruptionSurviving evidenceRecovery assertion
Crash before dispatchCommitted intent and outbox entry.Dispatch remains recoverable without a new task.
Remote commit; response lostK and immutable request; receiver mapping.Recover J; receiver effect count remains one.
Early event; duplicate wakeupRetained correlated signal.Consume once; schedule one continuation.
Reassignment; old worker returnsCurrent ownership generation.Reject the obsolete worker’s progress write.
Worker dies with usage unknownConsumed usage and outstanding reservation.Do not reset allowance or settle twice.
Cancellation during mutationStop request; operation identity.No new task work; reconcile possible effects.
Artifact stored before finalizationExact version and validation evidence.Finalize that version or record the missing check.
Notification sent; acknowledgment lostVerified outcome and delivery intent.Retry delivery without rerunning processing.
Trace export unavailableCommitted task and operation records.Recover from durable state; retain diagnostic gap.
Workflow code incompatibleRecorded commands and runtime version.Stop automatic replay instead of inventing history.

Eventual recovery is conditional: restore required dependencies and preserve sufficient authority, allowance, and deadline. Otherwise the expected result is justified stopping or explicit uncertainty. A one-effect assertion requires the fixture’s receiver guarantee. Executable evaluation cases supply the broader method for connecting controlled inputs to state-based judgments.

Retain input revisions, submitted changes, runtime version, test commands, timeouts, and logs. Report infrastructure failures separately from task failures. Reset each trial to its recorded environment baseline; dependency versions, cache state, resource allocation, and concurrency can affect execution even when the model is unchanged.

Resource guarantees and hard enforcement limits are different experimental settings. Additional headroom can prevent infrastructure failures, but it can also enable a different strategy. Record both before attributing outcome changes to a harness improvement.

A successful retry demonstration covers only its exercised path. One durable-agent demo recovered from injected exceptions but also encountered an unexplained stall. Tests must target the actual interruption boundaries rather than infer comprehensive recovery from a process continuing once.

Convert recurring failure classes into durable checks with actionable remediation. Repository checks can detect missing timeout policies, while runtime tests establish behavior under interruption. Add machinery when it protects a required invariant; a small durable state machine can be sufficient when its ownership, effect, budget, and completion boundaries are explicit.

Open questions

  1. Hard spending bounds remain difficult when requests outlive workers and usage arrives late. Progress requires demonstrated limits on individual provider requests plus crash tests showing that shared reservations survive and settle without resetting allowance or double counting.

  2. Long-lived executions need safe upgrades without abandoning useful progress. Changing command order can invalidate history, while preserving it may retain obsolete behavior. Progress includes compatibility tests that identify which histories resume safely and which require explicit migration or intervention.

  3. End-to-end artifact finalization spans storage, validation, task records, and delivery. Independent commits make partially completed handoffs unavoidable. Progress requires crash tests showing that every fulfilled task references the exact validated version and that delivery recovery never regenerates already verified work.

  4. Compensation remains difficult when another system has already acted on an effect or the reversal itself fails. Reliable progress requires domain-specific recovery procedures that preserve history, identify remaining obligations, and reach either a verified acceptable state or accountable manual handling.

Follow the curated reading path through the speakers and demonstrations behind this entry.

Explore more talks

The rest of the library, beyond the curated path. Cited talks support this entry; reviewed transcripts were processed in full. Metadata candidates have not been reviewed as sources or verified as topic members.

118 matching talks

TalkSpeakerEventYear
Ryan Lopopolo, Vibhu SapraAI Engineer Europe 20262026
Aditya BhargavaAI Engineer World's Fair 20262026
Dex HorthyAI Engineer World's Fair 20262026
Codex, Behind the Harness

Transcript reviewed

Dominik KundelAI Engineer World's Fair 20262026
AI Engineering 101

Transcript reviewed

Noah HeinAI Engineer Summit 20232023
Nico AlbaneseAI Engineer Summit 20252025
Jim BennettAI Engineer World's Fair 20252025
Chau TranAI Engineer World's Fair 20252025
Yohei NakajimaAI Engineer World's Fair 20262026
Yuval BelferAI Engineer World's Fair 20252025
Mahesh MuragAI Engineer Summit 20252025
Jon PeckAI Engineer World's Fair 20252025
The Future of MCP

Transcript reviewed

David Soria ParraAI Engineer Europe 20262026
Anton TroynikovAI Engineer Summit 20232023
Louis-François Bouchard, Omar Solano, Samridhi VaidAI Engineer World's Fair 20262026
Sally-Ann DeLuciaAI Engineer Europe 20262026
Cornelia DavisAI Engineer Code 20252025
Simon WillisonAI Engineer Summit 20232023
Fouad MatinAI Engineer World's Fair 20252025
Security Firewall for Agents

Transcript reviewed

Ryan DahlAI Engineer World's Fair 20262026
Samuel ColvinAI Engineer Code 20252025
Sandipan BhaumikAI Engineer Europe 20262026
Will BrownAI Engineer World's Fair 20262026
Rishi DesaiAI Engineer World's Fair 20262026
Nick HeinerAI Engineer World's Fair 20262026
LLM Evals That Work IRL

Transcript reviewed

Aparna Dhinkaran, Aparna DhinakaranAI Engineer World's Fair 20242024
Nick Ung, Akshay SharmaAI Engineer World's Fair 20262026
Mahmoud MabroukAI Engineer Europe 20262026
Sarmad QadriAI Engineer World's Fair 20252025
Adam TerlsonAI Engineer Summit 20252025
Zhou YuAI Engineer Summit 20252025
Tom SmokerAI Engineer World's Fair 20252025
Jesse HuAI Engineer Code 20252025
Ronak MaldeAI Engineer World's Fair 20262026
Mason EggerAI Engineer World's Fair 20252025
Misha Kaletsky, Jonas TemplesteinAI Engineer Europe 20262026
Drasko ProfirovicAI Engineer World's Fair 20262026
Brendan RappazzoAI Engineer World's Fair 20262026
KP Sawhney, Ian BallantyneAI Engineer Europe 20262026
Dat NgoAI Engineer Europe 20262026
Laurie VossAI Engineer Europe 20262026
Chintan Agrawal, Daniel WirjoAI Engineer World's Fair 20262026
Brian JohnAI Engineer Code 20252025
Dominik KundelAI Engineer World's Fair 20252025
Nishant GuptaAI Engineer World's Fair 20262026
Cornelia DavisAI Engineer World's Fair 20262026
Rajiv ChandegraAI Engineer World's Fair 20262026
Peter WielanderAI Engineer Code 20252025
Soheil FeiziAI Engineer World's Fair 20262026
Sam BhagwatAI Engineer World's Fair 20262026
Vasant KearneyAI Engineer World's Fair 20262026
Stefania DrugaAI Engineer World's Fair 20262026
Yogendra MirajeAI Engineer World's Fair 20262026
Dmitry PetrovAI Engineer World's Fair 20262026
Mithun HunsurAI Engineer Summit 20232023
Taylor Jordan SmithAI Engineer World's Fair 20252025
A Genius With Amnesia

Metadata candidate

Victor SavkinAI Engineer World's Fair 20262026
Barry Zhang, Mahesh MuragAI Engineer Code 20252025
Nicholas Kang, Michael AaronAI Engineer Europe 20262026
Nick Nisi, Lizzie SiegleAI Engineer World's Fair 20252025
Dax RaadAI Engineer Code 20252025
AI SDK v6

Metadata candidate

Nico AlbaneseAI Engineer Europe 20262026
Gagan Bhat, Isabella Kai HeAI Engineer World's Fair 20262026
Paul Klein IVAI Engineer World's Fair 20262026
Rita KozlovAI Engineer World's Fair 20252025
Stephen ChinAI Engineer Europe 20262026
Mahesh SathiamoorthyAI Engineer World's Fair 20262026
Max Kanat-AlexanderAI Engineer Code 20252025
Ornella Bahidika, Joel AllouAI Engineer World's Fair 20262026
Philipp SchmidAI Engineer World's Fair 20262026
Ara KhanAI Engineer Europe 20262026
Omri Bruchim, Tomer AstAI Engineer World's Fair 20262026
Alex CheemaAI Engineer Europe 20262026
Future-Proof Coding Agents

Metadata candidate

Bill Chen, Brian FiocaAI Engineer Code 20252025
Kenton VardaAI Engineer World's Fair 20262026
Gateways are All You Need

Metadata candidate

Karan SampathAI Engineer Europe 20262026
Hailong ZhangAI Engineer Summit 20252025
Ash Prabaker, Andrew WilsonAI Engineer Europe 20262026
Hanna Lichtenberg, Aamir ShakirAI Engineer World's Fair 20262026
Mahmoud AbdelwahabAI Engineer Code 20252025
Raymond FengAI Engineer World's Fair 20262026
Carter Abdallah, Vincent Weisser, Lucas Atkins, Chris AlexiukAI Engineer World's Fair 20262026
Mark Bain, Vasilije Markovic, Daniel Chalef, Alex GilmoreAI Engineer World's Fair 20252025
Arjun SinghAI Engineer World's Fair 20262026
Notion's Token Town

Metadata candidate

Sarah SachsAI Engineer World's Fair 20262026
Omar KhattabAI Engineer World's Fair 20252025
Antje BarthAI Engineer World's Fair 20262026
Mario ZechnerAI Engineer Europe 20262026
Nick NisiAI Engineer Europe 20262026
RL Environments at Scale

Metadata candidate

Will BrownAI Engineer Code 20252025
Preeti SomalAI Engineer World's Fair 20252025
Louis Knight-WebbAI Engineer Europe 20262026
The New Code

Metadata candidate

Sean GroveAI Engineer World's Fair 20252025
State of Data

Metadata candidate

Sean CaiAI Engineer World's Fair 20262026
Ibragim BadertdinovAI Engineer Europe 20262026
The Agentic AI Engineer

Metadata candidate

Benedikt Sanftl, Burak Cemil ÖzafşarAI Engineer World's Fair 20262026
Natalie MeurerAI Engineer World's Fair 20262026
Addy OsmaniAI Engineer World's Fair 20262026
Justin SchroederAI Engineer World's Fair 20262026
Alexander Embiricos, Romain Huet, Peter SteinbergerAI Engineer World's Fair 20262026
The Log Is The Agent

Metadata candidate

Ishaan SehgalAI Engineer World's Fair 20262026
Lou BichardAI Engineer Europe 20262026
The Prompt is the Platform

Metadata candidate

Dominik, Dominik TornowAI Engineer World's Fair 20262026
Ayush BhardwajAI Engineer World's Fair 20262026
Training Agentic Reasoners

Metadata candidate

Will BrownAI Engineer World's Fair 20252025
Eugene YanAI Engineer World's Fair 20262026
Matt DaileyAI Engineer World's Fair 20262026
James LeAI Engineer World's Fair 20262026
Vision: Zero Bugs

Metadata candidate

Johann Schleier-SmithAI Engineer Code 20252025
Sai Krishna RallabandiAI Engineer World's Fair 20262026
DottaAI Engineer World's Fair 20262026
Eugene Yan, Hamel Husain, Jason Liu, Dr Bryan Bischof, Charles Frye, Shreya ShankarAI Engineer World's Fair 20242024
Phil HetzelAI Engineer Europe 20262026
Sunil Pai, Matt CareyAI Engineer Europe 20262026
Mike ChristensenAI Engineer Europe 20262026
Dan FarrellyAI Engineer World's Fair 20262026
Talha SheikhAI Engineer Europe 20262026
Mike PhippsAI Engineer World's Fair 20262026

References

Coverage and source review
Processed transcripts
52 processed in full · 6 in the curated path
Automated source review
Passed
Metadata candidates
72 unreviewed; not verified topic membership
Corpus version
1bd8e407b26a07b33815594e1b2db5f41827119a2b3cb6fbf240f9fc571fc767

Automated review checks source support; it is not publication approval.

A synthesis of selected conference talks and technical references. Citations link to the source material; they do not imply that every talk on this subject is included.

  1. Harnesses in AI: A Deep Dive

    An agent harness controls the environment around model execution; it includes more than either an evaluation runner or the agent loop alone.

  2. Function calling

    Handling function calls; Execute function calls and append results; Formatting results; Incorporating results into response; Strict mode.

  3. Scaling Managed Agents: Decoupling the brain from the hands

    Primary engineering account; component responsibilities, harness recovery, and session-versus-context boundaries.

  4. Demystifying evals for AI agents

    Primary engineering report; evaluation structure, grader types, and capability versus regression suites.

  5. The Oracle Problem in Software Testing: A Survey

    Sections 1–2, introduction and definitions; section 4, specified oracles; section 5.2, Metamorphic Relations; sections 6–7, implicit oracles and human effort.

  6. Making retries safe with idempotent APIs

    Reducing client complexity; Retries and semantic equivalence; Late arriving requests; Same client request ID, different intent.

  7. StartJobRun — Amazon EMR Serverless

    Request parameters and response contract for submitting the running example's corrected job.

  8. The Protection of Information in Computer Systems: Basic Principles

    Section I.A.3, Design Principles, especially fail-safe defaults, complete mediation, and least privilege; section I.B, isolation mechanisms.

  9. Workflow Id and Run Id — Temporal

    Workflow ID, Run ID, and execution-chain definitions.

  10. Making retries safe with idempotent APIs — Amazon Builders' Library

    Primary engineering account; client request identifiers, atomicity, semantic equivalence, and late requests.

  11. MCP Tasks (async)/ Why the heck aren't any agents supporting MCP tasks/async?

    Map the protocol's task lifecycle onto the application's domain state machine rather than treating them as identical.

  12. Temporal Activity Execution

    What is an Activity Execution?; task-loss, Start-To-Close timeout and retry discussion; Cancellation.

  13. PostgreSQL 18: Transaction Isolation

    Read Committed behavior for concurrent updates; supports a constructed single-row ownership check.

  14. Breaking the Chain: Agent Continuations for Resumable AI Workflows

    Agent Continuations externalize resumable execution state so suspended agent loops can shut down and restart later.

  15. Temporal TypeScript SDK: Activity Timeouts

    Official activity timeout and heartbeat/cancellation sections, checked 2026-08-28.

  16. Your Agent Didn’t Fail. Your Harness Did.

    Fluent output does not establish that the harness assembled a complete or current working set.

  17. Checkpointers — LangGraph

    Checkpoints, super-steps, pending writes, and StateSnapshot fields; adds concrete coverage beyond the reused persistence overview.

  18. Persistence — LangGraph

    Official documentation; checkpointer versus store and persistence failure modes.

  19. Spend — Pydantic AI Harness

    Budget retention, gate guarantees, accounting gaps, and durable-execution limitations.

  20. Your Agents Need a Save Button

    Connect observability spans to runtime checkpoints containing code, artifacts, and execution environment; emitted tool telemetry alone does not capture the execution state described in the talk.

  21. From Chaos to Choreography: Multi-Agent Orchestration Patterns That Actually Work — Sandipan Bhaumik

    Pass immutable, versioned state snapshots and append new results instead of having agents overwrite the same records.

  22. Building Durable, Production-Ready Agents with OpenAI SDK and Temporal

    Temporal is described as recording activity results and replaying event history so completed calls can be reused after an application crash.

  23. PostgreSQL 18: Transactions

    Transaction tutorial; the runtime-record grouping is an explicitly derived teaching application.

  24. Effective context engineering for AI agents

    Context retrieval and agentic search; Context engineering for long-horizon tasks: Compaction and Structured note-taking.

  25. From fork() to Fleet: Designing an Agent Sandbox Cloud — Abhishek Bhardwaj, OpenAI

    Periodic disk checkpoints allow long-running work to recover on another node and enable intentional fleet maintenance without discarding all accumulated work.

  26. Thinking in LangGraph

    Advanced considerations: node granularity and checkpoint persistence modes.

  27. Transactional outbox pattern — AWS Prescriptive Guidance

    Official distributed-systems pattern; the memory/index example is an explicitly derived application.

  28. Temporal Activity Definition

    Section 'Idempotency', including the three-step activity example, worker-crash scenario, and service-enforced idempotency keys.

  29. Your Agent Didn’t Fail. Your Harness Did.

    Trace one real run from trigger identity through inherited state, authority, execution attempts, and surviving external evidence.

  30. Stripe retry keys and retention boundaries

    Idempotent requests: response caching, parameter matching, key retention and execution-start exceptions.

  31. Amazon SQS visibility timeout

    Visibility adjustment, failure handling, and duplicate-delivery limitations.

  32. The Chubby Lock Service for Loosely-Coupled Distributed Systems

    Burrows, OSDI 2006; section 2.4 on sequencers and lock-delay protection.

  33. Temporal TypeScript Activity Timeouts

    Activity Timeouts; Retry Policies; Heartbeat an Activity; Activity Heartbeat Timeout; heartbeatDetails resume example.

  34. Building Deterministic Infrastructure for Non-Deterministic AI Agents

    Adapt distributed-systems reliability patterns to agents before inventing new infrastructure.

  35. From Chaos to Choreography: Multi-Agent Orchestration Patterns That Actually Work — Sandipan Bhaumik

    Use a circuit breaker to stop repeatedly calling a failing agent and probe for recovery after a waiting period.

  36. Breaking the Chain: Agent Continuations for Resumable AI Workflows

    The messages array supplies much of the execution history, but Agent Continuations add control metadata to identify where and how execution should resume.

  37. Handle external events in durable orchestrations

    Waiting, sending, buffering, deduplication, and timeout guidance; concrete support for continuation as retained pending work rather than a sleeping worker.

  38. Events are the Wrong Abstraction for Your AI Agents

    Durable execution can preserve a long wait across crashes and resume the workflow when it is ready to run.

  39. Your Agent Didn’t Fail. Your Harness Did.

    Approval must remain bound to one specific action and its scope, identity, arguments, and lifetime; expiration should terminate the approval path.

  40. From Stateless Nightmares to Durable Agents

    Temporal separates deterministic workflow logic from nondeterministic activities and replays recorded activity results to recover progress.

  41. From Stateless Nightmares to Durable Agents

    Durability preserves completed activity results, but does not resume arbitrary computation inside an unfinished activity.

  42. LangGraph Functional API: deterministic resumption and idempotency

    Serialization; Determinism; Idempotency; Common pitfalls, including side effects and nondeterminism.

  43. Temporal Workflow Definition

    Deterministic constraints, command comparison, and the timer/activity reordering example.

  44. LLM Observability, Evaluation, Experimentation Platform — Dat Ngo, Arize AI

    Runtime traces and spans provide an audit record of agent behavior that source code alone does not reveal.

  45. Ship Real Agents: Hands-On Evals for Agentic Applications

    Wrap the full operation in a parent OpenTelemetry span so its research and writing turns can be inspected together.

  46. FoundationDB: A Distributed Key Value Store

    Section 3, Simulation Testing; primary methodological support for controlled failure injection and state-based recovery assertions.

  47. Ship Real Agents: Hands-On Evals for Agentic Applications

    The workshop layers Open Inference metadata on OpenTelemetry, also called OTel, and recommends batch span processing for production volume.

  48. Two-Phase Transfers — TigerBeetle

    Pending transfers, partial posting, invariant enforcement, and immutable resolution records; applying the mechanism to agent budgets is a design analogy.

  49. AWS Well-Architected: Set Client Timeouts

    Implementation guidance and Implementation steps; end-to-end budget expression is an engineering derivation.

  50. Your Agent Didn’t Fail. Your Harness Did.

    Bound external waits, record terminal outcomes, and keep recovery commands outside the blocked work queue.

  51. gRPC lifecycle: cancellation is not rollback

    RPC life cycle: Deadlines/Timeouts; RPC termination; Cancelling an RPC and its Warning.

  52. Job run states — Amazon EMR Serverless

    Published job-state definitions for the data-processing example.

  53. Building Deterministic Infrastructure for Non-Deterministic AI Agents

    Uncontrolled agent retries can amplify a small tool error into escalating compute consumption.

  54. AWS Well-Architected: Control and Limit Retry Calls

    Desired outcome and common anti-patterns; Implementation guidance; Implementation steps.

  55. Idempotent requests

    Idempotent requests: saved-result behavior, parameter comparison, key pruning, and validation/concurrent-execution exclusions.

  56. Two Roads to Durable Agents: Replay vs. Snapshot — Eric Allam, Co-founder, Trigger.dev

    The presented replay model caches completed side-effect steps so a retry can skip them and reach the failed operation.

  57. AWS Builders' Library: timeouts, retries, backoff and jitter

    Timeouts; Retries and backoff; Jitter.

  58. Building Durable, Production-Ready Agents with OpenAI SDK and Temporal

    The speaker recommends putting fallible external calls and expensive work into Temporal activities, then orchestrating those activities with workflows and configured retries.

  59. Resolving an ambiguous payment request

    Network errors, Server errors and Idempotency; metadata correlation during reconciliation.

  60. Sagas

    Garcia-Molina and Salem, 1987; saga model, save points, recovery and compensation limitations.

  61. SLSA v1.1 Provenance

    Build model, provenance schema, ResourceDescriptor, Builder, and BuildMetadata; adaptation to report manifests is an engineering application.

  62. How to prevent object overwrites with conditional writes — Amazon S3

    Conditional object creation and replacement; useful primitives for an explicitly constructed artifact-publication protocol.

  63. Your Agent Didn’t Fail. Your Harness Did.

    Internal acceptance does not prove the intended result appeared at the user-visible boundary.

  64. Make your own event-sourced agent harness using stream processors

    Accept an idempotency key on event appends so repeated webhook deliveries do not create duplicate events.

  65. SWE-bench Evaluation Guide

    Overview; Basic Evaluation; Advanced Usage; Evaluation Results and report-counter explanations; Troubleshooting.

  66. SWE-bench Docker Setup

    Docker Resource Management: Understanding SWE-bench's Docker Usage; Cache Level Configuration; Performance Optimization; Troubleshooting Docker Issues.

  67. Quantifying infrastructure noise in agentic coding evals

    Primary engineering experiment; controlled resource variation and infrastructure-versus-capability distinction.

  68. From Stateless Nightmares to Durable Agents

    The demo showed recovery from some injected tool exceptions, but also exposed an unexplained stall, limiting what can be concluded about retry reliability.

  69. Harness Engineering: How to Build Software When Humans Steer, Agents Execute

    Convert recurring review findings into repository-specific checks with actionable remediation messages.

  70. Building Multi-agent Systems with Finite State Machines

    Model a multi-request operation as a saga with compensating transactions for earlier steps.

  71. Effective harnesses for long-running agents

    Primary engineering report; session handoff, incremental progress, and end-to-end testing.

  72. Two Roads to Durable Agents: Replay vs. Snapshot — Eric Allam, Co-founder, Trigger.dev

    Replay requires deterministic execution outside recorded steps and makes changes to deployed workflow code harder to reconcile with existing journals.

  73. Two Roads to Durable Agents: Replay vs. Snapshot — Eric Allam, Co-founder, Trigger.dev

    Machine-using agents accumulate valuable filesystem, memory, and process state that the speaker proposes preserving separately from context.