Skip to content
GitHub
Operations

Action Inputs

Generated

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

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

Overview

An action’s inputs are the canonical values the customer’s agent sends on POST /decide for that routing key — its ontology. The operator views an action’s inputs on the Actions tab (/worlds/:worldId/actions,): each input reads its name, type, whether it’s required, its choice list (for a choice-list type), and a “renamed by operator” marker when the operator has already re-shaped it.

Once a version is published, an input’s name and type are part of the caller contract — agents depend on them. So renaming or re-typing a published input is a deliberate act: the operator opens an edit affordance, writes the new name / type / choices plus a required intent note, and previews what changes before committing. The preview is a dry run — it reports the affected rules, whether the change is breaking for callers, and any re-type precondition (re-typing first requires realigning the rules that read the input). Confirming records the edit; the next publish honors it, and until then it shows as a pending change distinct from the live ontology.

Only a published input is editable here. An input with no published version yet is shaped through normal authoring; the deliberate-edit path rejects it (the API returns a 422 the panel surfaces).

Preconditions

  • Signed in as the seeded operator.
  • A world with at least one enshrined rule, a declared action carrying that rule, and a published version (so the action’s inputs are part of a caller contract — the freeze referent the preview resolves against).

Scenarios

1. View a published action’s inputs

  • Publish a version, open the Actions tab, and select the action
  • Expected: The inputs panel lists the action’s inputs — each reading its name, type, and required/optional marker (a choice-list input also reads its choices).

2. Preview the impact of renaming a published input

  • Open the edit affordance on a published input, enter a new name and an intent note, and preview
  • Expected: The impact dry run renders prior → proposed, the count of affected rules, and the breaking-change warning when the rename breaks the caller contract — no change is recorded yet.

3. Record the rename

  • Confirm the previewed rename
  • Expected: The edit is recorded; the input now shows as a pending change (”→ new name, applies at next publish”). The next publish would honor it.

Test Data

LabelValueNotes
Rule textA taxpayer with gross income below the filing threshold need not file.The fixture enshrined rule whose inputs form the action’s ontology
Action namereview_incomeRouting key declared on the world and assigned the fixture rule
Rename suffix_renamedAppended to the published input’s name to drive a deliberate rename