feat(qtile): RAGE topology-aware desktop control plane #109

Merged
lost-rob0t merged 16 commits from rage-qtile-control-plane into master 2026-08-22 22:19:58 +00:00
lost-rob0t commented 2026-08-22 22:13:22 +00:00 (Migrated from github.com)

RAGE pass

Closes the architectural failure behind the cloned Qtile bars instead of stacking another one-off widget patch.

Tracks #106, #107, #108.

Screen roles

  • Dynamic geometry-based roles for N=1,2,3,4+ monitor layouts.
  • Center: OpenRouter balance + TPM + graph, Pomodoro, Agent Zero, clock/volume, the one Systray.
  • Left: current Org clock, TODO popup, workflow picker.
  • Right: MPRIS only.
  • Aux: minimal bar.
  • Distinct active-screen accent per physical role.
  • Weather removed from the active runtime bar.

OpenRouter correctness

  • Restore the credit/balance widget and its <$5 / <$10 / healthy thresholds.
  • Query a fully closed minute with explicit minute granularity instead of a moving partial bucket.
  • Reject truncated/malformed/negative/implausible readings.
  • Deduplicate identical analytics buckets.
  • Keep the last trusted sample as visibly stale when fresh telemetry is garbage.
  • Prevent the graph from adding the same minute 12 times.
  • Cover the reported ~165M TPM regression.

Emacs + Agent Zero control plane

  • Compact Emacs TODO and Agent Zero scratch frames.
  • Current clock task polled off Qtile's event loop.
  • Emacs-native completing-read workflow selector.
  • Role-based workflows survive monitor-count changes.
  • Agent Zero uses documented POST /api_message + X-API-KEY, asynchronously via url-retrieve, preserving context_id.
  • Host and secrets live in env or ignored ~/.config/qtile/private.env; only a placeholder example is tracked.
  • Second review caught and fixed the Emacs url-retrieve callback argument order before merge.

Verification

  • 41 focused unit/structural tests pass locally.
  • Python syntax compilation passes for the new/reworked helpers.
  • Literate qtile-openrouter.org is synchronized with the tangled runtime.

The remote pivpn-credential ref was also reviewed during this pass: it currently points to the already-merged PR #103 commit and has no unique PiVPN credential diff to merge.

## RAGE pass Closes the architectural failure behind the cloned Qtile bars instead of stacking another one-off widget patch. Tracks #106, #107, #108. ### Screen roles - Dynamic geometry-based roles for N=1,2,3,4+ monitor layouts. - Center: OpenRouter balance + TPM + graph, Pomodoro, Agent Zero, clock/volume, the one Systray. - Left: current Org clock, TODO popup, workflow picker. - Right: MPRIS only. - Aux: minimal bar. - Distinct active-screen accent per physical role. - Weather removed from the active runtime bar. ### OpenRouter correctness - Restore the credit/balance widget and its <$5 / <$10 / healthy thresholds. - Query a fully closed minute with explicit minute granularity instead of a moving partial bucket. - Reject truncated/malformed/negative/implausible readings. - Deduplicate identical analytics buckets. - Keep the last trusted sample as visibly stale when fresh telemetry is garbage. - Prevent the graph from adding the same minute 12 times. - Cover the reported ~165M TPM regression. ### Emacs + Agent Zero control plane - Compact Emacs TODO and Agent Zero scratch frames. - Current clock task polled off Qtile's event loop. - Emacs-native completing-read workflow selector. - Role-based workflows survive monitor-count changes. - Agent Zero uses documented `POST /api_message` + `X-API-KEY`, asynchronously via `url-retrieve`, preserving `context_id`. - Host and secrets live in env or ignored `~/.config/qtile/private.env`; only a placeholder example is tracked. - Second review caught and fixed the Emacs `url-retrieve` callback argument order before merge. ### Verification - 41 focused unit/structural tests pass locally. - Python syntax compilation passes for the new/reworked helpers. - Literate `qtile-openrouter.org` is synchronized with the tangled runtime. The remote `pivpn-credential` ref was also reviewed during this pass: it currently points to the already-merged PR #103 commit and has no unique PiVPN credential diff to merge.
Sign in to join this conversation.
No description provided.