Skip to content
GitHub
Operations

Action Authoring

Generated

This page is generated from qa/operations/specs/action-authoring.md — the source of truth. Edit the spec, not this page.

Last run: not yet recorded (run the replay suite to populate status).

Overview

A world’s action set is the list of routing keys the customer’s agent names on POST /decide and discovers via GET /actions (ADR-089/104). The operator declares actions and assigns rules to them on the Actions tab (/worlds/:worldId/actions, D3). Rules associate to actions many-to-many; a rule assigned to no action does not deploy, and a world that declares no action has nothing to route to — so declaring an action and assigning at least one rule is the real-flow precondition for a successful publish→deploy.

The tab mirrors the Rules tab shape: an “Author an action” create form, the declared-action table (each row reading its four-state lifecycle — Live / Under review / Inactive), and a per-action rule-assignment editor that lists the world’s enshrined rules with an Assign / Unassign control.

Preconditions

  • Signed in as the seeded operator.
  • A world with at least one enshrined rule (authored via the chat-propose → approve path).

Scenarios

1. Declare an action from the empty action set

  • Open the Actions tab for a world that has no actions yet
  • Expected: The action set reads its empty state; opening “Author an action”, entering a name, and submitting declares the action — a success confirmation names it and the new action appears in the action table.

2. Assign a rule to an action

  • Select the declared action and assign the world’s enshrined rule from the assignment editor
  • Expected: The rule’s row reflects the assigned state (the association is created via the M:N action-rules route).

3. Unassign a rule from an action

  • From the same assignment editor, unassign the rule
  • Expected: The rule’s row returns to the unassigned state (the association is removed; both directions are idempotent).

Test Data

LabelValueNotes
Action namereview_incomeRouting key declared on the world; mirrors the customer decide fixture
Rule textA taxpayer with gross income below the filing threshold need not file.The fixture enshrined rule assigned to the action