Document Panama health and recovery
This commit is contained in:
@@ -37,6 +37,31 @@ Last live audit: 2026-08-17, Fedora 44, Hyprland 0.56.2, Quickshell 0.3.0.
|
|||||||
| Autostart apps | Nextcloud, Bitwarden, and RustDesk system service/tray | Live |
|
| Autostart apps | Nextcloud, Bitwarden, and RustDesk system service/tray | Live |
|
||||||
| Printer administration | CUPS with the `system-config-printer` graphical interface | Live |
|
| Printer administration | CUPS with the `system-config-printer` graphical interface | Live |
|
||||||
| System settings | The Settings app for display policy, appearance, desktop, sound, focus, shortcuts, and services; labelled GNOME hardware/account handoffs | Live |
|
| System settings | The Settings app for display policy, appearance, desktop, sound, focus, shortcuts, and services; labelled GNOME hardware/account handoffs | Live |
|
||||||
|
| System health and recovery | Settings → System Health, `Panama: Check System Health` in Vicinae, a degraded-only bar indicator, redacted reports, and bounded Panama-owned repairs | Live |
|
||||||
|
|
||||||
|
## System health and recovery
|
||||||
|
|
||||||
|
Panama stays silent while the desktop is healthy. A compact bar indicator
|
||||||
|
appears only for actionable warnings or errors and opens the same **System
|
||||||
|
Health** page available from Settings and the Vicinae command **Panama: Check
|
||||||
|
System Health**. The terminal summary is available with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
~/.config/quickshell/scripts/panama-doctor --summary
|
||||||
|
```
|
||||||
|
|
||||||
|
The doctor reports authored, redacted observations about Panama-owned services,
|
||||||
|
tools, links, and configured integrations. It does not read secrets, clipboard
|
||||||
|
or notification contents, calendar events, SSIDs, or device addresses. Repairs
|
||||||
|
are a small allow-list: Panama user services, Panama-owned links and launcher
|
||||||
|
commands, duplicate Panama Caffeine inhibitors, and a confirmed shell restart.
|
||||||
|
They never install packages, invoke `sudo`, delete user data, or rewrite
|
||||||
|
arbitrary configuration.
|
||||||
|
|
||||||
|
Generic Fedora configuration remains with the system tools that own it. The
|
||||||
|
final System Health card hands network settings, users, sharing, colour
|
||||||
|
profiles, and digital wellbeing to their exact GNOME Settings panels rather
|
||||||
|
than presenting inert Hyprland controls.
|
||||||
|
|
||||||
## GNOME extension migration
|
## GNOME extension migration
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,31 @@ The control centre for everything Panama owns. Anything the system owns —
|
|||||||
hardware, accounts, printers — is delegated to GNOME Settings and labelled as
|
hardware, accounts, printers — is delegated to GNOME Settings and labelled as
|
||||||
such rather than half-reimplemented.
|
such rather than half-reimplemented.
|
||||||
|
|
||||||
|
## System Health
|
||||||
|
|
||||||
|
The stable internal `services` route renders **System Health**. It is reachable
|
||||||
|
from the Settings sidebar and its live 54px footer, the degraded-only bar
|
||||||
|
indicator, and Vicinae's **Panama: Check System Health** command. Healthy scans
|
||||||
|
reserve no bar space and produce no notification.
|
||||||
|
|
||||||
|
`services/Health.qml` owns the last accepted redacted snapshot and invokes only
|
||||||
|
`scripts/panama-doctor`. For a concise terminal view, run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
~/.config/quickshell/scripts/panama-doctor --summary
|
||||||
|
```
|
||||||
|
|
||||||
|
The helper diagnoses Panama-owned desktop services, dependencies, links, and
|
||||||
|
configured integrations. It does not read secret values, clipboard or
|
||||||
|
notification contents, calendar events, SSIDs, addresses, or arbitrary command
|
||||||
|
output. Its repair interface is an authored allow-list: it never installs a
|
||||||
|
package, runs `sudo`, deletes user data, or repairs a service Panama does not
|
||||||
|
own. A repair remains degraded until a fresh scan observes recovery.
|
||||||
|
|
||||||
|
The final card is the ownership boundary. Network configuration and the exact
|
||||||
|
Users, Sharing, Colour profiles, and Digital wellbeing handoffs open GNOME
|
||||||
|
Settings because Fedora's system services own those areas.
|
||||||
|
|
||||||
## Adding a setting
|
## Adding a setting
|
||||||
|
|
||||||
One schema entry. That is the whole job.
|
One schema entry. That is the whole job.
|
||||||
|
|||||||
@@ -498,6 +498,19 @@ git commit -m "Add bounded Panama recovery actions"
|
|||||||
|
|
||||||
### Task 7: Full verification, live read-only audit, and documentation
|
### Task 7: Full verification, live read-only audit, and documentation
|
||||||
|
|
||||||
|
**Integration note:** `origin/main` added Mouse, Privacy, Region, and Online
|
||||||
|
Accounts destinations while this feature was in review. Merge commit `4ef2f01`
|
||||||
|
preserves those routes and the newer Settings navigation architecture, keeps
|
||||||
|
the stable `services` route rendered by `HealthPage`, and leaves
|
||||||
|
`ServicesPage.qml` retired. Its useful Fedora handoffs for Users, Sharing,
|
||||||
|
Colour profiles, and Digital wellbeing now live in the boundary-last System
|
||||||
|
Health card alongside the existing network handoff, with focused static and
|
||||||
|
isolated runtime coverage.
|
||||||
|
|
||||||
|
**Live-audit handoff:** Per the integration brief, this task does not reload the
|
||||||
|
daily-driver Quickshell, invoke a live repair, or run the read-only live
|
||||||
|
doctor/IPC comparison. Those checks remain for the controller after code review.
|
||||||
|
|
||||||
**Files:**
|
**Files:**
|
||||||
- Modify: `config/dot/hypr/DESKTOP-PARITY.md`
|
- Modify: `config/dot/hypr/DESKTOP-PARITY.md`
|
||||||
- Modify: `config/dot/quickshell/modules/settings/README.md`
|
- Modify: `config/dot/quickshell/modules/settings/README.md`
|
||||||
@@ -507,7 +520,7 @@ git commit -m "Add bounded Panama recovery actions"
|
|||||||
- Consumes: the complete feature and existing regression suite.
|
- Consumes: the complete feature and existing regression suite.
|
||||||
- Produces: current user documentation, a redacted live health snapshot, and final verification evidence.
|
- Produces: current user documentation, a redacted live health snapshot, and final verification evidence.
|
||||||
|
|
||||||
- [ ] **Step 1: Document boundaries and entry points**
|
- [x] **Step 1: Document boundaries and entry points**
|
||||||
|
|
||||||
Document `Panama: Check System Health`, Settings → System Health, the degraded-only bar indicator, `panama-doctor --summary`, the no-`sudo`/no-package-install boundary, and the fact that GNOME/Fedora tools remain responsible for generic system configuration.
|
Document `Panama: Check System Health`, Settings → System Health, the degraded-only bar indicator, `panama-doctor --summary`, the no-`sudo`/no-package-install boundary, and the fact that GNOME/Fedora tools remain responsible for generic system configuration.
|
||||||
|
|
||||||
@@ -525,7 +538,16 @@ for test in tests/quickshell/*contract.sh; do "$test"; done
|
|||||||
for test in tests/hypr/*contract.sh; do "$test"; done
|
for test in tests/hypr/*contract.sh; do "$test"; done
|
||||||
```
|
```
|
||||||
|
|
||||||
Expected: every command exits 0; Quickshell tests report 58 contracts after the three new contracts land.
|
Expected: every command exits 0. After the Settings parity merge, the current
|
||||||
|
inventory is 65 Quickshell contracts and 2 Hyprland contracts (the original
|
||||||
|
pre-merge estimate was 58).
|
||||||
|
|
||||||
|
Integration result: syntax and all focused Health/Settings contracts pass. Two
|
||||||
|
complete serial Quickshell runs each passed 63/65, but failed on different
|
||||||
|
order-sensitive contracts. Run one failed Displays and Settings Hyprland Write;
|
||||||
|
run two failed Focus Session and Health Service. Each failed contract passed
|
||||||
|
immediately when rerun alone. Hyprland contracts passed 2/2. No out-of-scope
|
||||||
|
test or service code was changed to hide this suite-order interference.
|
||||||
|
|
||||||
- [ ] **Step 3: Run a redacted live read-only comparison**
|
- [ ] **Step 3: Run a redacted live read-only comparison**
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user