# Development sequence and retained findings

The design in `ARCHITECTURE.md` was written before extensive scene geometry. The work then followed
the requested sequence: executable kernel, small recursive prototype, furnished buildings and
independent extension, settlements, and finite assessment. This is a development account, not a
claim that a design document or sampled test establishes correctness for every future component.

1. The initial kernel passed seven foundation tests for composition, binding, replacement, rollback,
   automatic ownership, transforms and persistence. The first components were terrain, grass, trees,
   walls and windows. `examples.prototype` still runs this composition, including a thickness-adapted
   window and a tree replacing an entire tall grass object through its grant.
2. Room and building components were added through the same protocol. Actual furnishing, lanterns,
   paired doors/beds, stair flights, sealed room boundaries, gables and site adapters became child
   components. Building alternatives validate the complete candidate before selection.
3. `extension_demo` added a visibly different pendant light and a composite reading suite, without
   kernel dispatch changes. The later courtyard and gallery programs use the existing room graph API.
4. Settlements, the independent terrain/building corpus and bounded stress batch exposed interactions
   beyond the original prototype. Foundational tests were rerun after kernel changes. The final suite
   is recorded in [pytest-final.txt](pytest-final.txt): **134 passed in 97.27 seconds**.

The following generic corrections are in the delivered implementation:

| Finding | Correction and evidence |
|---|---|
| A window installed by an external facade program was missing from host-descendant highlighting | Membership adjacency now follows both real attachment and containment; the cross-scope provenance test covers exact membership |
| A later parameter update could obscure the semantic owner | Property effects preserve the owner and require the same block type; tests distinguish structural membership from modification history |
| Compound terrain/building replay risked accumulating earlier cuts or stale nodes | Branch removal restores displaced surviving host content, removes reverse references, and explicitly replays affected branches atomically |
| Forwarded child interfaces were checked before construction reached that child | In-progress enclosing scopes now defer interface completion checks; completed scopes still check every delegated interface |
| Concave courtyard corners gave facade planting overlapping installation margins | The shared facade garden rule keeps climbers clear of corner margins; the later courtyard runs without client geometry repair |
| A wide path extended behind an endpoint into an existing entrance | Widening is perpendicular to each path segment, within its own negotiated authority; endpoint regression coverage verifies this |
| Surface height alone could accept a hollow substrate | The survey requires two contiguous actual solid bed cells; the negative test preserves top height but removes the supporting layer |
| A wall checked its vertical frame but could miss the floor immediately below | Corner support rules now include the floor contact cells; the small prototype supplies a real foundation |
| A maximum-size room could expose different stair/furniture spacing | A bay-13 stacked-room test verifies the actual route, headroom and furnishings |
| Sparse shutters, empty facade panels and dense foliage reduced visual quality | Full shutter pairs, sills, bounded facade planters and climbers, a well terrace, and layered foliage were added through components |
| The well cover needed a physical post connection | Posts now meet the cover; its support rule includes the full connection |
| A fixed cutaway plane missed stairs located in a remote wing | The optional preview client now chooses its section from actual stair-instance cells; the courtyard section was rerendered and inspected |

The forwarded-interface regression was caught during a late validation pass. Its failing pytest
output and ten rejected settlement records are preserved in [phase-regression/](phase-regression/).
Those are historical failures, not removed from the evidence. The final corpus fixes the phase
semantics and validates all ten settlement inputs. Earlier complete assessments remain in
`baseline-corpus/` and `corpus/`; superseded artifact references are explicitly labeled historical.

Early visual observations are retained in `previews/development-house.png` and
`previews/settlement-first.png`. Current paired artifacts, final exterior views, cutaways and visual
observations are indexed in [../previews/README.md](../previews/README.md). The reference snapshots
were not edited: [reference-integrity.json](reference-integrity.json) records **32/32** matching
original hashes. No supplied reference program was invoked or imported.

Known limits are documented in `GENERATOR.md`. In particular, the visible modular style, bounded
gable vocabulary, integer movement model and explicit regeneration policy remain intentional limits,
not claims of a universal Minecraft simulator or an exhaustive architecture solver.
