@@ -12,7 +12,36 @@ composes them into one coherent builder, optimized for operation experience.
1212
1313---
1414
15- ## 1. The shell (every pillar shares it)
15+ ## 1. Core constraint — AI-first, human-confirmable authoring
16+
17+ Every layout and interaction decision in the builder is judged against three
18+ requirements. They are the north star: a design that fails any of them is wrong,
19+ however convenient it looks. Each pillar's design (below) is checked against them.
20+
21+ 1 . ** AI generates it in one shot.** The builder must let the agent produce a whole,
22+ correct artifact — an object with its fields, validations, and layout — in a
23+ single pass. This works because the agent edits the * same flat, explicit metadata*
24+ a human does (same-renderer, §3.6) and authors within * constrained, declarative*
25+ surfaces (typed fields, enum options, the condition builder — not free-form code).
26+ The * shape of the metadata* , not a click-through wizard, is what the AI targets.
27+
28+ 2 . ** The design prevents AI mistakes.** Constrain the space so an invalid result is
29+ hard to express: declarative over code (a condition builder, not hand-written CEL,
30+ §3 Validation), typed and enumerated inputs, and the pre-publish validation gates
31+ (` os validate ` / ` os build ` ). Nothing the AI writes goes live implicitly — it lands
32+ as a ** draft** (ADR-0033), never auto-published.
33+
34+ 3 . ** A human confirms it in one pass.** A reviewer approves or rejects with one look:
35+ AI changes arrive as a ** draft diff** (ADR-0033), and the artifact renders on one
36+ canvas (the grid + inspector) with no modals hiding state (§3.7) and a non-blocking
37+ inspector, so the whole thing stays visible while it is reviewed.
38+
39+ These three are * why* the shell is what it is — same-renderer, declarative surfaces,
40+ no-modal, draft/publish all fall out of them.
41+
42+ ---
43+
44+ ## 2. The shell (every pillar shares it)
1645
1746```
1847┌───────────────────────────────────────────────────────────────────┐
@@ -41,7 +70,7 @@ composes them into one coherent builder, optimized for operation experience.
4170 visible); slides in on select, closable. This is the universal "inspector"
4271 (Figma / Retool pattern).
4372
44- ## 2 . Design principles (for best operation experience)
73+ ## 3 . Design principles (for best operation experience)
4574
46751 . ** Consistent three zones across all four pillars** — rail / main / inspector.
4776 Muscle memory: config is always on the right, entities always on the left.
@@ -60,15 +89,15 @@ composes them into one coherent builder, optimized for operation experience.
6089 metadata is stored once; there are two navigational entries, no duplication.
61906 . ** Same renderer.** The builder manipulates the same live artifact the end user
6291 sees (edit a field on the real grid; set a permission on the real matrix). This
63- is also what keeps AI authoring safe — the agent edits the same flat, explicit
64- metadata a human does.
92+ is also what keeps AI authoring safe (§1) — the agent edits the same flat,
93+ explicit metadata a human does.
65947 . ** No modals.** Config surfaces in the inspector or as a focused sub-view with a
6695 breadcrumb; the work surface never fully disappears. Draft/publish is always
6796 visible.
6897
6998---
7099
71- ## 3 . Data pillar
100+ ## 4 . Data pillar
72101
73102Data is the ** object-model workbench** : define objects, their fields, relationships,
74103and validations, and work with records. Data owns the * data layer and the field
@@ -98,7 +127,8 @@ Per selected object, a tab bar of its facets — grouped:
98127- ** ⋯ More** : ` Views ` · ` Forms ` (Interface) · ` Permissions ` (Access) · ` Settings ` · ` Indexes `
99128
100129` Records ` is the default. Cross-pillar tabs carry a pillar tag and open ** in-context,
101- scoped to this object** (their pillar is the cross-object lens — two doors, §2.5).
130+ scoped to this object** (their pillar is the cross-object lens — the two-doors
131+ principle, §3.5).
102132
103133Note: ` Actions ` / ` Hooks ` / ` Validations ` are the three authoring surfaces for logic
104134on an object, routed by intent per [ ADR-0077] ( ../adr/0077-authoring-surface-boundary-hook-flow-validation.md ) :
@@ -121,6 +151,12 @@ and both configure a selected field through the *same* right-hand **field editor
121151The choice between them is a working preference: reach for ` Records ` when you want to
122152see data while shaping fields, ` Fields ` when you want to arrange and group them.
123153
154+ ** Why keep the names ` Records ` / ` Fields ` ** (rather than ` Grid ` / ` Form ` ): each name
155+ states the tab's * distinguishing* trait — Records is the one that shows ** data** ,
156+ Fields is the ** pure field/layout** designer. They are also the conventional terms
157+ (Salesforce, Airtable). Style-based names would collide with Interface's existing
158+ ` Views ` (saved grid/kanban) and ` Forms ` (end-user form surfaces).
159+
124160### Main zone (content of the active tab)
125161| Tab | Main-zone content |
126162| ---| ---|
@@ -152,6 +188,8 @@ union of six declarative rule types (`packages/spec/src/data/validation.zod.ts`)
152188 list; each rule edits in the inspector via a ** condition builder** (field /
153189 operator / value, and/or) with a raw-expression escape hatch — never hand-written
154190 CEL as the primary path. Validation stays ** declarative** (not a hook); Data-owned.
191+ The condition builder is also what makes validation AI-generatable and
192+ human-confirmable in one pass (§1).
155193
156194### v1 scope
157195- ** Ship** : owned objects · ` Records ` grid (data + add/configure columns) · ` Fields `
@@ -164,7 +202,7 @@ union of six declarative rule types (`packages/spec/src/data/validation.zod.ts`)
164202
165203---
166204
167- ## 4 . Other pillars (to design — same shell)
205+ ## 5 . Other pillars (to design — same shell)
168206
169207- ** Automation** — left: automations grouped by trigger (record-change / scheduled /
170208 API / manual action); main: the flow ** canvas** ; inspector: the selected node's
0 commit comments