Proposals

Workers generate proposals that require human approval before execution.

What is a Proposal?

A proposal is a worker's recommended action for a given task. Instead of executing actions directly, workers generate proposals that humans review and approve.

Each proposal includes:

  • Action type: What the worker wants to do (send email, post message, etc.)
  • Action payload: The specific details of the action
  • Reasoning: Why the worker chose this action
  • Confidence: How confident the worker is in this approach
  • Knowledge citations: Documents referenced during analysis

Proposal Generation

When processing a task, the worker:

  1. Analyzes the task content and metadata
  2. Retrieves relevant knowledge documents
  3. Considers role-specific instructions and safety rules
  4. Generates one or more proposed actions
  5. Validates proposals against policy constraints
  6. Submits the proposal for human review

Multiple Actions

Complex tasks may result in proposals with multiple actions. Each action can be approved or rejected independently.

Reviewing Proposals

Proposals appear in your Inbox for review. For each proposal, you can:

Approve

Execute the proposal exactly as drafted. The action will be carried out and logged.

Edit & Approve

Modify the proposal before execution. Your edits are logged and help train the worker.

Reject

Discard the proposal. Optionally provide feedback explaining why.

Proposal Validation

Before a proposal is submitted for review, it's validated against:

  • Role policies: Allowed tools and integration types
  • Safety rules: Content checks and sensitive data rules
  • Domain restrictions: Allowed email domains, etc.
  • Rate limits: Action frequency limits

Proposals that violate policies are logged with a POLICY_DENY action and may be blocked or flagged for review.

Execution

When a proposal is approved, the system:

  1. Validates the action one more time
  2. Executes the action via the appropriate integration
  3. Logs the execution details to the audit trail
  4. Updates the task status
  5. Sends confirmation if configured

Idempotency

Proposals include idempotency keys to prevent duplicate execution. If an action fails partway through, it can be safely retried.

Learning from Decisions

Worker learning improves over time based on approval decisions:

  • Approved proposals: Reinforce the worker's approach
  • Edited proposals: Show the worker preferred phrasing or approach
  • Rejected proposals: Signal what to avoid in the future

Related