Blueforce-Linux/docs
emirhanmamak-blueforce 2bad7fbb7f feat(console): application shell with overview, browser, drawer and safety UX
The console was a flat form: every control on the root window, 48 operations
as undifferentiated rows, a giant output textarea, privilege as a buried
sentence. It now has a shell: a fixed header band (product, target, device
state, privilege) plus a page body, and in detailed mode a sidebar with five
operation categories and an Activity page.

What changed (presentation layer only; _execute, gates, run_plan, audit and
redaction untouched):
- simple mode is an Overview: four state cards (target/device/privilege/
  inventory) plus Install/Status/Exit, instead of the raw form;
- the target is one segmented control (Device/Wave/Entire fleet) with a single
  scope source of truth; the dealer text can no longer silently override the
  wave, and the scope stays visible across pages;
- operations are browsed, not dumped: icon + name + explanation + scope/risk
  badges, with a detail panel (meta grid, warnings, options form, backend-built
  command preview on demand);
- destructive confirmations are dedicated dialogs showing OPERATION/TARGET/
  SCOPE/EFFECT with a fleet/production strip and focus on Cancel; the token
  dialog is styled; secrets never enter either;
- the output textarea is an execution drawer (IDLE/RUNNING with mm:ss /
  DONE-FAILED with duration and exit code) streaming the same backend output;
- write operations stay visible but disabled with their reason when
  unprivileged, in both entry points;
- new module bfos/ui_widgets.py (~490 lines, stdlib + tkinter only, no colour
  literals): canvas line icons, segmented control, collapsible panel, meta
  grid, timer, the two safety dialogs.

Tests: test_bfos_gui_static.py 95 OK, test_bfos.py 155 OK, run-all.sh 12/12.
The colour-literal test now also scans ui_widgets.py (proven by mutation:
a #ff0000 probe goes red, green after removal). Live QA: zero geometry errors
over 712 widgets, all 48 operations listed, 13 write ops disabled with reasons
without root, TUI and --list smoke-tested.

Known limits: no dark theme (tokens ready); the detail page's target line does
not refresh when the target changes mid-form (the confirmation dialog always
shows the current one); visual QA was geometry + OCR, not a human eye.
2026-09-16 23:21:41 +03:00
..
00-MASTER-PLAN.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
01-ARCHITECTURE.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
02-DEVICE-NAMING-AND-INVENTORY.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
03-UBUNTU-BASELINE.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
04-GOLDEN-IMAGE-AND-PROVISIONING.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
05-ONE-CLICK-INSTALLER.md feat(offline-repo): build the APT index so installs work without network 2026-09-16 21:42:27 +03:00
06-USERS-SSH-AND-PERMISSIONS.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
07-REMOTE-ACCESS.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
08-WIREGUARD-AND-NETWORK.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
09-FLEET-MANAGEMENT.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
10-UPDATE-AND-ROLLBACK-POLICY.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
11-SECURITY-HARDENING.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
12-DOCKER-OPERATIONS.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
13-MEG-LINUX-ACCEPTANCE.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
14-MONITORING-AND-HEALTH.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
15-LOGGING.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
16-POWER-LOSS-AND-AUTO-RECOVERY.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
17-BACKUP-RECOVERY-AND-REINSTALL.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
18-PILOT-AND-700-DEVICE-ROLLOUT.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
19-TROUBLESHOOTING.md feat(offline-repo): build the APT index so installs work without network 2026-09-16 21:42:27 +03:00
20-FIELD-TECHNICIAN-RUNBOOK.md feat(offline-repo): build the APT index so installs work without network 2026-09-16 21:42:27 +03:00
21-CENTRAL-ADMIN-RUNBOOK.md feat(offline-repo): build the APT index so installs work without network 2026-09-16 21:42:27 +03:00
22-DOCUMENTATION-PLATFORM.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
23-SECURITY-AND-LICENSE-AUDIT.md docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline 2026-09-15 17:03:02 +03:00
24-DECISION-LOG.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
25-IMPLEMENTATION-ROADMAP.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
26-BLUEFORCE-FIELD-OS-ISO.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
27-OFFLINE-PROVISIONING.md fix(offline): keep the package payload out of a clone, and say so when it is missing 2026-09-16 22:41:53 +03:00
28-WINDOWS-TO-LINUX-MIGRATION.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
29-DEVICE-ENROLLMENT.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
30-FIELD-OS-RELEASE-MANAGEMENT.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
31-LEARNING-GUIDE.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
32-REPOSITORY-AUDIT-AND-CONFLICTS.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
33-OPERATOR-CONSOLE.md feat(console): application shell with overview, browser, drawer and safety UX 2026-09-16 23:21:41 +03:00
34-CONSOLE-VISUAL-CONCEPT.md feat(console): application shell with overview, browser, drawer and safety UX 2026-09-16 23:21:41 +03:00
_TEMPLATE.md feat(field-os): provisioning layer, real ISO build, offline contracts 2026-09-16 11:14:42 +03:00
DESIGN.md feat(design): add the operator design system the two surfaces share 2026-09-16 22:20:15 +03:00
UI-REMAINING-WORK.md feat(web): add the central fleet panel the operator asked for first 2026-09-16 22:39:50 +03:00