Skip to content

v1.2.0 — Agent Graph

Choose a tag to compare

@T-Crypt T-Crypt released this 29 Aug 23:59
· 594 commits to main since this release
5f6146e

A live Agent Graph tab for Claude Code sessions, Hyprland-native release banners, and the agent stack fully split behind its own opt-in install layer.

Highlights

Agent Graph — every Bash/Read/Edit call your Claude Code session makes lands on a live, zoomable node graph as it happens, colored by tool category and session and fading with recency. Finished sessions aren't gone — scrub back through the whole run with the replay transport, now animated instead of snapping to the end state:

agent-polish.mp4

aphotic whatsnew — Hyprland-native release-note banners (hyprctl notify, the same mechanism Hyprland uses for its own announcements), shown once automatically the first time you land on a new version.

Opt-in: how the agent stack turns on

None of this installs or runs unless you ask for it. It all lives behind the installer's ai layer:

  • At install time, the interactive wizard now leads with a preset menu (Everything / Daily driver / Cherry-pick) instead of walking every layer question cold — picking Everything or hand-enabling ai is what turns this on. Scriptable installs use install.sh --with ai (or --with gaming,dev,ai,exploit etc.) instead of the prompts.
  • What "on" actually does: install.sh wires Claude Code's hooks into ~/.claude/settings.json (merged with jq, never clobbering hooks you already have) and enables a 15-minute local usage-tracking timer. Nothing here reads or transmits prompts/responses — only aggregate token counts and tool-call metadata (name, duration, session id) ever leave the hook.
  • On the shell side, services/InstallProfile.qml reads aphotic.toml's [install] layers and gates every AI surface on it — the bar's agent icon, AI Chat, Intelligence, and the new Agent Graph tab are absent, not just idle, when the layer is off. A fresh git clone with no aphotic.toml yet is treated as "on" so a first-time qs -c aphotic run still shows the full shell.
  • Turning it off is symmetric — de-select ai on a re-run of install.sh (or aphotic ai / edit aphotic.toml directly) and the installer removes the hook entries it previously added and disables the timer. Nothing is left half-wired.

See docs/AGENT_TRACKING.md for the full contract (event schema, the three files the hook writes, replay format) if you're extending it or wiring up a second provider.

Also in this release

  • Dock bar: fixed pointer input dying outside a narrow band in the middle of the pill, and window-overlay/right-edge icon clipping
  • Dock bar: scroll-to-volume and real per-app status icons
  • Media bar icon: right-click opens the player; live per-session agent status wired into the popout
  • CLI: fixed a duplicate-daemon spawn, an SDDM permission edge case, and aphotic ai profile handling
  • Installer: stopped forcing nvidia-open-dkms on top of an already-installed driver
  • A beta-status disclaimer, plus assorted stale-README fixes

Full history: docs/ROADMAP.md and the README Roadmap section.


Note: this release also folds in the last batch of work from the now-retired test staging branch — see CONTRIBUTING.md for the current (PR-only, direct-to-main) workflow going forward.