Complete local generalisation tasks and document remaining experiment blockers

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e76f-be98-7ae3-965d-e0b31290a4c4
This commit is contained in:
tegwick 2026-09-28 12:06:24 +02:00
parent d54af628df
commit cf682281d7
36 changed files with 5394 additions and 279 deletions

View file

@ -173,3 +173,19 @@ def test_the_control_arm_is_not_a_straw_man():
preserved = [m for m in MECHANICAL if m.preserves_test_ids]
assert all(realized_ok(m.id, runtime=runtime) for m in preserved)
assert len(preserved) >= 9
def test_deciding_axis_has_ten_mutations_and_paired_structural_controls():
from lab.mutations import EXTENDED_LAYOUTS
from lab.http_api import render_resource_page
from lab.mutations import build_lab
assert sum(not m.preserves_test_ids for m in MECHANICAL) >= 10
for dropped, preserved, _, _ in EXTENDED_LAYOUTS:
dropped_app, _ = build_lab(dropped)
preserved_app, _ = build_lab(preserved)
# Version metadata differs; control markup must differ only in test ids.
import re
def shape(app):
html = render_resource_page(app, "alice", "R")
return re.sub(r'\s*data-td(?:-version)?="[^"]*"', "", html)
assert shape(dropped_app) == shape(preserved_app)