Record what the crinkliness examination found: 39.13, 39.14, 39.15

39.13 -- the tail rescale, and its verdict. NULL, and not for want of power:
12 of 12 pairs byte-identical, both programmes, same trajectories. The failing
tail is 0.034% of corpus value, so making it orderable cannot move a search.
Kept (free, and k54 needs the region orderable) but recorded as correct and
inert, not as a fix. It also corrects gvb's premise: zero exposure is NOT
beyond the inner loop's reach -- perturbing division ratios alone moves the
zero-exposure set on 6-12 of 12 trials at +-25%, and in the direction wanted
(harbor s1 8 -> 6 buried leaves).

39.14 -- what the factor actually rewards. 1/crink is the room's depth from
its daylit wall in storey-heights, so the variable is sound and its fail
boundary (1.62h = 4.86 m) agrees with 38.3's independently-derived frontage
bound. The two-sided gaussian on it is not: the near side penalises surplus
daylight that edge_cost and outside_edge_cost already bill at 100 and 133.3
per m2, it has never once produced a fail (it needs crink > 21.5; corpus max
is 3.95), and its peak sits at a 2.5 m deep room -- an ordinary 4 m room
scores 0.395 and the corpus's realised median depth is 2.95 m. The search
built what it was paid for. A/B at pilot budget is underpowered rather than
null: the arms reach different layouts but the same fail counts.

39.15 -- the magic numbers. A sigma is not a preference, it is an acceptance
interval target +- 2.1460*sigma, so it decides failures. The blanket
hypothesis does not survive -- programme-house reaches 1 fail, structural on
two of three seeds. The specific one does, and it shows 39.1's CLEAN verdict
answered a weaker question: sweeping a spec's tolerance box asks whether SOME
shape is feasible, and all 67 pass, but at the DECLARED target area and aspect
harbor needs 7 corner rooms and maple 6, while health-centre and
programme-house need none. Within-programme, those codes fail 62% and 78% of
their instances against 26% and 31% for all others. Three declared quantities
are jointly contradictory and nothing said so; the resolution is an author
decision, not a retuned constant.

Also recorded: 82% of size fails are rooms larger than target, which is the
same shape of double-charge but explicitly NOT the same case -- size's upper
bound is the main brake on growth and must not be removed on the analogy.

405 passed, 72 skipped.

Closes homemaker-py-9gj, homemaker-py-u5q.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MJ84Feep79Hhm3E4zZJmnB
This commit is contained in:
Claude 2026-09-05 15:11:11 +00:00
parent 970e07235f
commit 84907694d0
No known key found for this signature in database
2 changed files with 403 additions and 0 deletions

366
DESIGN.md
View file

@ -6936,3 +6936,369 @@ no combined fix left to accept. Replacing it:
computes both sides of its invariant instead of pinning constants, for the computes both sides of its invariant instead of pinning constants, for the
same reason. same reason.
### 39.13 The crinkliness tail underflows, and what rescaling it can and cannot reach (`homemaker-py-9gj`)
`homemaker-py-9gj` was filed against a narrow symptom: `quality_uncrinkliness`
returns exactly `0.0` for a leaf with no daylit wall, so two layouts whose
buried rooms differ score identically. Measuring it first, as §39.12's
crinkliness share (35% of the whole corpus residual) makes worth doing, moves
the diagnosis in both directions — the defect is wider than the bead says, and
the part of it a rescale can reach is narrower.
**The mechanism is the parameterisation, not the zero.** The factor evaluates
the gaussian at `x = 1/crink`, so its exponent grows like `1/crink²`. Over the
twelve 500 k cold-start runs, 430 leaves carry a minimum-exposure requirement
and 112 of them (26%) fail it. Their quality values:
| stock quality | leaves | crinkliness range | share of corpus value |
|---|---|---|---|
| exactly 0.0 | 77 | 0 | 0.000000% |
| 1e-300 … 1e-30 | 5 | 0.116 … 0.187 | 0.000000% |
| 1e-30 … 1e-12 | 8 | 0.200 … 0.279 | 0.000000% |
| 1e-12 … 1e-6 | 5 | 0.327 … 0.354 | 0.000001% |
| 1e-6 … 1e-3 | 11 | 0.370 … 0.441 | 0.000812% |
| 1e-3 … 0.1 | 6 | 0.467 … 0.589 | 0.033014% |
All 112 together are **0.034% of total value on 23% of the floor area**. The
flat region is not the single point `crink == 0`: it is the entire failing
tail, because `exp(d²)` with `d = (1/crink 0.833)/0.367` underflows a
double to exactly zero below `crink ≈ 1/15`, and is numerically indis­tinguish­able
from zero well above that. A layout that gives a buried room a quarter of the
exposure it needs is rewarded by 1e-28 — beside passing leaves worth ~1, that
is no reward at all.
**This also explains why §38.1's `floor` mode measured as a no-op.** It returns
`max(q, 0.01)`, and 110 of those 112 leaves sit below 0.01 — so it maps almost
the whole failing tail onto one constant. It replaced a flat zero with a flat
0.01. The ordering was never the problem the floor was solving.
**What shipped: `crinkliness_tail="ramp"`, default OFF.** Below
`FAIL_THRESHOLD`, on the compact side only, the tail becomes a straight line in
crinkliness meeting the gaussian exactly at the threshold:
```
q = FAIL_THRESHOLD * crink / crink_at_threshold(distance, sigma)
```
`crink_at_threshold` inverts the gaussian at `FAIL_THRESHOLD` using the same
truncated `_E` the factor is evaluated with (0.61721 for the global
`uncrinkliness` parameters). The construction is deliberately conservative:
* Nothing at or above `FAIL_THRESHOLD` moves at all, so no calibration changes
and no leaf crosses the threshold. The fail set is **byte-identical** on all
21 committed corpus artefacts, the four `init.dom` seeds included —
asserted in `tests/test_fitness_crinkliness_tail.py`, not assumed.
* A fully buried leaf still scores exactly 0. Burial remains a defect; this
restores an ordering within the failing region, it does not forgive it.
* It refuses to compose with §38.1's superseded modes, which rewrite the same
tail.
Because the fail set is invariant, this is the one case the §38.9 trap exempts:
both arms of an A/B can be scored under the stock objective without an arm
winning by deleting a fail category.
**Effect on the scalar**, per 500 k baseline artefact (§39.12):
| programme | score delta |
|---|---|
| harbor-house s0/s1/s2 | +0.49% / +0.40% / +0.55% |
| maple-court s0/s1/s2 | +0.31% / +0.45% / +2.81% |
| health-centre, programme-house | +0.000% (all seeds) |
| every `init.dom` | +0.000% |
The zeros are not a bug and they matter for how this must be tested: a
programme with no partially-exposed failing rooms has nothing to grade, and
neither does any *starting* layout. The ramp is a mid-search signal by
construction.
**A correction to `gvb`'s premise.** `homemaker-py-gvb` records crinkliness
fails as "topological (zero-exposure) and unreachable by the inner loop". The
first half holds — 77 of the 112 are at `crink == 0`. The second does not.
Perturbing only the division ratios of a baseline artefact, which is exactly
the inner loop's degree of freedom, changes which leaves have zero exposure:
Twelve random jitters per amplitude per artefact; the cell gives how many of
the twelve changed the set, and in brackets the range of buried-leaf counts
seen:
| artefact | buried | ±2% | ±5% | ±10% | ±25% |
|---|---|---|---|---|---|
| harbor s0 | 11 | 6/12 [1112] | 5/12 [1112] | 10/12 [1012] | 10/12 [1114] |
| harbor s1 | 8 | 0/12 [8] | 0/12 [8] | 0/12 [8] | 6/12 [610] |
| harbor s2 | 11 | 0/12 [11] | 0/12 [11] | 0/12 [11] | 7/12 [1011] |
| maple s0 | 12 | 1/12 [1213] | 4/12 [1213] | 5/12 [1213] | 11/12 [1014] |
| maple s1 | 18 | 0/12 [18] | 1/12 [1718] | 4/12 [1718] | 9/12 [1519] |
| maple s2 | 14 | 0/12 [14] | 1/12 [1415] | 6/12 [1415] | 11/12 [1418] |
| health s0 | 1 | 0/12 [1] | 0/12 [1] | 0/12 [1] | 3/12 [01] |
Zero exposure is reachable by a ratio move, and reachable in the direction the
search wants: harbor s1 goes 8 → 6 buried leaves, maple s1 18 → 15,
health-centre s0 1 → 0. It generally takes a coordinated move of order
±1025%, because a leaf has to slide far enough to meet an outside neighbour or
the plot edge — though harbor s0 is sensitive at ±2%, so the threshold is a
property of the layout, not a constant.
(The count has to be taken over leaves in traversal order, not as a set of
`leaf.id`: ids repeat across storeys, and deduplicating them silently loses
five of the corpus's 77 buried leaves.)
So the valley is real and the ratio DOF *can* cross it. Under the stock
objective it has no reason to: the far side pays 1e-28. Under the ramp the same
move — a buried leaf reaching `crink = 0.2` — pays `0.1 × 0.2/0.617 = 0.032` of
that leaf's rate and area, some 1e26 times more. Whether that is enough to
outweigh the size and proportion cost such a move also incurs is a separate
question, answered below; the point here is only that under stock the question
never gets asked, because the gain is not representable.
**What it cannot reach.** 69% of the failing region is at `crink == 0`, and
0 × anything is 0: no rescaling of the factor grades a leaf that has no
exposure at all. Ordering *those* leaves needs a different quantity — burial
depth in the adjacency graph, say — which is a new objective term with its own
calibration burden, not a repair to this one. Filed separately as
`homemaker-py-k54`; it is not smuggled in here.
**Verdict: NULL, and not for want of statistical power.** Search A/B,
`experiments/ab_9gj_crinkliness.py`, harbor and maple, three 500 k plateau
starts × two RNG seeds each, 8000 evals, both arms scored under stock:
```
harbor-house N=6 gaussian mean 39.17 ramp mean 39.17 0W/0L/6T
maple-court N=6 gaussian mean 60.50 ramp mean 60.50 0W/0L/6T
```
Every one of the twelve pairs is **byte-identical** — same fail count, same
scalar to every printed figure. The two arms did not diverge and then
reconverge; they took the same trajectory. A +0.5% perturbation to the value
of a layout never once flipped a comparison in 8000 evaluations.
In hindsight that is what the measurement above already said: the failing tail
is 0.034% of corpus value. Making 0.034% of the objective orderable cannot
move a search. **The ramp is correct and inert.** It is kept — it costs
nothing, it removes a genuine representability defect, and `k54` needs the
failing region orderable if it is ever to add to it — but it is not a fix for
anything, and it should not be cited as one.
What the null is genuinely useful for is where it points. If the orderable
part of the failing region is worth 0.034%, then the crinkliness residual
that §39.12 found to be 35% of the whole corpus fail count is not being
decided down here at all. It is being decided above the threshold, in the
part of the factor nobody had looked at. §39.14 looks at it.
### 39.14 What the crinkliness factor actually rewards: a 2.5 m room, twice-charged (`homemaker-py-9gj`)
§39.13 fixed the failing tail and the fix did nothing. That is a result about
the tail, but the owner's response to it was the useful one — *if calculating
the gaussian of a reciprocal is stupid then we need to reexamine what we are
doing.* So: what is this factor, and is the reciprocal the stupid part?
**The reciprocal is not the stupid part.** `crink = area_outside/area = (L·h)/A`,
so `1/crink = A/(L·h)` is the room's mean depth from its daylit wall, measured
in storey heights. That is exactly the right variable for a daylight rule, and
the fail boundary it implies — `1/crink = 1.620`, a **4.86 m** deep room at the
corpus's h = 3 m — is a sensible one. It also agrees with §38.3's frontage
bound `L >= A/(1.6202·h)`, which was derived independently. Two different
routes to the same 1.62 is good evidence the underlying rule is sound.
**Hanging a two-sided gaussian on it is the stupid part.** Three separate
problems, all on the near side of the peak:
*It bills the same wall twice.* `edge_cost` charges `exterior_wall` at 100/m²
and `outside_edge_cost` charges `boundary_wall` at 133.3/m², both as
`rate × length × height` — the very quantity `area_outside` measures. A
well-lit room already pays for its envelope in `cost`. Penalising it again in
`value` means the two halves of `score = value/cost` pull against each other on
the same square metre.
*It has never once produced a failure.* The over-exposed branch only reaches
`FAIL_THRESHOLD` above `crink = 21.5`. The maximum crinkliness anywhere in the
twelve 500 k baseline runs is **3.95**. That side of the gaussian is pure value
subtraction; it has no enforcement role at all.
*And it is where a lot of the corpus lives.* 133 of the 318 passing graded
leaves — 42% — sit on it, at mean quality 0.810.
**What the peak implies, in metres.** The gaussian peaks at `1/crink = 0.833`,
i.e. a room `0.833 × h` deep. At h = 3 m that is a **2.5 m** room. Single-aspect
quality against depth:
| depth (m) | 1.0 | 2.0 | 2.5 | 3.0 | 4.0 | 4.5 | 5.0 | 6.0 |
|---|---|---|---|---|---|---|---|---|
| quality | 0.395 | 0.902 | **1.000** | 0.902 | 0.395 | 0.191 | 0.076 ✗ | 0.006 ✗ |
An ordinary 4 m room loses 60% of its value. And the corpus's realised median
depth is **2.95 m** — the search has been building 3 m deep rooms because that
is what it is paid for. That is not the search failing to find good buildings;
it is the search succeeding at a badly-specified goal.
**What shipped: `crinkliness_shape="daylight"`, default OFF.** A room shallower
than the peak scores 1.0. Daylight is a sufficiency requirement — enough is
enough — and the surplus envelope is the cost model's business.
Clipping at the **peak** rather than at `FAIL_THRESHOLD` is deliberate, and it
is the one place this differs from "everything that passes scores 1.0":
* it keeps the factor **continuous**, where clipping at the threshold would put
a 10× jump (0.1 → 1.0) on the exact boundary the `0.5**n` fail multiplier
already steps on — a new cliff at the most brittle point in the objective;
* it keeps the graded approach to the daylight limit, which is the part of the
curve still doing useful work. Clipping at the threshold would make
crinkliness purely binary above it and delete that gradient — the opposite of
what `9gj` set out to do.
Note this clips the **opposite** side from §38.1's superseded `compact_ok`,
which forgives a leaf for being buried. Composing either with those modes is
refused.
**The fail set is byte-identical** on all 21 corpus artefacts under all four
shape/tail combinations — the over-exposed fail branch being unreachable is
what makes that true — so stock scoring stays a valid yardstick for every arm.
**Effect.** Area-weighted over all graded leaves:
| factor | stock | daylight+ramp |
|---|---|---|
| **crinkliness** | **0.480** | **0.513** |
| size | 0.536 | 0.536 |
| proportion | 0.853 | — |
| width | 0.928 | — |
| access | 0.962 | — |
| perpendicular | 0.982 | — |
| leaf quality (the product) | 0.2722 | 0.2831 |
Per artefact the score moves +0.2% to +19.6%, and unlike the tail change it
reaches health-centre and programme-house, where the ramp was 0.000% on every
seed.
**Honest scope.** This removes a double-charge and an absurd optimum, but it
recovers only 0.480 → 0.513 of the factor's harshness. Crinkliness is still the
harshest of the seven quality factors, and the bulk of that is now concentrated
in the part this change deliberately did not touch: the steep decay from the
2.5 m saturation point to the 4.86 m limit, which takes an ordinary 4 m room to
0.395. Whether `sigma = 1.1/3` is the right steepness for that approach is a
calibration question, not a shape question, and it is open.
**Verdict at pilot budget: no measurable search effect, and honestly labelled.**
Same protocol as §39.13 — harbor and maple, three 500 k plateau starts × two
RNG seeds, 8000 evals, all arms scored under stock:
```
harbor-house daylight vs stock N=6 39.17 -> 39.00 1W/0L/5T
harbor-house daylight+ramp vs stock N=6 39.17 -> 39.00 1W/0L/5T
mean diff +0.167 sd 0.408 MDD at N=6 = 0.428
UNDERPOWERED: the margin is below what N=6 can resolve
maple-court daylight vs stock N=6 60.50 -> 60.50 0W/0L/6T
maple-court daylight+ramp vs stock N=6 60.50 -> 60.50 0W/0L/6T
NO DIFFERENCE: identical on every pair
```
This is **not** the same null as §39.13's. There the arms took byte-identical
trajectories; here they reach genuinely different layouts — harbor s1 scores
1.428e-15 under `daylight` against stock's 1.468e-15 on the same start — they
simply land on the same fail count. The change is doing something; 8000 evals
from a plateau is not enough to say what. Note the direction of that particular
number: a layout optimised under `daylight` scores *lower* under stock, which
is exactly why stock is the yardstick and not the arm's own objective.
So the shape change is **justified but unproven**: the double-charge against
`cost` and the 2.5 m optimum are defects on their own terms, established by
construction rather than by a fail count, and correcting them cannot be
scored by a pilot this small. It stays default OFF. The powered protocol —
`--budget 100000 --seeds 3 --starts 3`, giving n=9 per programme — is in
`experiments/ab_9gj_crinkliness.py`'s docstring and wants the local machine,
like §39.12's baseline did.
What should *not* be concluded is that crinkliness does not matter. §39.15
takes the same question by a different route and finds something a search A/B
at any budget would not have shown.
### 39.15 The magic numbers, examined (`homemaker-py-u5q`)
The owner's hypothesis, and it is the right one to test: *these sigma values
were plucked out of nowhere many years ago and never rigorously examined; it is
entirely possible that our inability to create designs with zero failures is
because the scoring magic numbers are simply wrong.*
**First, what a sigma is here.** A fail is `quality < FAIL_THRESHOLD`, and every
factor is a gaussian, so a `(target, sigma)` pair does not express a soft
preference. It **defines an acceptance interval**, `target ± 2.1460·sigma`.
Sigma is the tolerance that decides failures. Once that is said out loud the
question becomes answerable, because an interval can be checked against
geometry.
**The blanket form of the hypothesis does not survive.** programme-house
reaches **1 fail** on all three 500 k seeds, and on two of them that one fail is
structural — `staircase volume`, `level 1 not connected` — not a quality factor
at all. health-centre's residual is likewise dominated by connectivity and
stairs. Where a programme is internally consistent the objective is very nearly
satisfiable, so the numbers are not globally wrong. Something more specific is.
**The specific form survives, and §39.1's "CLEAN" was answering a weaker
question than it appeared to.** `audit_programme_config.py` sweeps each spec's
whole tolerance box and asks *is some shape in here feasible?* All 67 corpus
specs pass that. But a tolerance is not a design intent. The author declared a
target area and a target aspect, and that is the room they asked for. Asking
whether **that** room is feasible gives a different answer:
| programme | instances needing ≥2 exposed sides *as declared* |
|---|---|
| harbor-house | **7** (cr1, da1, 5 × n) |
| maple-court | **6** (da1, lr1, 4 × n) |
| health-centre | 0 |
| programme-house | 0 |
harbor's common room is 80 m² at aspect 2.0 — a 6.32 × 12.65 m room, and
6.32 m is deeper than the 4.86 m single-aspect daylight limit. It is
"feasible" only at the bottom of its area tolerance and the top of its aspect
one: 4.5 × 13.4 m at 60 m². The search can satisfy the spec only by building
something other than what was asked for.
**And those are the codes that fail.** Within each programme, comparing the
predicted codes against every other code in the same programme — which controls
for programme size, as a cross-programme comparison would not:
| programme | predicted codes | all other codes |
|---|---|---|
| harbor-house | 13/21 instances fail (**62%**) | 29/113 (26%) |
| maple-court | 14/18 instances fail (**78%**) | 53/172 (31%) |
**Decomposition of the corpus's 112 crinkliness fails:**
| | |
|---|---|
| buried, `crink == 0` — topological, `k54` | 77 (69%) |
| too deep, spec contradictory as declared | 17 (15%) |
| too deep, other | 18 (16%) |
**So what is actually wrong is not a sigma.** It is that three declared
quantities — target area, target aspect, and the daylight limit — are jointly
contradictory for six specs, and nothing told anyone. Of the three, the
daylight limit is the one with independent support: the gaussian's own crossing
and §38.3's frontage bound, derived separately, agree at `1.62·h` = 4.86 m, and
the architectural rule of thumb for single-sided daylight (roughly twice the
window head height) puts it in the same region. The area and aspect targets are
the author's brief. So the resolution is a decision for the programme author —
shrink the room, allow a deeper aspect, or say out loud that it wants a corner
— and not a new constant chosen to make the number go down.
**Shipped:** the `at declared target` column in `audit_programme_config.py`,
the tool CLAUDE.md already sends programme authors to, plus a count of
instances demanding a corner as declared and what that costs against a
building's corner budget. This does not change the objective; it makes a
contradiction visible before a multi-hour run bottoms out on it, exactly as
§39.11's pre-flight does for plot area and frontage.
**One related finding, recorded rather than fixed.** 36 of the 44 size fails
(82%) are rooms **larger** than their target — and `cost` already charges floor
area at `inside` = 200/m². That is the same shape of double-charge §39.14 found
in crinkliness, but it is **not** the same case and must not be treated as one:
crinkliness's surplus side has never once produced a failure, whereas size's
upper bound is doing real work. Because the objective is `value/cost`, adding
`dA` to a leaf raises the score whenever `q·value_inside / cost_inside`
(= 1.5·q at the defaults) exceeds the current score — and the realised corpus
scores are of order 1e-11, so that holds for any quality worth having. Growth
is therefore always profitable *unless quality falls*, and within the objective
the size gaussian's upper half is the main thing that makes it fall. Removing
it on the analogy with crinkliness would license the search to inflate every
room until it ran out of plot. If that upper bound is the wrong instrument, the
thing to re-examine is the value rate, not the sigma.

View file

@ -0,0 +1,37 @@
programme,start,seed,tail,hard,soft,total,score,elapsed_s
harbor-house,coldstart-500000-s0.dom,0,stock,8,25,33,1.85176240526207e-11,404.4
harbor-house,coldstart-500000-s0.dom,0,daylight,8,25,33,1.851517350881417e-11,416.3
harbor-house,coldstart-500000-s0.dom,0,daylight+ramp,8,25,33,1.8518718977543974e-11,417.2
harbor-house,coldstart-500000-s2.dom,0,stock,12,30,42,3.0491865573276097e-14,359.0
harbor-house,coldstart-500000-s2.dom,0,daylight,12,29,41,6.661352760846375e-14,350.4
harbor-house,coldstart-500000-s2.dom,0,daylight+ramp,12,29,41,6.661352760846375e-14,354.2
maple-court,coldstart-500000-s1.dom,0,stock,17,56,73,4.626623187133073e-25,444.5
maple-court,coldstart-500000-s1.dom,0,daylight,17,56,73,4.629224482642245e-25,444.9
maple-court,coldstart-500000-s1.dom,0,daylight+ramp,17,56,73,4.626281900486264e-25,445.4
harbor-house,coldstart-500000-s0.dom,1,stock,8,24,32,3.749216704165142e-11,409.1
harbor-house,coldstart-500000-s0.dom,1,daylight,8,24,32,3.749216704165142e-11,402.9
harbor-house,coldstart-500000-s0.dom,1,daylight+ramp,8,24,32,3.749216704165142e-11,426.7
harbor-house,coldstart-500000-s2.dom,1,stock,12,30,42,3.0491865573276097e-14,360.2
harbor-house,coldstart-500000-s2.dom,1,daylight,12,30,42,3.021280012052432e-14,358.8
harbor-house,coldstart-500000-s2.dom,1,daylight+ramp,12,30,42,3.021280012052432e-14,360.5
maple-court,coldstart-500000-s1.dom,1,stock,17,56,73,4.629596572120101e-25,444.7
maple-court,coldstart-500000-s1.dom,1,daylight,17,56,73,4.629537324035372e-25,445.6
maple-court,coldstart-500000-s1.dom,1,daylight+ramp,17,56,73,4.629661078538839e-25,451.4
harbor-house,coldstart-500000-s1.dom,0,stock,7,36,43,1.4676873187056738e-15,371.6
harbor-house,coldstart-500000-s1.dom,0,daylight,7,36,43,1.4279256079115516e-15,365.7
harbor-house,coldstart-500000-s1.dom,0,daylight+ramp,7,36,43,1.4471555875579166e-15,367.8
maple-court,coldstart-500000-s0.dom,0,stock,18,35,53,1.1458353761153645e-17,483.1
maple-court,coldstart-500000-s0.dom,0,daylight,18,35,53,1.1157421264309815e-17,460.2
maple-court,coldstart-500000-s0.dom,0,daylight+ramp,18,35,53,1.1157421264309815e-17,460.3
maple-court,coldstart-500000-s2.dom,0,stock,12,43,55,4.278297968488281e-18,486.9
maple-court,coldstart-500000-s2.dom,0,daylight,12,43,55,4.233509295989948e-18,493.6
maple-court,coldstart-500000-s2.dom,0,daylight+ramp,12,43,55,4.222956305534923e-18,492.3
harbor-house,coldstart-500000-s1.dom,1,stock,7,36,43,1.4676873187056738e-15,383.3
harbor-house,coldstart-500000-s1.dom,1,daylight,7,36,43,1.4300738018707186e-15,369.5
harbor-house,coldstart-500000-s1.dom,1,daylight+ramp,7,36,43,1.446954136586141e-15,372.1
maple-court,coldstart-500000-s0.dom,1,stock,17,37,54,6.645342661051106e-18,492.1
maple-court,coldstart-500000-s0.dom,1,daylight,17,37,54,6.616462252949126e-18,485.1
maple-court,coldstart-500000-s0.dom,1,daylight+ramp,17,37,54,6.616462252949126e-18,481.5
maple-court,coldstart-500000-s2.dom,1,stock,12,43,55,4.258152742657858e-18,494.6
maple-court,coldstart-500000-s2.dom,1,daylight,12,43,55,4.2111608639490995e-18,508.6
maple-court,coldstart-500000-s2.dom,1,daylight+ramp,12,43,55,4.220427466489337e-18,483.7
1 programme start seed tail hard soft total score elapsed_s
2 harbor-house coldstart-500000-s0.dom 0 stock 8 25 33 1.85176240526207e-11 404.4
3 harbor-house coldstart-500000-s0.dom 0 daylight 8 25 33 1.851517350881417e-11 416.3
4 harbor-house coldstart-500000-s0.dom 0 daylight+ramp 8 25 33 1.8518718977543974e-11 417.2
5 harbor-house coldstart-500000-s2.dom 0 stock 12 30 42 3.0491865573276097e-14 359.0
6 harbor-house coldstart-500000-s2.dom 0 daylight 12 29 41 6.661352760846375e-14 350.4
7 harbor-house coldstart-500000-s2.dom 0 daylight+ramp 12 29 41 6.661352760846375e-14 354.2
8 maple-court coldstart-500000-s1.dom 0 stock 17 56 73 4.626623187133073e-25 444.5
9 maple-court coldstart-500000-s1.dom 0 daylight 17 56 73 4.629224482642245e-25 444.9
10 maple-court coldstart-500000-s1.dom 0 daylight+ramp 17 56 73 4.626281900486264e-25 445.4
11 harbor-house coldstart-500000-s0.dom 1 stock 8 24 32 3.749216704165142e-11 409.1
12 harbor-house coldstart-500000-s0.dom 1 daylight 8 24 32 3.749216704165142e-11 402.9
13 harbor-house coldstart-500000-s0.dom 1 daylight+ramp 8 24 32 3.749216704165142e-11 426.7
14 harbor-house coldstart-500000-s2.dom 1 stock 12 30 42 3.0491865573276097e-14 360.2
15 harbor-house coldstart-500000-s2.dom 1 daylight 12 30 42 3.021280012052432e-14 358.8
16 harbor-house coldstart-500000-s2.dom 1 daylight+ramp 12 30 42 3.021280012052432e-14 360.5
17 maple-court coldstart-500000-s1.dom 1 stock 17 56 73 4.629596572120101e-25 444.7
18 maple-court coldstart-500000-s1.dom 1 daylight 17 56 73 4.629537324035372e-25 445.6
19 maple-court coldstart-500000-s1.dom 1 daylight+ramp 17 56 73 4.629661078538839e-25 451.4
20 harbor-house coldstart-500000-s1.dom 0 stock 7 36 43 1.4676873187056738e-15 371.6
21 harbor-house coldstart-500000-s1.dom 0 daylight 7 36 43 1.4279256079115516e-15 365.7
22 harbor-house coldstart-500000-s1.dom 0 daylight+ramp 7 36 43 1.4471555875579166e-15 367.8
23 maple-court coldstart-500000-s0.dom 0 stock 18 35 53 1.1458353761153645e-17 483.1
24 maple-court coldstart-500000-s0.dom 0 daylight 18 35 53 1.1157421264309815e-17 460.2
25 maple-court coldstart-500000-s0.dom 0 daylight+ramp 18 35 53 1.1157421264309815e-17 460.3
26 maple-court coldstart-500000-s2.dom 0 stock 12 43 55 4.278297968488281e-18 486.9
27 maple-court coldstart-500000-s2.dom 0 daylight 12 43 55 4.233509295989948e-18 493.6
28 maple-court coldstart-500000-s2.dom 0 daylight+ramp 12 43 55 4.222956305534923e-18 492.3
29 harbor-house coldstart-500000-s1.dom 1 stock 7 36 43 1.4676873187056738e-15 383.3
30 harbor-house coldstart-500000-s1.dom 1 daylight 7 36 43 1.4300738018707186e-15 369.5
31 harbor-house coldstart-500000-s1.dom 1 daylight+ramp 7 36 43 1.446954136586141e-15 372.1
32 maple-court coldstart-500000-s0.dom 1 stock 17 37 54 6.645342661051106e-18 492.1
33 maple-court coldstart-500000-s0.dom 1 daylight 17 37 54 6.616462252949126e-18 485.1
34 maple-court coldstart-500000-s0.dom 1 daylight+ramp 17 37 54 6.616462252949126e-18 481.5
35 maple-court coldstart-500000-s2.dom 1 stock 12 43 55 4.258152742657858e-18 494.6
36 maple-court coldstart-500000-s2.dom 1 daylight 12 43 55 4.2111608639490995e-18 508.6
37 maple-court coldstart-500000-s2.dom 1 daylight+ramp 12 43 55 4.220427466489337e-18 483.7