Discover the live contract
Do not rely on remembered rollout state, authorization, enums, or limits. Read both capability documents before you author or assign training:agentSurfaces entry for LMS retraining. Its family status and per-operation authorized values describe whether this token can perform the workflow. Then use the LMS response’s retraining section for operations, modes, close outcomes, exact-one recipient and due-date rules, receipt lifetime, and required human checkpoints. That response also reports the current course schema, lesson content, assessment question types, asset limits, Preview behavior, and mastery rules.
Treat disabled, rollout_gated, or unauthorized as fail-closed results. Do not bypass them with direct database writes.
Before you start
You need:- a job with Training enabled;
- one active contract ID, or an exact worker name that resolves to one active contract;
- a published course module registered as a skill-gap module;
lms:readandlms:writepermissions;- the observed mistake, the expected behavior, and a worker-safe summary;
- either a due offset or an absolute local date, time, and IANA time zone.
The safe workflow
1
Resolve one worker
Prefer the stable contract ID. Exact-name resolution fails if no active worker matches or if more than one worker matches.
2
Create or reuse the module
Author the lesson and assessment with the normal LMS tools. Publish the course version, then register the module in the skill-gap registry. Reusing a module never adds worker evidence to the module itself.
3
Create a draft case
Capture the quality gap, expected behavior, approved Instructions references, evidence, delivery mode, due rule, and blocking policy. The case remains employer-only and creates no worker obligation.
4
Preview the real learner experience
Use LMS Preview against the exact course revision or published version. Review desktop and mobile output from the real learner renderer. Preview is isolated: it creates no assignment, Project To-do, attempt, notification, or reporting row.
5
Generate and review the assignment plan
Planning is strictly no-write. An authorized employer must review and explicitly approve the exact masked recipient, immutable course version and content hash, module, frozen due instant, eligibility, exact effect counts, request hash, and signed short-lived receipt.
6
Confirm once
After that human approval, submit the reviewed receipt, expected case revision, explicit confirmation, and a stable idempotency key.
confirmAssign: true records the approved mutation; it does not authorize an agent to approve its own plan. OpenTrain atomically creates exactly one canonical Project To-do assignment and moves the case from DRAFT to ASSIGNED.7
Monitor and review
Read the case for its live assignment, mastery budget, bounded run history, result-release state, and authorized employer-review projection. Use the existing grading, release, decision, and
RETURN operations when needed.Mastery and employer-review modes
The case does not grant attempts directly. When an exhausted mastery assignment needs one more run, use the canonical Project To-do
RETURN operation with feedback and a stable idempotency key.
Due-date behavior
Choose exactly one due channel:dueOffsetMinutes; orabsoluteDuewithlocalDate,localTime, andtimeZone.