Skip to content

Design: application builder UI — remaining pillars (Automation / Interface / Access / Settings) #2506

Description

@os-zhuang

Follow-up to ADR-0084 and the living design doc docs/design/builder-ui.md (both merged in #2503).

The shell and the Data pillar are designed. This issue tracks designing the remaining pillars into the same living doc, each with an annotated HTML mockup.

Remaining pillars

  • Automation — left: automations grouped by trigger (record-change / scheduled / API / manual action); main: the flow canvas; inspector: selected node config; a Runs view for execution history.
  • Interface — left: surfaces (Apps · Pages · Views · Dashboards · Reports); main: page builder (structured canvas) or source + preview (html/react pages); inspector: component props.
  • Access — left: roles; main: the permission matrix (objects × CRUD + record scope); inspector: role / field-level detail.
  • Settings (⚙) — General (app basic info) + Advanced (Code: hooks · functions; Connections: datasources), grouped by audience.

Non-negotiable constraints (doc §1 — every pillar is checked against these)

  1. AI generates it in one shot — author within constrained, declarative surfaces; the metadata shape is the target, not a click-through wizard.
  2. The design prevents AI mistakes — declarative over code, typed/enumerated inputs, pre-publish validation gates, draft-only (never auto-publish).
  3. A human confirms it in one pass — draft diff, single canvas, non-blocking inspector, no modals.
  4. Reuse, never rebuild — every per-item config panel is Studio's existing protocol-generated form, dropped into the inspector unchanged. The builder builds only the shell/composition.

Deliverable per pillar

  • A section in docs/design/builder-ui.md (same structure as the Data pillar: left rail · main work surface · right inspector · v1 scope).
  • An HTML mockup under docs/design/builder-ui/ composed from shell.css, every region tagged data-build="shell" or data-reuse="<component>" (dashed outline for reused).
  • Explicit build boundary: name the existing renderer/panel reused for each slot (canvas, matrix, page builder, protocol forms).

Also deferred (Data pillar v1 out-of-scope — fold in later)

Extended objects (objectExtensions) · External objects (datasources) · ERD/model view · formal Lifecycle · Indexes · seed-data UI · saved views / kanban / calendar (these are Interface).

Related (already have issues)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions