The DDL site has grown to 160+ routes across 8+ wings. Page proposals have been informal — described in conversation, built from context. This works but creates drift. Dex Jr. cannot reliably generate a page proposal without a governed schema to reference.
This standard defines the form that every new page proposal follows. Lightweight. Functional. Corpus-ready. The proposal form is a capture tool, not a project plan.
Any page discussed in a PM thread should generate a DDL-PROP before building begins. The form is not optional for pages that go live.
| Field | Type | Req | Description |
|---|---|---|---|
| route | path | REQ | Proposed URL path. e.g. /ddl/charter |
| wing | enum | REQ | Which wing this page belongs to. Prevents orphaned pages. |
| template | enum | REQ | CONSOLE · CHRONICLE · ATLAS · LEDGER · CODEX · DOSSIER |
| accent | token | REQ | CottageHumble token name: crimson · amber · gold · green · teal · violet · steel. Token name only — hex resolves downstream. |
| status | enum | REQ | proposed · approved · building · live · legacy |
| priority | enum | REQ | P1 immediate · P2 this session · P3 backlog |
| trigger | text | REQ | The event that surfaced the need for this page. |
| what_it_is | text | REQ | One sentence. Identity. No jargon. What this page is. |
| page_goal | text | REQ | One sentence. Job. What the page should accomplish for the visitor. |
| hero_treatment | enum | REQ | orbital (animated, full hero) · stamp (mark + text) · quiet (text-first, no animation) · none |
| sections | list | REQ | Ordered list of page sections, one line each. This is the build spec. |
| tone | enum | REQ | editorial · technical · archival · operational · narrative |
| why_now | text | REQ | Strategic justification. Why this page belongs in the current build arc. |
| dependencies | list | REQ | Other pages, routes, or systems this page requires to exist. |
| open_questions | list | OPT | Anything unresolved before building begins. |
| dex_jr_note | text | OPT | One short instruction for Dex Jr. execution. e.g. "No orbital. Spare and permanent." |
Note on what_it_is vs page_goal: these are distinct. what_it_is = identity ("The founding document of DDL"). page_goal = job ("Give new visitors the governing floor beneath the DDL system"). A page can be accurate but purposeless without the second field.
Sequential. Zero-padded. Immutable once assigned. Dex Jr. tracks the index — the operator never has to remember the current number.
Proposals are never renumbered, even if rejected. DDL-PROP-003 REJECTED stays in the registry as rejected, and the next proposal is DDL-PROP-004. The numbering is a log, not a catalog. This preserves the full decision history.
The gate for Dex Jr. generation: the registry schema and CottageHumble token set must be accessible in the generation context. If Dex Jr. doesn't know the current wing list or the active accent tokens, the draft will contain F3 errors. The proposal form is only as good as the reference data behind it.
Minimum change set applied: accent → token name (4 seats), page_goal added (Grey + Caldwell). All other REVISE suggestions queued for v1.1. 5 LOCK · 4 REVISE · 0 REJECT.