Principles

Principle Plain statement

Surface what the backend already knows

First-class UI for real user jobs; power-user syntax is not a substitute

Parity of affordances

If Mentions is a dropdown, Commenter must be too

GUI / source-of-truth sync

Settings GUI must reflect reality; jump-to-JSON when needed

Honest severity and exit codes

Warnings look like warnings; help is not failure

No silent failure / lying toasts

Explain why, offer a fix

Theme as contract

Previews and diagrams inherit host theme tokens

Preview fidelity

Interactive constructs stay interactive; sync tracks source

Progressive disclosure

Budget the first screen; deepen on demand

Processing maps for ordered systems

If the runtime is a sequence, compose it as one typed pipeline — nest parallelism inside steps

Share IR, not pixels

Prototypes split core, headless controller, renderers, and thin host wrappers — do not auto-export full UI

Unified selection modes

File and folder in one dialog when the job is "open something"

Non-frustrating responsiveness

Hangs are architectural bugs, not user patience tests

Attention ethics

Do not spend the user’s brain for engagement metrics

These principles come from filed issues, discussions, and shipping products — not from abstract style guides.