kk0t9
aaae0508b9
feat(v0.3): Power-сервис на FSM — dev-mock кормит события, grace+durable-barrier
...
P7.2: service.rs оборачивает PowerFsm — D-Bus state/signals из FSM; apply_event
исполняет действия (эмит сигналов, фоновый grace-таймер, durable-barrier sync).
dev-mock SetAcc/SetIgnition/TriggerShutdown/AbortShutdown кормят входы FSM.
FSM: AccOff → AccChanged(false)+ShutdownImminent (сохранён walking-skeleton-регресс).
Integration: ShutdownImminent + abort. zbus → tokio-executor (default-features=false,
features=["tokio"]) — иначе tokio::spawn в хендлере паникует (async-io). test-integration
--test-threads=1 (тесты владеют одним именем на шине).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 23:17:13 +03:00
kk0t9
2442f091d2
feat(v0.2): splash-frame + lima/E2E раскладка Stage 0/1/2
...
P6.4: just splash-frame; lima yaml ставит stage0/1/2.target + tmpfiles
(splash/warmup ловит glob *.service). run.sh: install splash-бинаря, раскладка
новых юнитов+tmpfiles, блок «Stage 0/1/2 разделены» (3 таргета reached, splash.png
до frame.png, stage2.ready после, systemd-analyze лог). Убран restart shell
(ломал бы порядок warmup-после-кадра — фазовый старт рендерит всё по порядку).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 20:12:02 +03:00
kk0t9
9b87751ab8
feat(v0.6): Lima E2E зелёный с нуля + shell software-render screenshot
...
План 5 ч.2: поднял Lima-VM и довёл сквозной E2E до зелёного из чистого yaml
(just vm-reset && just e2e — exit 0). Приёмка §9.4 (v0.1 + v0.6 + шагающий скелет).
Shell (lib+bin split):
- режим --screenshot <path>: headless software-render первого кадра в PNG
(Slint software-renderer, без дисплея/композитора, §6); TDD-тест «кадр не
пустой + тема отражена», зелёный и на dev-Mac, и в VM (Linux).
- shturman-shell.service → oneshot software-render → /run/shturman/frame.png
(RemainAfterExit → is-active детерминированно, без хрупкого weston;
живой weston-shell — v0.5). just shell-frame — инспекция кадра.
E2E (tests/e2e/run.sh, двухфазно pre→reboot→post):
- /data+power-safe опции, volatile-tmpfs, first-boot идемпотентность, per-unit
active, имена на шине + GetPowerState, fake-ACC SetAcc→AccChanged, первый кадр
PNG, base-бюджеты (journald volatile / zram / oomd / fake-hwclock→/data /
eMMC-прокси), персист Settings + machine-id every-boot bind после reboot.
Провижининг (lima/shturman.yaml) — правки по реальным ошибкам Lima:
- build-deps Slint/winit на Linux (libfontconfig1-dev/libxkbcommon-dev/libwayland-dev);
- linux-modules-extra (zram/vcan не в vz-ядре); systemd-oomd; rm стокового
/etc/fake-hwclock.data (A11); VM-локальный CARGO_TARGET_DIR.
Док-синхронизация (спека §13/§8.1/§7.5 + CLAUDE.md): швы реализации, eMMC-порог
T=4096 сект, fake-hwclock masked-в-Lima, dev-mock policy не нужен.
Перф-вердикт — на RK3588 (в VM — функционально, performance §2). just ci зелёный.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 17:14:31 +03:00
kk0t9
bc2c0b8cfd
feat(harness): systemd-юниты + Lima-конфиг + E2E-харнесс (файлы)
...
systemd/ (target/data.mount/firstboot/machineid/power/settings/shell + dbus-policy + journald/zram/oomd):
ordering data.mount->firstboot->machineid->dbus->power+settings->shell; Requires+After firstboot; OOMScoreAdjust.
lima/shturman.yaml (vz, Ubuntu ARM64, /data loopback, провижининг). tests/e2e/run.sh (каркас приёмки).
justfile: vm-up/down/reset/shell, run, e2e, shell-frame. Валидация — часть 2 (поднятие Lima).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 13:26:45 +03:00
kk0t9
9d0b5b5aa7
feat(devtools): scaffolding (just new-plugin) + just-таргеты
...
templates/plugin (валидный манифест+locales+README); new-plugin генерит и валидирует;
validate-manifest / plugin-dev-run (каркас, App-Host v3) / sim (плейсхолдер v2). plugins/ — в .gitignore.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 13:22:16 +03:00
kk0t9
ce525dd622
test(core): интеграция Settings/Power на session-шине (#[ignore])
...
Settings round-trip + Changed; Power state + fake-ACC AccChanged — на живой D-Bus.
just test-integration (dbus-run-session). #[ignore] → just ci (unit) не требует шины.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 12:51:07 +03:00
kk0t9
54f17cbf4e
chore(dev): justfile (ядро) + CI-гейт (lint/test/deny) + rustfmt
...
just ci зелёный: fmt + clippy(-D warnings) + 6 unit-тестов common + cargo-deny.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 12:01:04 +03:00