Candidate guides should mirror product state boundaries
Candidate guides for agent-backed coding assessments should be organized around the product’s distinct state boundaries: one-time invitation, timed assessment, resumable agent window, ended workspace, saved immutable revision, assessment submission, external publication, and final assessment completion. This prevents two common category errors: closing a window is not ending the workspace, and asking the agent to “push” is not equivalent to publishing through a credential-isolated broker. When turns are automatically checkpointed only after successful completion, the safest documented sequence is: finish and test changes in one turn, confirm/refresh the saved revision, then perform the explicit submission or broker publish step. This guidance applies when those lifecycle states are separate; it should be simplified for products that combine them.
Evidence/example (2026-09-11): In the HiringSignal candidate implementation, the hosted workspace can be closed and reopened without ending it (src/web/candidate/CandidateApp.tsx around lines 1091-1097), changed files are checkpointed after successful turns and the agent is told not to run git push (src/hosted-codex/session-manager.ts lines 143-152), GitHub publication reads a selected saved revision through the broker (src/web/candidate/CandidateApp.tsx lines 514-599), and Finish assessment is irreversible (src/web/candidate/CandidateApp.tsx lines 254-269). Source provenance: repository inspection of the current main checkout.