Skip to content

Checklist automation

github-actions[bot] edited this page Nov 12, 2026 · 1 revision

automation

Generated by pnpm gen:checklist-status from docs/qa/platform-checklist/areas/*.json. ⛔ Do not edit this page — edits go to the area JSON and this page follows on the next run. This page is Checklist-automation.

Automation — flows, triggers, roll-ups

24 active · 0 planned

Active (24)

id title priority status personas
automation.flow-run-step-nesting Flow Runs render loop/region iterations as a nested execution tree P1 active admin
automation.time-relative-trigger Time-relative flow triggers author first-class and fire per matching record P2 active admin
automation.rollup-summary-filter Filtered roll-up summaries recompute only through their own filter P1 active admin
automation.flow-node-type-matrix Every demonstrable flow node type authors in the designer, executes in a run, and surfaces its step in run logs P1 active admin
automation.trigger-type-matrix Every flow trigger type fires and produces a run of its bound flow; the run's trigger block records the launch event P1 active admin
automation.flow-error-handling A failing node inside try_catch is handled (catch region, $error binding) and the failed attempt is still recorded; outside it fails the run loudly P1 active admin
automation.screen-flow-roundtrip Screen flow round-trip: action trigger → paused run → rendered dialog → resume with inputs → persisted write P1 active admin
automation.durable-suspend-restart Suspended runs persist to sys_automation_run, survive a cold restart, and resume — including nested (linked-run) pauses P1 active admin
automation.paused-run-trigger-record-masked A paused record-change run's stored state serves its trigger record masked — credential-class fields as the mask, internal fields absent — to a run-state reader, hot and after a cold boot P2 active admin, a member granted read on sys_automation_run and nothing elevated
automation.connector-dispatch-matrix connector_action dispatches through every registered connector kind, and the registry feeds the designer pickers P2 active admin
automation.flow-runs-page-test-trigger The developer Flow Runs page triggers a run with typed inputs and drives a screen flow's pause to completion (no orphaned paused rows) P2 active admin
automation.flow-toggle-kill-switch Toggling a record-change flow OFF is a runtime kill switch — the mutation that fired it produces no new run; ON restores firing P2 active admin
automation.trigger-status-contract The flow-dispatch HTTP status contract: every never-dispatched, ran-and-failed and non-terminal outcome answers its own status + ADR-0112 code, at every door that dispatches a flow P1 active seeded admin (admin@objectos.ai / admin123), org member for the resume 403 arm — created by the admin with POST /api/v1/auth/admin/create-user and past its password change (POST /api/v1/auth/change-password): a held session answers 403 PASSWORD_RESET_REQUIRED, the right status for the wrong reason
automation.packaged-flow-disable-durable Disabling a packaged flow writes a durable sys_metadata_activation row that survives a cold restart with the trigger left unbound; re-enable UPDATES the row and restores firing P0 active seeded admin (admin@objectos.ai / admin123 — holds manage_metadata, which is the whole authority the toggle door demands on the stock single posture: the ADR-0126 §5 activation gate is INERT there, see access-security's activation-gate item)
automation.packaged-flow-subflow-disable-refusal Disabling a packaged flow that packaged callers invoke as a subflow is refused 409 DELETE_RESTRICTED naming every caller; the refused attempt writes no ledger row; enabling the subflow itself is never guarded P1 active seeded admin (admin@objectos.ai / admin123 — holds manage_metadata)
automation.packaged-flow-clone-contract POST /automation/:name/clone (Studio's New similar): whole-definition copy mutating exactly name/label/status, written switched off (status obsolete) into a package — the base's .custom pair when package is omitted —, protection envelope dropped, no ancestry, notice verbatim, 400/404/409/422 refusal arms — and the honest clause: the copy survives a restart and reaches Studio P1 active seeded admin (admin@objectos.ai / admin123 — holds manage_metadata; the clone door is in the #10145 authoring write set, domains/automation.ts)
automation.setup-packaged-automation-board The packaged-automation doors after ADR-0146 D4/D11: Setup nav serves Packaged actions (the retired flows page's bookmark lands in Studio), Studio's Automations pillar lists the packaged flows, its ledger switch persists, New similar is offered on flows only, no lineage surface, server refusals verbatim in role=alert P1 active seeded admin (admin@objectos.ai / admin123 — holds manage_metadata), a plain member (minted invite-first: the admin invites an address, then it signs up — an uninvited sign-up answers 403 SELF_REGISTRATION_CLOSED on stock; member_default, holds NO manage_metadata; the refusal-rendering and posture clauses)
automation.flow-registration-verdict-on-read A stored flow the engine refused to register no longer reads as running: GET /meta/flow/:name carries registration {state:"refused", reason} beside the authored status, the list carries registrations keyed by name, and a good flow reads registered P1 active seeded admin (admin@objectos.ai / admin123) — the Default Organization owner and platform admin on a fresh boot
automation.flow-authoring-refusals-v18 Flow authoring contract on v18, refused at os validate — and at PUT /meta/flow for every flow-body arm but the CEL root scope, which only os validate judges: single-brace {…} value tokens (CEL only; text slots use {{ }}), $-prefixed bound variable names, builtin node config keys/values the executor does not declare, dangling or repeated edges, record/user.id roots a flow cannot bind, retryPolicy.maxRetry, and an anonymous endpoint targeting a runAs:"system" flow P1 active metadata author running the CLI in a scratch copy of the showcase app (no server needed), seeded admin (admin@objectos.ai / admin123) — the Default Organization owner and platform admin on a fresh boot
automation.flow-run-semantics-v18 Flow run semantics on v18: current_user is bound in CEL (null on a schedule run), record exists only when the run was handed one, a non-system caller starting a runAs:"system" self-triggered flow is refused 403 with nothing run, and a decision with overlapping true edges takes the FIRST P1 active seeded admin (admin@objectos.ai / admin123) — the Default Organization owner and platform admin on a fresh boot, org member — created by the admin with POST /api/v1/auth/admin/create-user (stock showcase self-registration is closed: audience posture invite_only answers sign-up 403 SELF_REGISTRATION_CLOSED); joins the Default Organization as member, not platform admin, and lands mustChangePassword:true, i.e. a HELD session until it changes its password (POST /api/v1/auth/change-password)
automation.inbound-hook-timestamped-signature Inbound flow hooks accept ONLY the timestamped signature (t=,v1=): a body-only sha256= HMAC, a stale timestamp, an unknown flow and a wrong hook id all answer the SAME 401, and nothing is enqueued P1 active anonymous caller (no cookie, no bearer, no x-api-key), seeded admin (admin@objectos.ai / admin123) — the Default Organization owner and platform admin on a fresh boot
automation.scheduled-work-opt-in Scheduled work is OFF on a stock v18 boot unless OS_AUTOMATION_SCHEDULED_WORK_ENABLED=true: schedule triggers bind and fire only with the flag, and the boot says which (D3 schedule-flow-acting-organization-required) P1 active seeded admin (admin@objectos.ai / admin123) — the Default Organization owner and platform admin on a fresh boot
automation.package-flow-override Customize a read-only base's flow in Studio: the pair's item under the base's name, declaring the override, is armed in place of the base in one reload, keeps the base's ledger switch, lets a waiting run finish on the base, and Restore re-arms the base — New similar stays a separate copy under a new name P1 active admin (holds manage_metadata; single posture), dev admin as the approver (holds the showcase_manager position, so showcase_budget_approval's manager_review routes to them)
automation.flow-reference-package-resolution A package flow's by-name references resolve from its package: a subflow held by the flow's own package or one holder in its declared dependencies runs, one held only by the environment or an unrelated package is refused naming the holder and nothing runs P2 active admin (the seeded admin): the trigger calls and the run reads

Clone this wiki locally