kk0t9
b9500356b0
docs(v0.3): синхронизация швов power-safe + статус
...
Двунаправленные швы (спека v0.3 §10) после реализации Плана 7:
- domain B: banner «Реализация (v0.3)» (B01–B07, VM-модель abort/PONR=stop+umount+remount);
§12 — MCU/supercap (B08/B09) → v0.4.
- ipc.md §3: Power оживлён из FSM (не mock); Sleep/Wake/RequestSleep зарезервированы.
- foundation §5.2: «Power-стаб» → реальный PowerFsm (проекции state/ignition/source из FSM);
dev-mock кормит входы FSM.
- CLAUDE.md: статус v0.3 ГОТОВО; «Следующее» → v0.5 shell / v0.4 MCU-thermal.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-25 00:21:10 +03:00
kk0t9
598070de96
docs(v0.3): план реализации power-safe (План 7)
...
P7.1 чистый PowerFsm (TDD, все переходы) → P7.2 Power-сервис на FSM
(dev-mock кормит события, grace-таймер + durable-barrier sync, integration abort) →
P7.3 watchdog-конфиг + save-time timer → P7.4 lima/E2E блок (N=3 цикла + abort +
power-cut-сим) → P7.5 verify Lima + acceptance + швы. Полный код, без плейсхолдеров.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 20:58:38 +03:00
kk0t9
4fe5103e88
docs(v0.3): спека power-safe ядра (FSM + graceful shutdown)
...
Веха v0.3: стаб Power → реальный lifecycle-FSM. Состояния off/accessory/running/
shutting_down{abortable,committed} (sleep/battery_cutoff — каркас); graceful
shutdown (ShutdownImminent→grace→durable-barrier sync→commit=PONR=unmount); abort
до PONR (re-power→ShutdownAborted). dev-mock кормит входы FSM. Watchdog/save-time/
монотоника. Подход A: FSM+сигналы, teardown через systemd/харнесс. Гибрид-E2E:
N=3 in-VM цикла + 1 reboot + abort + power-cut-сим. HW (hold-up/MCU/B08-B09) — v0.4.
Красные линии: Power не трогает CAN, без actuator (#2 ).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 20:51:58 +03:00
kk0t9
fd5c5c2dd5
docs(v0.2): синхронизация швов boot-конвейера + статус
...
P6.5: CLAUDE.md — v0.2 ГОТОВО, следующее v0.3/v0.5 параллельно поверх v0.2.
a-base §4 — dev-VM Stage 0/1/2 = фазовые таргеты + shturman-splash (software-render),
U-Boot framebuffer/A-B/secure-boot — HW (VM↔HW-граница). v0.1-v0.6 спека §13 —
шов «shturman.target → зонтик; critical set → stage1.target».
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 20:20:32 +03:00
kk0t9
e841c082b3
docs(v0.2): план реализации boot-конвейера (План 6)
...
P6.1 общий рендер-хелпер shturman-render (рефактор из shell) →
P6.2 shturman-splash (Stage 0) → P6.3 фазовые systemd-таргеты + splash/warmup +
зонтик → P6.4 justfile/lima/E2E-блок Stage 0/1/2 → P6.5 verify в Lima + acceptance.
TDD-шаги с полным кодом, без плейсхолдеров. Self-review: покрытие спеки полное.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 19:57:36 +03:00
kk0t9
9a3b6a8753
docs(v0.2): спека boot-конвейера (Stage 0/1/2 + splash)
...
Веха v0.2: рефактор плоского shturman.target в фазовый конвейер.
- Stage 0: shturman-splash (Slint software-render → splash.png, до первого кадра);
- Stage 1: критический набор v0.1 → shturman-stage1.target (без изменений тела);
- Stage 2: shturman-stage2-warmup (oneshot-плейсхолдер, после кадра);
- shturman.target → зонтик; общий headless-render хелпер из shell переиспользует splash.
D-Bus-поверхности нет (фазы — systemd). Splash в VM = software-render PNG
(U-Boot framebuffer — HW, шов §10). Тайминг <10c — функц. в VM, вердикт на RK3588.
Приёмка: фазы разделены + splash до кадра + warmup после + регресс v0.1/v0.6 зелёный.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 19:51:49 +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
a9aad21636
chore: убрать GitHub-Actions CI (триггерит Gitea) + CLAUDE.md цель → Lima E2E
...
- удалён .github/workflows/ci.yml: self-hosted Gitea ловит GitHub-Actions-формат, не нужно.
Активный гейт — локальный just ci; авто-CI на Gitea — решение позже.
- CLAUDE.md § «Текущая цель»: фундамент (Планы 1–5 ч.1) в main; следующее — A (Lima E2E, План 5 ч.2).
- spec §8.3 — пометка об удалении CI.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 14:50:59 +03:00
kk0t9
20ee069059
docs(specs): План 5 — dev-tools + systemd + Lima + E2E
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 13:19:08 +03:00
kk0t9
75a7132864
docs(specs): План 4 — shturman-shell первый Slint-кадр
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 12:56:13 +03:00
kk0t9
afa1afa970
docs(specs): План 3 — стаб-сервисы firstboot/settings/power + интеграция
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 12:33:51 +03:00
kk0t9
df553790ae
docs(specs): План 2 — shturman-ipc (контракт) + shturman-sdk (клиент)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: Alexander <akotenev2003@gmail.com >
2026-06-24 12:05:30 +03:00
kk0t9
d443fb479b
docs(specs): спека реализации v0.1/v0.6 (v1) + План 1
...
Спека после adversarial-ревью (17 находок) + позиция Slint (вариант A, финал отложен к v4).
План 1 — воркспейс + governance + shturman-common (TDD).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 11:47:49 +03:00