Process View
Current flows in application dev at 01c423c, checked on 11 October 2026.
Browser simulation is separate from authoritative server grading.
Editing and Local Execution
Compiler failures surface diagnostics instead of committing a partial invalid machine. The diagram-edit epoch protects newer visual edits from stale incoming shared-text compilation. Tests have their own DSL text and result store; switching inspector tabs does not create multiple independent machines.
For deterministic execution, the simulator reads current tape symbols, matches a transition, writes symbols, moves heads, and updates state/step metrics. Accept/reject/halt and cutoff are distinct outcomes. Nondeterministic variants track branching configurations and expose the computation tree. Local test runs compare output/result with expectations under each cutoff.
Desktop diagram interactions include double-click creation, state dragging, port-to-port transitions, context actions, panning, and centred zoom. Touch long-press supplies context actions. Moving a state is a drag operation, not a separate context-menu mode.
Login, Saving, and Invitations
The dashboard, examples, problem catalog, and daily play do not force login. GitHub/Google sign-in creates a Better Auth session; saving, invitations, publishing, and administration require appropriate identity/access.
Guest saves use the editor's login/restore flow. A problem solution is saved
as its own document, optionally carrying problem_slug, rather than rewriting
the catalog definition. Explicit JSON saves and live room persistence are
different durability mechanisms.
Persistent Collaboration
Development connects directly to port 1234. Production normally connects
through /yjs-ws; Nitro forwards traffic but does not own Yjs rooms.
codemirror, tests, and statePositions are shared document structures;
awareness carries names, selections and diagramCursor.
After 1.5 seconds without sync, the client can seed offline content. Its
isSynced readiness flag therefore does not prove a live server connection.
The editor's contributor precheck is a client gate, not server WebSocket
authorization: the dedicated room server has no session/ownership check.
Catalog Grading and Daily Budgets
Black-box daily play instead probes non-reserved inputs and submits predicted tapes/results for supplied inputs. Valid probes/answers spend independent budgets; malformed requests do not. Final failed lockout may reveal the reference according to policy. The server timezone chooses today's puzzle and seconds until rollover; the open page reloads its daily state when due. Deleting the player cookie resets browser identity, so this is not an account-enforced quota.
Admin CHECK compiles/finalizes a reference, generates observations or blank starter transitions, verifies reachability, and self-grades without writing a schedule. PUBLISH persists a validated date. Calendar removal and fill-next-seven-days are separate UI operations.
Groq Assistant
Model choice, key management and clear-conversation controls belong to the AI inspector. Applying code is an explicit user action, not an automatic trusted execution step. Source/messages cross the external Groq boundary; returned code still goes through the normal editor compiler.