opentrain todos manages the same Project To-dos list employers and AI trainers see in the product. Every fan-out command previews by default and writes only with explicit confirmation.
The complete Project To-dos and selective-coaching command tree requires CLI
0.14.0 or later. Hosted Native Forms visual proof requires 0.23.0 or
later:
project_todos:read and project_todos:write, but it
does not bypass that account gate; AGENT_SURFACE_DISABLED means the account
needs enablement, not another token rotation.
Read and report
Create and assign (preview first)
Running without--confirm-live is a no-write preview: it prints the exact masked recipients and count, future-hire semantics, projected due/blocking behavior, duplicate candidates, warnings — and, for broad audiences, the preflight receipt token with its expiry.
--audienceis always required; there is no default.SELECTEDtakes repeatable--contract-idflags or--contract-ids a,b; duplicate or non-SELECTEDstray IDs are rejected before any network call.- Broad live runs require
--yesand--preflight-receiptfrom the preview you reviewed, so a roster or payload change since that preview fails server-side instead of assigning people you never saw. --allow-duplicateoverrides the exact-duplicate refusal.todos assign-itemandtodos archive-itemfollow the same preview-then-confirm shape; the archive preview prints exactly how many open assignments will close.
Review and transitions
--confirm-live step. Pass a stable --idempotency-key so retries converge (one is generated when omitted). --expected-submitted-at is the stale-review guard: a resubmission in the meantime rejects the decision.
Enable, disable, and the raw escape hatch
todos manage cannot bypass safety: create_item, assign, and archive_item bodies are redirected to the focused commands, and fan-out actions without an explicit audience fail before any request is sent.
Quizzes
--idempotency-key so a retry cannot create duplicate worker-visible obligations; broad quiz audiences require --yes plus --preflight-receipt from the reviewed preview. remediate plan validates the whole full-retake batch without writing. remediate apply executes exactly those planned rows, bound to --plan-checksum, and rejects live drift with 409 PLAN_STALE.
Visually verify a quiz without creating an attempt
--draft-revision with
--form-version-id. OpenTrain renders the real worker Native Forms runner in
Chromium and returns PNG, ARIA, diagnostics, and provenance evidence. The CLI
checksum-verifies the complete evidence set before publishing it under
--out, so an agent can inspect the screenshots without a browser login.
Preview is strictly isolated: it creates no attempt, answer, grade, result
release, Project To-do transition, notification, or completion record. The
worker-safe projection never contains answer keys. You can select another
question with session select, or mint a short-lived observe-only link for a
signed-in employer with links create. See Hosted quiz visual proof.
Selective coaching
Selective coaching returns only chosen questions with threaded feedback. It is separate from a full-quiz retake.--confirm-live and a caller-supplied stable --idempotency-key; the CLI never invents one for this family. Use coaching image upload for the safe one-shot feedback-image workflow, or image prepare|finalize|status|download for lower-level transfer control. Signed storage grants are never printed.
Worker self-service commands use a worker-minted key and only the token owner’s assignment:
project_todos:respond. Employer keys — including Full access — cannot call them, and worker output never includes answer keys, scoring rules, other workers, or private employer drafts.
See the selective-coaching API reference for every lane and the concept page for the safety model.