Skip to content

Add an optional limited editor mode - #252

Merged
jserv merged 2 commits into
sysprog21:mainfrom
moon-jam:feat/editor-options
Oct 10, 2026
Merged

jserv merged 2 commits into
sysprog21:mainfrom
moon-jam:feat/editor-options

Conversation

@moon-jam

@moon-jam moon-jam commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

Add five independent editor options below Difficulty: syntax highlighting, code execution, automatic indentation, bracket auto-close, and monospace font. All are enabled by default. Choices survive lobby reloads and are captured when an interview starts; existing links retain the default behavior.

image

The editor applies these settings while preserving native undo/redo, manual indentation, and line numbers. Parser assets load only when automatic indentation or bracket highlighting needs them.

When code execution is disabled, Run and its keyboard shortcuts are disabled, and all five languages remain available. The interviewer asks candidates to trace their written code through ordinary and boundary cases instead of requesting a run. Execution events cannot earn Test credit, the hiring bar remains unchanged, and saved and exported reports disclose the restriction. The live and report prompt changes are recorded under contract bundle 31.

Closes #73
Closes #85


Summary by cubic

Adds an optional limited editor mode with five independent lobby controls — syntax highlighting, code execution, automatic indentation, bracket auto-close, and monospace font — all enabled by default. Choices survive lobby reloads, are captured when an interview starts, and existing links keep every feature on.

Editor options

  • The editor applies each setting while preserving native undo/redo, manual indentation, and line numbers.
  • Parser assets load only when automatic indentation or syntax highlighting needs them.

Disabled code execution

  • Run and its keyboard shortcuts are disabled while all five languages stay selectable, and the interviewer asks candidates to hand-trace their code instead; whiteboard sessions ignore the choice because they have no code runner.
  • Execution events cannot earn Test credit, and saved and exported reports disclose the restriction.
  • Live and report prompt changes are recorded under contract bundle 31.

Written for commit 5748965. Summary will update on new commits.

View guided diff

cubic-dev-ai[bot]

This comment was marked as resolved.

@moon-jam
moon-jam force-pushed the feat/editor-options branch from f781aaf to 9c33f63 Compare October 7, 2026 05:08
Comment thread src/livekit.rs Outdated
@moon-jam
moon-jam force-pushed the feat/editor-options branch from 9c33f63 to 663752a Compare October 7, 2026 05:24
@jserv
jserv requested a review from ColtenOuO October 7, 2026 05:25
cubic-dev-ai[bot]

This comment was marked as resolved.

@moon-jam
moon-jam force-pushed the feat/editor-options branch from 663752a to 48b11b4 Compare October 7, 2026 11:53
Comment thread src/agent/prompts.rs Outdated
@moon-jam
moon-jam force-pushed the feat/editor-options branch from 48b11b4 to 454ef3f Compare October 8, 2026 01:53
jserv

This comment was marked as resolved.

@moon-jam
moon-jam force-pushed the feat/editor-options branch from 454ef3f to 1344280 Compare October 8, 2026 02:00
Comment thread src/livekit/report.rs
Comment thread web/interview.js Outdated
Comment thread web/styles.css Outdated
@moon-jam
moon-jam force-pushed the feat/editor-options branch 2 times, most recently from 85715ee to 2820220 Compare October 9, 2026 01:27

@jserv jserv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rebase the current branch onto the upstream default branch and rework the series into functionally minimal commits, folding similar ones and enforcing the project's commit message rules.

@moon-jam
moon-jam force-pushed the feat/editor-options branch from 2820220 to d679874 Compare October 10, 2026 14:47
@moon-jam

Copy link
Copy Markdown
Collaborator Author

Thanks for the review. I’ve rebased onto main and reorganized the series into two functional commits: configurable editor assistance, and interviews without code execution. Their messages follow the rules in CONTRIBUTING.md.

@jserv
jserv requested a review from ColtenOuO October 10, 2026 14:55
Comment thread web/compiler-explorer.js Outdated

@ColtenOuO ColtenOuO left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One nit in whiteboard mode.

Comment thread web/index.html
Candidates can practice with less editor assistance by independently
disabling syntax highlighting, automatic indentation, bracket auto-close
and monospace font. Save lobby choices and capture them when an
interview starts, while old links retain every feature. Preserve native
undo, manual indentation and line numbers, and load parser assets only
when highlighting or automatic indentation needs them.
Disabling execution changes how the interviewer verifies written code.
Add the execution preference, suppress runs and their controls, and
accept hand traces while preserving the hiring bar. Keep the choice
across language switches and reconnects, ignore it at a whiteboard, and
disclose it in saved and exported reports. Version the live and report
prompt changes under contract bundle 31.
@moon-jam
moon-jam force-pushed the feat/editor-options branch from d679874 to 5748965 Compare October 10, 2026 15:55

@ColtenOuO ColtenOuO left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this, I think we can merge this once CI passes :)

@jserv
jserv merged commit 8b7dc9c into sysprog21:main Oct 10, 2026
7 checks passed
@jserv

jserv commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

Thank @moon-jam for contributing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add optional automatic bracket pairing to the code editor Add an optional limited editor mode

3 participants