feat(udd): design-intake beat — four-axis design interview before domain#97
Merged
Conversation
…-version 52
Consolidate the open OBSERVE deltas from the engine-modularization work
(shipped in 1.11.0/1.12.0) into the versioned foundation, then compact the
raw transcription into lean prose.
- add.py fold: 16 open ADD competency lessons → folded, foundation-version
51 → 52; stamps written to PROJECT.md §Key Decisions, CONVENTIONS.md
§Method learnings, and the 15 source TASK.md OBSERVE blocks (full verbatim
text retained there for traceability).
- compaction door (compact-foundation.md): merged the 16 raw fv-52 bullets
into 5 durable rules in CONVENTIONS.md, newest-first, with merged
provenance — lossless on technique + evidence, one-screen foundation:
1. closed cluster moves by plain re-export (AST scan + monkeypatch/
rebind rules + dual-path call-qualification exception)
2. group by concern, not module count
3. constants & guards routing (shared→constants.py, replicated stdlib guard)
4. modularization terminates at the orchestrator spine (load_state web)
5. derive invariants; re-baseline the tripwire honestly
0 open competency lessons remain. 68 SPEC deltas stay live as forward backlog
(resolved separately via new-task --from-delta / drop-delta). No package-code
or test-suite impact — .add/ dogfood runtime files only.
author: Tin Dang
… domain Add a fifth UDD beat, `design-intake` (beat 0), to the design-definition loop. Before reading the domain, the agent interviews the human on four design axes — FIDELITY (lo-fi wireframe / hi-fi mockup / production), CONCEPT (idea / mood / direction), LAYOUT (structure / grid / hierarchy), and VISUAL DESIGN (color / type / spacing / imagery) — so the look is directed, not guessed. Answers are recorded at both levels: project defaults in DESIGN.md's new `## Design intake` section, per-screen overrides in the per-feature design note. VISUAL DESIGN surfaces identity for the human to choose and never auto-picks a brand value; FIDELITY is recorded intent that informs the later beats, not an engine gate. Convention-only: no add.py / state.json / ENGINE_MD5 change (the engine never renders). Edits propagate byte-identical across the skill mirror trees and the four book trees; the orchestration lean fence is rebaselined (50098 -> 51732, ratio 0.75 kept), not bypassed. Surfaces: - skill: design.md gains the design-intake beat + a hard rule; SKILL.md pointer updated (canonical + _bundled + dogfood, byte-identical) - tooling: DESIGN.md.tmpl gains a `## Design intake` section (x3 trees) - book: 14-foundation.md narrates five beats; appendix-c-glossary.md defines the four axis terms (x4 book trees synced) - tests: new test_design_intake_beat.py (15 assertions); test_skill_lean.py orchestration baseline rebaselined ADD flow: milestone udd-design-intake (one task), contract FROZEN @ v1, verify PASS, foundation folded to version 53, milestone closed + archived. Suite 1995/0, check 421/0. Closes backlog todo #13. author: Tin Dang
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a fifth UDD beat —
design-intake(beat 0) — to the design-definition loop. Before reading the domain, the agent interviews the human on four design axes so the look is directed, not guessed:Answers are recorded at both levels: project defaults in DESIGN.md's new
## Design intakesection, per-screen overrides in the per-feature design note.Convention-only
No
add.py/state.json/ENGINE_MD5/add_enginechange — the engine never renders. Edits propagate byte-identical across the skill mirror trees and the four book trees. The orchestration lean fence is rebaselined (50098 → 51732, ratio 0.75 kept), not bypassed.Surfaces touched
design.mdgains the beat + a hard rule;SKILL.mdpointer updated (×3 trees)DESIGN.md.tmplgains## Design intake(×3 trees)14-foundation.mdnarrates five beats;appendix-c-glossary.mddefines the four axis terms (×4 book trees)test_design_intake_beat.py(15 assertions);test_skill_lean.pyrebaselineADD provenance
Milestone
udd-design-intake(one task), contract FROZEN @ v1 (recording model: both — human-approved at freeze), verify PASS, foundation folded to version 53, milestone closed + archived. Closes backlog todo #13.Evidence
add.py check421/0 (22 pre-existing warnings)