Blueforce-Linux/tests
emirhanmamak-blueforce 8299481627 feat(console): group the operator console and give it a type and colour system
The console was a default-grey tkinter window: no grouping, no state colour, no
type scale, the privilege warning buried inside a monospace paragraph beside the
repository path, "Çık" offered twice at two different sizes, and an output area
that looked editable. The catalogue is 48 operations, 13 of them destructive, so
the screen an operator actually reads before touching a fleet was the one surface
with no hierarchy at all.

Adds bfos/ui_theme.py, which mirrors web/static/tokens.css value for value --
the two surfaces describe the same fleet and must not disagree about what a
colour means. It selects the `clam` theme because that renderer honours
background/bordercolor on the elements being restyled; note that theming an
element is not the same as redesigning a control, and the remaining gap is
recorded in docs/UI-REMAINING-WORK.md rather than claimed as finished.

What the redesign changes:
- sections get headed regions instead of floating on the root background;
- the privilege level becomes a header element and a banner, not a sentence;
- one exit action, not two;
- write operations are disabled with their reason visible when unprivileged,
  rather than hidden or silently listed;
- the output well is styled as the read-only evidence it is.

Tests: tests/test_bfos_gui_static.py moves to the new contract (68 -> assertions
updated, none deleted); tests/test_bfos.py still 155/155, which is the check that
the CLI and backend contracts survived a UI rewrite.
2026-09-16 22:38:01 +03:00
..
.gitkeep docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
check-admin-static.sh feat(install): internet-free install flow, auto-discovered local packages 2026-09-16 16:53:24 +03:00
check-ansible-static.sh feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
check-configs.sh feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
check-migration-static.sh feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
check-offline-repo-static.sh fix(offline-repo): commit the bundle pool policy and the guard for it 2026-09-16 22:14:27 +03:00
check-provisioning-static.sh feat(offline-repo): ship the reviewed package set so installs never download 2026-09-16 19:03:45 +03:00
check-specs.sh feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
qemu-field-os-test-plan.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
run-all.sh feat(bfos): Python operator console, Turkish UI, committable offline packages 2026-09-16 16:15:27 +03:00
semaphore-community-limits.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
test-field-os-lifecycle.sh feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
test-firstboot-static.sh feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
test_bfos.py feat(offline-repo): build the APT index so installs work without network 2026-09-16 21:42:27 +03:00
test_bfos_gui_static.py feat(console): group the operator console and give it a type and colour system 2026-09-16 22:38:01 +03:00