Рабочие карты и словарь
Как проверять сборку без пропущенных мелочей?
Каждая карточка испытания связывает конфигурацию, наблюдение и решение о следующем шаге. Заполненные результаты позволяют воспроизвести проверку и оценить готовность системы.
Эти карты предназначены для работы у стола. Каждая заканчивается наблюдаемым результатом и действием при отклонении. Проверки стоит отмечать вместе с ревизией платы, прошивкой и условиями — иначе повторный успешный тест трудно сравнить с первым.
Словарь в конце главы возвращает техническим словам простой смысл. Он не заменяет объяснение в тексте, но помогает быстро восстановить контекст, когда вы вернулись к книге через несколько недель.
Единая шапка протокола#
Для любой проверки записываются ID сборки, дата, версии железа и прошивки, схема подключения, используемый источник питания, температура помещения, измерительные приборы и исходное состояние. Итог — PASS, FAIL или INCONCLUSIVE с приложенными данными. «Не удалось воспроизвести» не превращается в PASS.
M-01 · Механика и обслуживание#
Проверить диагонали рамы, посадку панелей без напряжения, удержание плат, безопасные края и отсутствие металлической стружки. Извлечь и вернуть фильтр пять раз. Снять SSD и отсоединить плату в предусмотренной последовательности. Проверить, не натягиваются ли кабели, не падают ли винты внутрь, не касаются ли лопасти решётки при лёгкой деформации панели.
Результат содержит фотографии закрытого и открытого корпуса, список крепежа и отклонения размеров. При обнаружении перекоса исправляется рама или чертёж, а не применяется более сильная затяжка.
E-01 · Электрика и холодный старт#
Без исполнительной нагрузки выполнить серию включений, reset MCU, входа в загрузчик и потери Wi-Fi. Осциллографом или логическим анализатором наблюдать линию управления; отдельно контролировать фактическое состояние контакта безопасным способом. Отсутствие видимого вспыхивания лампы не доказывает отсутствия короткого импульса.
Затем подключить лампу 12 В, измерить ток, напряжение у узла и нагрев соединений при длительной работе. Проверить ручную кнопку без сервера. Фиксировать не только успешные циклы, но и min/max напряжения и причины reset.
N-01 · Сеть и доверие#
Проверить обычный домашний Wi-Fi, перезапуск роутера, другой адрес DHCP, гостевую сеть с изоляцией и неверный пароль. Приложение должно различать отсутствие сети, отсутствие станции и отказ аутентификации. После замены роутера не теряются ни владелец, ни идентичность устройств.
Отдельно проверить публичный PKI-профиль с неверным сроком, локальный pin-профиль с чужим ключом и неверной подписью, отозванного пользователя и старт без UTC. Проверка trustAll считается провалом. Недоступность VPS не должна останавливать локальный контур. Срок сертификата в pin-профиле не тестируется как скрытая универсальная настройка TLS.
F-01 · Физическая логика#
Использовать истории главы 44. В каждой сохранять исходные наблюдения, вычисленное состояние, активную политику, причину команды и её результат. Проверить, что запоздавшая история не превращается в живой вход, Unknown не равен Empty, а собственная лампа не создаёт цикл ON/OFF.
Успех — не одно эффектное включение, а понятное поведение при дневном свете, неподвижном человеке, ручном вмешательстве и неисправном датчике. Новая физическая модель сначала работает в режиме наблюдения без исполнительных полномочий.
V-01 · Голос RU/EN#
Корпус фраз содержит разные формулировки, отрицания, названия похожих объектов и фоновые разговоры. Для каждого примера есть ожидаемое намерение, объект либо необходимость уточнения. Примеры: «включи основной свет», «освещение включи», «не включай подсветку», «turn on the desk light», «turn off the backlight».
Проверяются выносной микрофон, телефон, несколько расстояний и разные обороты вентиляторов. Отдельно фиксируются неверное действие, неверный объект, отказ распознавания и задержка. Случай, когда текст распознан неточно, но намерение верно, отличается от грамматически красивого текста с опасным действием.
R-01 · Обновление и восстановление#
На тестовом накопителе прервать доставку пакета и запись неактивного раздела, запустить неисправный образ, заполнить раздел истории и восстановить архив. Проверить сохранность доверия, отсутствие двух активных контроллеров, совместимость схемы данных и возможность локальной диагностики без интернета.
Данные, которыми нельзя рисковать, предварительно выносятся из стенда. Отключение питания выполняется контролируемо, без вскрытия сетевого БП. Тест считается завершённым только после повторной работы физического сценария, а не после появления приглашения SSH.
Краткий словарь#
| Термин | Значение в Koobique |
|---|---|
| Capability | Отдельная возможность устройства: измерять lux, принимать set(on), сообщать нажатие |
| Desired state | Намерение получить состояние; ещё не подтверждённая физическая реальность |
| Reported state | Состояние, которое сообщил узел; его смысл зависит от наличия обратной связи |
| Observation | Измерение с источником, единицей, временем и качеством |
| Estimate | Вычисленная оценка, например присутствие; не приравнивается к сырому измерению |
| Stale | Данные слишком старые для текущего решения, даже если последнее значение выглядит правдоподобно |
| Boot ID | Идентификатор загрузки, разделяющий эпохи монотонных часов устройства |
| Monotonic clock | Шкала длительностей; Linux MONOTONIC не включает suspend, BOOTTIME включает; reboot задаёт новую привязку |
| Idempotency | Свойство операции при повторе; не заменяет дедупликацию и защиту последующего ручного вмешательства |
| Outbox | Запись для последующей доставки, созданная в той же транзакции, что принятие команды |
| Fencing | Устройство принимает только назначенный владельцем controller key/fence; один счётчик не доказывает владение |
| ManualOverride / lease | Ручной режим может быть бессрочным; lease — отдельный вариант с оговорённым сроком |
| Golden vector | Зафиксированные байты и ожидаемый результат для проверки совместимости кодеков |
| Backpressure | Ограничение входного потока, когда потребитель не успевает обработать данные |
| HIL | Проверка программной системы с реальным железом в испытательном контуре |
| RTF | Время обработки аудио, делённое на длительность записи; не вся задержка голосового ответа |
| VAD / AEC | Обнаружение речи / подавление эха с учётом воспроизводимого сигнала |
| Pull-up | Подтяжка линии к питанию через сопротивление; часть электрической схемы, не «ускоритель» |
| Термин | Значение в Koobique |
|---|---|
| Open drain | Выход, который активно тянет линию вниз; высокий уровень формируется отдельно |
| Return path | Путь возвратного тока, влияющий на петлю сигнала, помехи и целостность фронта |
| Working point | Реальные давление и расход вентилятора с данным трактом, а не максимальный CFM |
| A/B update | Установка в неактивный системный раздел с пробным запуском и подтверждением |
| Secure boot | Проверка разрешённой загрузочной цепочки; сама по себе не шифрует все данные |
| Local-first | Основная логика и данные доступны локально; внешние службы не являются единственным мозгом системы |
Что считать первым законченным экземпляром#
Станция и устройства запускаются по сохранённой конфигурации, приложение подключается без переключения повседневной Wi-Fi-сети, световой сценарий работает без интернета, ручная кнопка сохраняет смысл при отказе сервера, а обновление и восстановление не требуют угадывать скрытые действия автора.
Следующий экземпляр повторяется по зафиксированным файлам и монтажным картам. При этом реальные номера деталей, размеры, замеры и результаты заменяют проектные предположения. Именно эта замена, а не увеличение числа страниц документа, превращает исследование в инженерно проверенную систему.
Индекс проверок#
| Карта | Что воспроизводит | Артефакт |
|---|---|---|
| Q-01 | Дедуп, версии, поздний ACK, cache eviction | Трассы reference tests; затем MCU/Core |
| T-01 | Срок в дороге, suspend, reboot, UTC ±1 год | Четыре метки и причины отказа |
| S-01 | Pin, приглашение, перенос, отзыв, старый backup | Политика ключей; отрицательные handshake на стенде |
| MCU-01 | TLS 1.3 + BLE + KQIP + rollback | Версии, sdkconfig, partition table, heap/стек |
| D-01 | ENOSPC, fsync, retention, запись оснований | БД до/после; нет ложного ACCEPTED |
| H-01 / ACO-01 | Температура, фильтр, шум и микрофоны | Исходные условия, временные ряды, записи |
| APP-01 | Android/iOS, NSD, FFI, отзыв, доступность | Видео сценария и журнал без секретов |
| S/P/A-01 | Монтаж датчиков, присутствия и реле | Точная BOM, схема, фото, электрические замеры |
Референсный тест Python в комплекте проверяет выбранную семантику модели, а не реальную сеть, TLS или прошивку. PASS переносится на реализацию только после воспроизведения тех же историй на Core/MCU. Неисполненные аппаратные карты остаются OPEN. Так зелёный тест документа не становится ложным разрешением на постоянную эксплуатацию.
Дополнения к единому словарю#
| Термин | Смысл |
|---|---|
| E0 / E1 / E2 | Лабораторный контур / автономная проверенная установка / повторная сборка и перенос |
| H0…H5 | Существующий ПК, mini-PC, Mini-ITX, Pi, Jetson, Hub + worker |
| KQIP | Koobique Interface Protocol; собственный прикладной договор |
| BOOT_INHIBIT | Запрет автоматики после запуска MCU до явного освобождения |
| ManualOverride | Отдельный ручной режим; E0 без автоматического истечения |
| controller_fence | Устойчивое назначение конкретного controller key владельцем |
| output_revision / manual_revision | Версии выхода и намерения в конкретном boot_id |
| Durable ACK | Подтверждение сохранения, а не только получения байтов |
| CBOR / COSE | Двоичное представление / стандартный контейнер подписи |
| WAL / OTA / TUF | Журнал БД / обновление устройства / защита метаданных обновления |
| Gate / допуск | Проверка условий; её независимость нужно указывать явно |
| QVL / VRM / EPS / PPT | Проверенные компоненты / питание CPU / его разъём / лимит мощности |
| DTIM | Параметр Wi-Fi, влияющий на режимы экономии и задержки |