# ИНЖЕНЕРНЫЙ ПАРАМЕТР · закон I-11 «ПАРАМЕТР»

> Такт v1.44.0 «ПОЛИМАТ» · 2026-10-06. Происхождение: инженерный разбор
> ЛАДОМ v9.6 («ПАСПОРТ ДОМА — RUVSON · „Просто люби“») и приказ
> владельца «влить всё разом». Машиночитаемая копия закона — в
> `ДОКУМЕНТЫ/СВОД_ЗАКОНОВ.json`; тест — `ИНСТРУМЕНТЫ/test_s31_ladom.py`.

## 1. Инвариант

**Изменение представления не уменьшает множество доступных человеку
функций и параметров.**

Цепочка каждого параметра:

```text
PARAMETER → DISCOVERABLE → INSPECTABLE → CONTROLLABLE → PERSISTENT → REVERSIBLE
```

Параметр, который нельзя найти, посмотреть, поменять руками, сохранить
и откатить — не параметр, а каприз системы. Простота — это режим
представления (`simple`), а не урезание множества возможностей: `full`
всегда не меньше `simple`. Это тот же инвариант, что и у лица дома:
«Что хотите сделать?» — и всегда рядом «Я сам».

## 2. Терминология (бытовая → инженерная)

| Было              | Стало                                    |
|-------------------|------------------------------------------|
| пульт             | Parameter Control Subsystem              |
| настройки         | configuration parameters                 |
| здоровье          | Technical State Diagnostics              |
| память вечера     | persistent user state                    |
| голосовые команды | speech input adapter                     |
| озвучка           | speech synthesis subsystem               |
| одна кнопка       | unified interaction channel              |
| сцена             | configuration profile                    |
| юстировка         | parameter calibration                    |
| свет↔звук         | audiovisual temporal synchronization     |
| конструктор       | parametric configurator                  |
| лаборатория       | extended configuration subsystem         |
| джокер            | alternative configuration generator      |
| вечер             | usage session                            |

## 3. Capability-цепочка (честная проверка возможностей)

```text
API_PRESENT → RUNTIME_REQUEST → RUNTIME_RESULT → VERDICT
```

Наличие API в навигаторе ещё не доказывает, что возможность реально
работает: Wake Lock требует secure context и видимости, SpeechRecognition
и Media Session поддержаны не везде. VERDICT ставится только по факту
запроса в рантайме. `UNKNOWN ≠ FAIL`: незнаем — говорим «незнаем».

## 4. Базовые документы (ISO/IEC-aligned профиль, не «ISO compliant»)

- **ISO/IEC 25010:2023** — модель качества продукта: требования,
  проектирование, тестирование, критерии приёмки.
- **ISO/IEC 25019:2023** — quality-in-use: система в её контексте
  использования.
- **ISO/IEC 25020:2019** — каркас измерений качества: выбор и
  документирование метрик.
- **ISO 9241-210:2019** — human-centred design на всём жизненном цикле.
- **WCAG 2.2** — действующая W3C Recommendation доступности веба.

## 5. Дисциплина критики: PROBLEM → ALTERNATIVE → WHY → TEST

Каждое замечание к baseline живёт только в паре с альтернативой и тестом.

- **Embedded media.** PROBLEM: 5,7 МБ медиагрузки внутри программного
  документа. ALTERNATIVE: отдельный ассет + манифест. WHY BETTER: независимое
  кэширование, замена, контрольная сумма. ТЕСТ: офлайн-закон дома всё равно
  держит медиа у человека — здесь пока baseline 1:1, решение за владельцем.
- **Capability detection.** PROBLEM: `"wakeLock" in navigator → PASS`
  доказывает только наличие имени. ALTERNATIVE: цепочка из §3. WHY: имя ≠
  работающая возможность. ТЕСТ: тест двери прогоняет цепочку в браузере
  (браузерная часть — отдельная дисциплина, см. `test_s30_browser.py`).

## 6. Что зафиксировано в baseline (факты, не оценки)

Baseline v10.7 (файл ныне `СИНГУЛЯР_31_ЛАДОМ.html`) = **5 723 784 байта**, 11 `<script>`-блоков,
1 `<style>`-блок, встроенный аудиоресурс; внутри уже живут persistence,
JSON import/export, клавиатурное управление, диагностические подсистемы,
Speech Recognition, Speech Synthesis, MediaRecorder, Wake Lock. Большой
единый файл — не приговор: функциональная сложность сохраняется, а
структурная связанность снижается архитектурой

```text
Presentation → Application/Domain → State + Parameter Registry →
Capability Adapters → Browser/OS
```

33-файловый инженерный прототип (SHA-256
`8d0abeed2ef548bfeeacb1e7a1b11983834085e46f997836bd503023cd4e72a8`) —
рабочая заготовка этой архитектуры: 5/5 unit-тестов и 8/8 статических
проверок архитектуры пройдены; честные UNKNOWN перечислены в его
release gate. В дом он входит дверью ·31 в форме baseline 1:1 — новые
модули не пишутся, пока существующий не встал адаптером на примитивы.

## 7. Где закон живёт в доме

- `СИНГУЛЯР_31_ЛАДОМ.html` — Parameter Control Subsystem двери;
- `СИНГУЛЯР_31_ЛАДОМ.html` — слой дома «⌇ ПУЛЬТ I-11»: реестр ключей
  baseline (kv.prefs / kv.pos / kv.best) с посмотреть/править/откатить,
  стопкой откатов в sessionStorage, выгрузкой дампа и сбросом с согласия
  человека; ноль сети, ноль eval; доказано прогоном в живом браузере
  (запись 15 → откат → прежнее значение);
- `index.html` — лицо дома: «Что хотите сделать?» + «Я сам»;
- `singulyar-modules.js` — `SNG.намерение()` / `SNG.событие()`:
  поиск только по манифесту, факты без слов человека;
- `ДОКУМЕНТЫ/СВОД_ЗАКОНОВ.json` — машиночитаемая запись I-11.
