# Extension-phase assessment

This is a self-authored implementation and finite extension exercise, not an independent audit.
It supplements the unchanged first-phase evidence in `reports/ASSESSMENT.md` and
`reports/final-corpus/`. All original tests remain present and unchanged.

## Executed checks

* [Full regression](full-regression.txt): **179 passed in 128.25 seconds**. This includes all 134
  original tests and 45 new protocol, geometry, failure and interior cases. No skipped/removed old tests.
* [Artifact audit](artifact-audit.json): **13/13 selected pairs** regenerated and reloaded identically.
  It compares complete nodes, structural relations, dependencies, operations, port uses, displacement
  records, inventories and reverse indexes, with **1,745 current-cell queries**, one per nonempty
  component. There are **51 inventory-bearing blocks** across these samples.
* [New hash-seed replay](replay.json): perimeter program, structure seed 3/environment seed 7,
  `PYTHONHASHSEED=5` and `918273`, identical semantic geometry, principal signature, all **395 nodes**,
  and the same real window/shell/pavilion query. Semantic digest:
  `d1fcbf2f4a2d54192a35864cdb4d03d822d9e4e7cb1dbf44edf2d769431e699a`.
* [Original default replay](original-default-replay.json): two unchanged CLI seed-zero runs with
  `PYTHONHASHSEED=3` and `8675309`, both retaining the first-delivery semantic digest
  `e81b08063278b231b60eaa16e4120973ed688bb3fd7e6a8da439daa4e7f5caf9`.
* [Original CLI check](original-cli-and-pre-interior-audit.json), `original_cli` entries: no-argument
  generation writes `output.litematic` in a temporary working directory, 125,475 blocks/782 nodes;
  seed 1 writes an absolute path containing spaces, 90,100 blocks/527 nodes. Both validate and reload.
  This file's artifact rows describe the preserved pre-interior revision, not the final samples.
* [Headless inspection](inspection.json): deck, glass and mounted light queries and exact membership
  survive a fresh export/reload. The original `output.litematic` pair was not replaced by the new clients.

The import guard test executes generation without allowing imports of numpy, MCIO, scipy, shapely or
ctypes. That establishes the native pure-Python dependency boundary. The user's report of eleven prior
browser runs and six prior downloaded pairs concerns the earlier revision; no new Pyodide execution
or browser artifact download was performed here.

## Sampling and outcomes

[sampling-policy.json](sampling-policy.json) was recorded before assessment. The root seed is **0**.
The original field generator, parameter recipe and explicit seeds are in every result row. Eight
connector terrains are frozen independently before six structure seeds are placed on copies. Four
independent dry terrains receive four curve choices each. Other hall, graph and stress inputs are also
generated/finalized before structure placement. Zero wave/gradient values and straight curves provide
degenerate inputs from the same operations. A separate test uses a kinked route and asymmetric polygon
absent from the shipped clients. No named environment-family selector or seed-specific adaptation exists.

The [interior refinement policy](interior-refinement-policy.json) reran exactly the same principal
inputs after visual inspection. It did not move buildings, reshape terrain or relax contact limits.

| Group | Valid inputs / inputs | Accepted complete candidates / attempts | Incompatible | Retries | Exhausted / defects | Principal signatures | Contact signatures | Seconds |
|---|---:|---:|---:|---:|---:|---:|---:|---:|
| Diagonal/bending connectors | 48/48 | 48/48 | 0 | 0 | 0/0 | 6 | 48 | 13.342 |
| Curve boundaries | 16/16 | 16/16 | 0 | 0 | 0/0 | 4 | 16 | 2.763 |
| Polygon halls | 12/12 | 12/12 | 0 | 0 | 0/0 | 12 | 12 | 8.403 |
| Branching campus | 6/6 | 6/6 | 0 | 0 | 0/0 | 6 | 6 | 25.967 |
| Perimeter circuit | 6/6 | 6/6 | 0 | 0 | 0/0 | 6 | 6 | 24.688 |
| Bounded stress | 15/24 | 15/24 | 9 | 0 | 0/0 | 6 | 15 | 5.065 |

Thus **88/88** supported-domain inputs validated and **15/24 (62.5%)** stress inputs validated.
All **112** rows are retained in [final/results.json](final/results.json), with
[summary.json](final/summary.json) and independently recorded [frozen inputs](final/frozen-inputs.json).
Each input proposes one complete locked composition; input success and candidate acceptance have
the same denominators here. These numbers do not conceal retries of full candidates. Deterministic
profile propagation and feasible furnishing allocation happen within each candidate and are not
counted as extra accepted builds. No resampling was used to replace difficult stress inputs.

Times total 80.228 seconds across measured rows. They include selected artifact export/reload and
exclude terrain-freezing time outside those rows, rendering and the later audit. They were measured
on this host during development and are not isolated performance benchmarks.

## Retained stress incompatibilities

The stress recipe uses gradients through 0.28, waves through 4, water levels through 12 and locked
platform positions. All nine rejections occur at `/a` during its public site survey:

| Input | Environment seed | Rule | Constraint |
|---|---:|---|---|
| stress-00 | 2000 | support-height | Existing maximum bed-to-floor support depth 8 exceeded |
| stress-01 | 2001 | site-relief | Measured 7, permitted 5 |
| stress-04 | 2004 | support-height | Depth bound exceeded |
| stress-07 | 2007 | site-relief | Measured 6, permitted 5 |
| stress-09 | 2009 | support-height | Depth bound exceeded |
| stress-10 | 2010 | support-height | Depth bound exceeded |
| stress-18 | 2018 | site-relief | Measured 6, permitted 5 |
| stress-19 | 2019 | support-height | Depth bound exceeded |
| stress-22 | 2022 | support-height | Depth bound exceeded |

Those are established incompatibilities with the requested component policy, not proofs that no
other engineering technique could work. The second phase's 24-input stress recipe differs from the
first phase's 32 inputs, so **62.5% is not a comparative improvement claim over 9/32**. All failures
remain replayable from their generating expressions, parameters and seeds.

## Actual costs and observed diversity

| Group | Current foundation/approach/trestle cells | Sitework displacement records | All current sitework/deck cells |
|---|---:|---:|---:|
| Connector | 3..108 | 0..100 | 294..445 |
| Boundary | 0 | 0 | 168..224 |
| Hall | 38..71 | 6..9 | 38..71 |
| Campus | 132..206 | 232..318 | 1,374..1,593 |
| Perimeter | 82..129 | 256..451 | 1,539..1,597 |
| Successful stress | 62..259 | 0..254 | 402..599 |

These are actual current cells and retained displacement records, rather than estimates from boxes.
The broad sitework count includes above-ground boundary masonry and decks; it is not excavation
volume. No solid cell was excavated to non-solid state in this new corpus. Original pool excavation
tests remain in the full suite. Boundary support signatures record actual substrate coordinates even
though the boundary itself writes no footing/fill cells.

Principal signatures use realized polygon footprints, height, function and entrance topology,
hip/lantern intent, legacy room/storey/roof structure, ribbon plan/width/cover, contour shape/height,
and graph placement/connectivity. They exclude names, materials, global transforms and measured
foundation heights. Contact profiles and supports have separate signatures. Furniture bay counts are
reported separately and never inflate the principal signatures: halls have **2..8** bays, branching
campuses **8..12** total, and perimeter circuits **9..11** total. All requested optional bays fit in
this corpus; recorded optional omissions total **0**. Required counts were never relaxed.

The 48 connector runs intentionally repeat six principal connection intents across eight independent
environments. Six principal and 48 contact signatures are the expected separation, not a claim of
48 architectural types. The halls span broad/chamfered and asymmetric tested shapes beyond the old
bay grid; the graph programs change organization, counts and massing. The finite signature counts
do not estimate or enumerate the space of possible combinations.

## Visual evidence and limits

[Preview notes](../../previews/extensions/README.md) label sources, seeds, camera angles and cutaways.
There are **26 final images**: three exterior views for each of five representative artifacts,
floor/connection sections where applicable, and four focused hall views. Historical development and
pre-interior views are retained separately. Geometry-only cuts have no trustworthy structural
companion; all identity/NBT checks use the full original pairs.

Inspection found that the old small furnishing grouping underfilled wider halls. `HallInterior` now
allocates functional stations around protected aisles; close views show their distribution and clear
doors. Other views show open/covered diagonal links, actual-bed contact across water, the branching
and circuit organizations, broad hip roofs and continuous stepped curve masonry. The final reports
do not omit the earlier failures or the nine final stress rejections.

Remaining limits are real: discrete movement and light models, a bounded-span support approximation,
no arbitrary roof junction solver, simple open curves, cardinal entrance frames, finite footprint
domains, explicit graph placement and coarse explicit co-regeneration. Landscapes retain broad open
lawns and furnishings use compact stations; this is not an exhaustive claim of aesthetic quality.
The connector's point endpoint offers are not substitutes for broad platform junctions. New clients
use public interfaces throughout, but future architectural techniques still require implementing
components. No browser rerun, viewer, deployment or autonomous city planner is included.

## Replay

```sh
python -m pytest -q test
python -m examples.extension_assess --seed 0 --output reports/extension-reassessment --artifacts --samples samples/extension-reassessment
python -m examples.extension_audit --seed 0 --manifest samples/extension-reassessment/replay-manifest.json --output reports/extension-reassessment/artifact-audit.json --cli
python -m examples.extension_replay --seed 3 --environment-seed 7 --output reports/extension-reassessment/replay.json
```

The `first-assessment/` directory retains the first completed new batch. `pre-interior-assessment/`
retains the later complete pre-refinement batch, its tests/audit and a manifest pointing to 13 matching
historical pairs in `samples/extensions/pre-interior/`. Their old result-row artifact paths describe
their original run destinations; use the preserved manifest to locate those exact historical pairs.
The new final report and `samples/extensions/replay-manifest.json` describe the delivered revision.
