> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Define outcome

> Defines work and a rubric for iterative Claude outcome evaluation.

`anthropic.defineOutcome` defines work and a rubric for iterative Claude outcome evaluation.

## Example

```ts automations/anthropic-define-outcome.automation.ts theme={null}
import { automation, onInvocation, withPrerequisites } from "automate.ax"
import { anthropic } from "automate.ax/anthropic"

export default automation("Define outcome", () => {
  withPrerequisites(onInvocation(), () => {
    anthropic.defineOutcome({
      sessionId: "session-id",
      description: "Produce a passing implementation.",
      rubric: {
        type: "text",
        content: "All tests pass and behavior is documented.",
      },
      maxIterations: 3,
    })
  })
})
```

## Inputs

Requires `sessionId`, `description`, and a text or file rubric. `maxIterations` defaults to 3 and allows up to 20. Inputs use public camelCase names and accept signals.

## Output and behavior

Returns the accepted outcome event with its provider-generated outcome ID.

Anthropic requests time out before the action lease and provider mutations are not retried after an uncertain response unless stated otherwise.
