Завершить мир Foundations

This commit is contained in:
2026-08-19 15:26:51 +03:00
parent 4d8aa28f0a
commit f53e068cb1
23 changed files with 768 additions and 86 deletions
+76
View File
@@ -607,6 +607,82 @@ LevelID="foundations.borrowed-time", WorldID="foundations"
обычным беговым маршрутом. Отдельный тест сначала наблюдает реально закрытую Door,
затем её повторное открытие — softlock после истечения исходного таймера исключён.
## Уровень 27 — `Two Keys`
**Статус:** доказан production-input ботом, 3/3 последовательных прохождения.
**Ожидаемые и доказанные смерти:** `2`; AND-door требует оба сохранённых тела.
```text
LevelID="foundations.two-keys", WorldID="foundations"
→ первый доброволец погибает на SPIKES x=620..720
→ pinned body пересекает pressure x=600..740 и даёт weight-key
→ второй перепрыгивает pressure body и погибает в ELECTRIC x=1050..1160
→ conductive body даёт wire-key; только теперь Door x=1540 открыта
→ третий двумя отдельными jump edge очищает оба тела, забирает cache x=1320
→ проходит AND-door и достигает goal с deaths=2, corpses=2
```
**Контракт:** после первой смерти Door явно остаётся закрытой; после второй бот
наблюдает `allDoorsOpen=true`. Любая третья смерть немедленно завершает маршрут.
## Уровень 28 — `Clean Restart`
**Статус:** доказан production-input ботом, 3/3 последовательных прохождения;
после третьего запуска отдельный restart очищает попытку.
**Ожидаемые и доказанные смерти:** `3` — saw, freezer, electric.
```text
LevelID="foundations.clean-restart", WorldID="foundations"
→ saw x=600 доставляет первое тело impulse (500,-700)
→ второй доброволец очищает saw/доставленное тело и замерзает в x=1250..1350
→ третий очищает saw и frozen body, затем погибает в ELECTRIC x=1700..1810
→ четвёртый отдельными jump edge очищает все три сохранённых тела
→ забирает cache x=2180 и достигает goal с deaths=3, corpses=3
→ restart возвращает spawn, deaths/corpses/cache/input/time в чистое состояние
```
**Контракт:** маршрут демонстрирует три разных состояния тел в одной попытке;
restart проверяется через публичный automation boundary без прямой очистки runtime.
## Уровень 29 — `Minimum Cost`
**Статус:** доказан production-input ботом, 3/3 последовательных прохождения.
**Ожидаемые и доказанные смерти:** ровно `2`, совпадает с challenge target.
```text
LevelID="foundations.minimum-cost", WorldID="foundations"
→ первый доброволец закрывает SPIKES x=700..800
→ второй через первое тело достигает SPIKES x=930..1030
→ второе pinned body одновременно закрывает шипы и удерживает minimum-weight
→ третий пересекает оба тела и касается TIMED x=1190 на 10 s
→ weight + minimum-clock открывают Door x=1510
→ игрок забирает cache x=1360 и достигает goal без третьей смерти
```
**Контракт:** challenge route fail-fast ограничен двумя жертвами; Door до TIMED
switch остаётся закрытой, поэтому давление нельзя обойти простым прыжком.
## Уровень 30 — `Foundation Relay`
**Статус:** доказан production-input ботом, 3/3 последовательных прохождения.
**Ожидаемые и доказанные смерти:** ровно `3`; это finale мира Foundations.
```text
LevelID="foundations.foundation-final", WorldID="foundations"
→ два добровольца раздельно закрывают SPIKES x=550 и x=800
→ третий пересекает corpse bridge и погибает на saw x=1130
→ saw body оседает на pressure x=1100..1260 и удерживает finale-weight
→ четвёртый пересекает мост и pressure body, включает TOGGLE finale-ferry
→ TIMED finale-clock на 18 s открывает Door вместе с retained pressure body
→ игрок садится на ferry x=1570..1930, едет до platformX≥1950 над PIT
→ прыгает на far floor x=2300, забирает cache x=2450
→ проходит Door x=2610 и завершает мир с deaths=3, corpses=3
```
**Контракт:** finale не вводит новой механики. Оно последовательно проверяет
corpse bridge, pressure, toggle-controlled ferry, timed AND-door и collectible;
каждая смерть и реальная опора на moving platform наблюдаются ботом.
## Проверки, следующие из графов
1. Сохранять полный integrated device-regression: intended route принятых уровней по три раза и отдельный recovery route уровня 8.