kyroco

kyroco

VitalAIze 0.4.0 is out. It’s about what shipped work costs. The board used to tell me how many tokens my agents spent per 1,000 lines, and nobody ever asks that, so now it shows what each merged pull request cost, the CI minutes each session’s pushes burned, and an alert when a day or week goes over a budget you set. All of it is worked out on the hub, in SQL over its own SQLite archive of sessions, GitHub runs, jobs and merged pull requests. Collectors can now report the GitHub runners on their machine too: that’s a new message on the same gRPC stream, with fields only added, so a 0.3.0 hub just skips it and a 0.3.0 collector keeps working with a 0.4.0 hub.

Roadmap for what’s coming is in the Wiki

What is new

  • Cost per merged pull request. A Shipped section on Trends shows merged pull requests per day, Claude’s cost per merged pull request, sessions per merged pull request, and tokens per merged pull request with Claude and Codex added together. A session counts toward a pull request when it opened it, or worked on its branch in the same repository before the merge.
  • CI minutes per session and per pull request, counted the way GitHub bills them: each job rounded up to a whole minute, and a Windows minute counted as 2 and a macOS minute as 10. A session’s details show the minutes its pushes caused, and Trends adds them up.
  • Budget limits. Set a limit on Claude spend, Claude tokens or Codex tokens, per day or per week, under Budget in Settings. When a total passes its limit, a strip on the board says so and one alert goes out, on the channels you pick.
  • Your own CI machines. If some of your GitHub Actions jobs run on your own machines (self-hosted runners), the Git tab says which runs they worked on and whether each runner is up, and Trends splits runner time between GitHub’s machines and yours. It only reads: it never installs, starts or changes a runner.
  • Tap a run on the Git tab to see its details over the board: each job, the runner it ran on, the step that failed, and a link to GitHub.
  • Type the New Relic key in, in the Mac app or vitalaize setup, instead of only pointing at 1Password. It is kept in your login keychain on a Mac and in a file only you can read on Linux, never in the settings file.
  • A collector removed while it was off finds out when it comes back, and stops trying.
  • GitHub runs from the days the board was off are saved when it comes back, up to 14 days back.

Install

  1. Mac (Apple silicon): download VitalAIze-0.4.0.pkg from the release page and open it. It is signed and notarized by Apple.
  2. Linux: download vitalaize-0.4.0-linux-x86_64.tar.gz (Intel and AMD) or vitalaize-0.4.0-linux-arm64.tar.gz (ARM) from the same page, unpack it, and run bin/vitalaize setup.
  3. The README has every step.

Upgrading from 0.3.0

Install 0.4.0 the same way you installed 0.3.0, on the hub and on each collector. Pairings and settings are kept.
A collector still on 0.3.0 keeps working with a 0.4.0 hub, but only a 0.4.0 collector reports the runners on its machine and finds out when it was removed while it was off.
Budget limits need the archive, which is on unless you turned it off.

Known limits

  • Limit forecasts (where your Claude and Codex plans and your GitHub Actions minutes will land by month end) were planned for 0.4.0 and aren’t in it yet.
  • CI minutes are an estimate of GitHub’s bill. GitHub prices its larger runners by size, which the board can’t see, and minutes inside your plan’s allowance are counted too.
  • A session on a long-lived branch such as develop collects everyone’s runs on that branch while it works there.
  • A run that finishes days after it started is never saved as finished.
  • Budget days and Trends days follow the time zone of the hub’s own clock, not the timezone setting. On a hub whose clock is UTC, a day ends at 8 PM Eastern in summer and 7 PM in winter.
  • Tested on one Mac and in automated tests on Linux and macOS. I have not yet run the collector between two real machines on a network myself. Please tell me what you find.
  • Codex “Needs you” has not yet been seen working with a real Codex. It may mark a card wrongly.
  • Keep the hub on a network you trust. The link from a collector is encrypted, but the board itself is plain http.
  • The full list is on Known limits. Report problems in Issues and ask questions in Q&A.

If anyone wants to contribute please go ahead, I’d love some company. More infomation:
Wiki - Find all the documentation here.
Q&A - Discuss what ever topics you’d like
Project - To see what ever I’m working on and add your own, or pick up something to work on.

Where Next? Top

Trending in News & Updates Top

Jskalc
LiveVue v1.0 released After four release candidates and a lot of community feedback, LiveVue 1.0 is stable :tada: I’ve built a dedicated...
New
zachdaniel
Your standard application generally only tracks what is true right now. Updates overwrite previous data, and asking questions about the p...
New
woylie
<span class="hashtag-icon-placeholder"></span>let-me 3.0.4 has been released. Changed Log the policy module and the check module in the...
New
woylie
Flop Phoenix 0.27.0 has been released. Changed Require Flop 0.29.0, which turns Flop.Schema from a protocol into a behaviour. Determin...
New
webofbits
Aludel 0.8.0 is now available on GitHub and Hex. This release adds typed_judge assertions for evaluations that need deterministic, struc...
New
kyroco
VitalAIze 0.3.0 is out. It puts your other machines on your team on the board, live. I changed the architecture and am using gRPC to stre...
New
woylie
Flop 0.29.0 has been released. Added Add Flop.allowed_fields/2, which returns the fields that may be filtered or sorted for the given ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews