Skip to main content
Version: Sprint 4

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.