ПрактикаГлава 50 / 51

Рабочие карты и словарь

Как проверять сборку без пропущенных мелочей?

Каждая карточка испытания связывает конфигурацию, наблюдение и решение о следующем шаге. Заполненные результаты позволяют воспроизвести проверку и оценить готовность системы.

Эти карты предназначены для работы у стола. Каждая заканчивается наблюдаемым результатом и действием при отклонении. Проверки стоит отмечать вместе с ревизией платы, прошивкой и условиями — иначе повторный успешный тест трудно сравнить с первым.

Словарь в конце главы возвращает техническим словам простой смысл. Он не заменяет объяснение в тексте, но помогает быстро восстановить контекст, когда вы вернулись к книге через несколько недель.

Единая шапка протокола#

Для любой проверки записываются 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-01Pin, приглашение, перенос, отзыв, старый backupПолитика ключей; отрицательные handshake на стенде
MCU-01TLS 1.3 + BLE + KQIP + rollbackВерсии, sdkconfig, partition table, heap/стек
D-01ENOSPC, fsync, retention, запись основанийБД до/после; нет ложного ACCEPTED
H-01 / ACO-01Температура, фильтр, шум и микрофоныИсходные условия, временные ряды, записи
APP-01Android/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
KQIPKoobique 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, влияющий на режимы экономии и задержки

Найти в книге

Поиск по всем главам, схемам и техническим разделам.