feat(2-7): operational radar loop, startup screen, and systemd wiring

Implements story 2-7: full main.py with _make_startup_screen(),
_run_one_cycle() with per-phase timing and slow-render warning, and
main() connecting config → bounds → fetcher → renderer → display.
Adds provision.py early-exit when already provisioned. Adds User=root
to both systemd service files. Adds tests/test_main.py (3 new tests,
99 total). Updates scaffold test to allow provisioning.config import
from main.py. All quality gates pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Matt Edholm
2026-04-22 23:40:37 -04:00
parent cbe87d36f9
commit 9f6d442df8
9 changed files with 164 additions and 32 deletions
+1
View File
@@ -5,6 +5,7 @@ After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/planemapper-provision
User=root
StandardOutput=journal
StandardError=journal
RemainAfterExit=yes