Repository navigation
Description
Summary
Follow-on design ticket from #5679 — its decomposition sketch names this as a separate design, and the parent's acceptance requires these tickets to be filed and linked. Filed in the 2026-11-04 gap pass (WS-F) so the design work exists and can be prioritised on its own merits; implementation timing is a separate decision, possibly months out.
What this design must settle
The element set for website + GUI concepts and its authoring syntax — the vocabulary every rendering target consumes.
Context from the parent
The parent design fixes the semantic markup + style-assertion model by which programs-as-websites render across web, native, and custom targets. The parent issue carries the surrounding decisions this ticket must not re-decide; where this ticket's answer would change a parent decision, record that explicitly rather than silently forking it.
Decision record expected
Close this design with a recorded decision (on this issue or in a doc/ record linked from it): the chosen shape, the alternatives rejected and why, and the invariants implementation must hold. If the design splits further, file the splits and link them here rather than growing this issue.
Relations
Parent: #5679. Programme: epic #2056. Filed by WS-F (2026-11-04 ID design gap & expansion pass).
Activity
developing-today commentedon Nov 5, 2026
CODE-1532
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
developing-today commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
8 remaining items
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
opencode; handed off to the opencode claimant, which launches the bound session.dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
Agent note - handed off
ses_e5e5345cfc5ffeFjtqb1khSFpHdezren39 commentedon Nov 5, 2026
Triage outcome — task 10252 (2026-11-05)
Verdict: valid, open follow-on design ticket; not handled or superseded. This is not a runtime bug or code-fix task.
Fresh verification: At current main b4681bf, issue #5849 is OPEN with no linked PR or decision record. Parent #5679 is OPEN and lists #5849–#5855 as its decomposition; #2146 is CLOSED with its earlier program-as-website serving model. No hard-stop label is present.
Scope: settle the v1 semantic element set and authoring syntax for website and GUI concepts, including which application concepts belong in v1. Preserve the parent’s invariants (raw HTML/CSS remains an escape hatch, semantic meaning/accessibility, and state/action binding). Close with the chosen shape, rejected alternatives, and implementation invariants as the issue requests.
Boundary: do not absorb style tokens (#5850), web/native/custom target mappings (#5851–#5853), per-target customization (#5854), or rendering pipeline/conformance (#5855). Do not silently fork #5679; record any material conflict there.
Important compatibility seam: #5679 requires raw HTML/CSS authoring support, while the closed #2146 serving design (doc/2026-11-01_design_id2146.md, especially its safe-rendering invariant) says guest runtime output must remain inert text/screen data, never interpreted as HTML/CSS/JS. #5849 must distinguish authored source from guest-emitted output, or explicitly propose an amendment to #2146; this vocabulary is not permission to execute guest HTML.
Ordering / blockers: #5849 and #5850 are the first-tier vocabulary designs and can proceed in parallel. #5851–#5853 follow the settled vocabularies; #5854 follows the target mappings; #5855 follows settled rendering behavior. No code or human blocker prevents this design work; treat the still-open #5679 model as a constraint and record assumptions/conflicts explicitly. Implementation timing remains a separate prioritization decision. Keep this issue open for its decision record.