· community · discussions

Decisions, not threads.

Every major change starts as a Discussion, becomes an ADR in TODO.md , and ends as a compiler test. No drive-by breaking changes.

How Vesk decides

  1. Discussion — problem + constraint (e.g., no regex in compiler).
  2. Prototype — behind flag, with test.
  3. ADR — recorded in TODO.md phase section.
  4. Ship — docs + migration guide, HMR verified.

Compare: Next RFCs are Vercel-led; Vesk RFCs are community + compiler-owner review.

What gets discussed

  • Compiler: new IR nodes, static analysis, Kotlin parity.
  • Runtime: `track` semantics, hydration strategies.
  • Product: showcase criteria, example curation.

Every page here has a source-of-truth file — no hand-wavy RFC.

Recent RFCs — selling the discipline

RFC-014 · shipping
Manual routing as first-class
createRouter(defineRoute) alongside file routing — same matching, offline, hash. Why: migrations and admin subtrees.
RFC-013 · shipped
Full-text derived search
Docs search as derived(() => ...blocks). Why: docs ARE the product.
RFC-009 · shipped
Kotlin codegen for IR
One IR, two emitters. Why: share validation and design tokens, not just copy paste.