diff --git a/docs/CODEX-HANDOFF.md b/docs/CODEX-HANDOFF.md index dcf5856..e03440a 100644 --- a/docs/CODEX-HANDOFF.md +++ b/docs/CODEX-HANDOFF.md @@ -48,9 +48,13 @@ GPT-6.1 Terra (энергетика, типизированная доставк Проверки объединённого состояния: core release **190 + 4 сценария**, 7 ignored; адаптер **60 + 1 boundary + 4 сценария**; лёгкий WASM **26 шагов**, тяжёлый **69 шагов**; -Git-регрессия и три теста failure report прошли. Тяжёлый профиль: 64 ПВО + 160 целей, +Git-регрессия и три теста failure report прошли. Исходный профиль запрашивал 64 ПВО + 160 целей, 602 tick / 300 frame; JSON фиксирует clean `aab3e78`, pin API27 и совпадающий build identity. Полные данные: [budget report](measurements/api27-wasm-budget.json). +**Исправление оценки покрытия:** второй запрос исходного 69-шагового сценария отклонялся во время +подготовки первого. Его успешный exit не подтверждает 160 запущенных или одновременно летящих целей. +В архивный JSON добавлена поправка; исправленный сценарий проверяет ответы. Для настоящего stress +также нужны ответы render-world: прежний sandbox их не давал и часто проверял лишь ожидание земли. Дополнительно два свежих профиля игры на Metal/no-audio: smoke off не ready, HD smoke ready; при HORIZON_ACOUSTICS=1 + HORIZON_NO_AUDIO=1 акустика enabled/request=true, prepared=false, diff --git a/docs/ENGINE.md b/docs/ENGINE.md index c48637f..e1aa105 100644 --- a/docs/ENGINE.md +++ b/docs/ENGINE.md @@ -93,8 +93,12 @@ python3 tools/test_airdef_build.py поскольку CLI читает только непосредственные `tests/*.toml`. Обычный `test-wasm` остаётся лёгким. Ручной workflow `.gitea/workflows/wasm-budget.yml` не добавляет нагрузку на каждый push. -Проверенный профиль: 64 комплекса, две перекрывающиеся волны по 80 целей на 4000 блоках, -602 вызова tick и 300 frame, 69 шагов. Это не полный лимит расстановки (2000) и не нагрузочный +Исходный профиль запрашивал 64 комплекса и две волны по 80 целей на 4000 блоках, +602 вызова tick и 300 frame, 69 шагов. Позднее обнаружено: второй заказ во время подготовки +первого отклонялся, а fixture не проверял ответ. Поэтому тот прогон **не доказывает перекрытие +160 целей**; сохранённый JSON помечен `coverage_correction`. Новый сценарий проверяет принятие +обоих заказов и отличает requested counts от неизвестного пика в воздухе. +Это не полный лимит расстановки (2000) и не нагрузочный тест GPU, mixer voices или всех физических world replies: sandbox не выполняет настоящий рендер/звук. Отчёт `.horizon-cache/wasm-budget-report.json` содержит SHA/dirty/diff AirDef, pin/identity движка, API/WIT/артефакт, проверку build identity, сценарий, Wasmtime и исходные memory/fuel limits. diff --git a/docs/measurements/api27-wasm-budget.json b/docs/measurements/api27-wasm-budget.json index bf40e28..a6a5bb0 100644 --- a/docs/measurements/api27-wasm-budget.json +++ b/docs/measurements/api27-wasm-budget.json @@ -20,6 +20,12 @@ "path": "airdef-mod/target/horizon-mod/build-identity.json" }, "command": "test-budgets", + "coverage_correction": { + "confirmed_peak_airborne": null, + "reason": "Second raid was requested during planning and not accepted; original fixture did not assert feedback. The runtime pass does not confirm 160 active or launched units.", + "second_raid_accepted": false, + "valid_double_raid_proof": false + }, "engine": { "identity": "c89c78c47047fcfc0dfb0b8968600c650bf12d2b", "pin": "c89c78c47047fcfc0dfb0b8968600c650bf12d2b" @@ -45,8 +51,8 @@ "frames": 300, "layout_unit_limit": 2000, "max_units_per_raid": 80, - "raid_units": 160, "raids": 2, + "requested_raid_units": 160, "scripts": 1, "steps": 69, "ticks": 602 diff --git a/horizon b/horizon index c89c78c..ed7615d 160000 --- a/horizon +++ b/horizon @@ -1 +1 @@ -Subproject commit c89c78c47047fcfc0dfb0b8968600c650bf12d2b +Subproject commit ed7615d362490f57bca5ac239c64eb9360913a4b