Limits
What Starf does not do. Some of these are the reference implementation's deliberate refusals, kept; the rest is work not yet done.
Refused on purpose
Apple's per-process Energy Impact. A private metric computed from counters no unprivileged process can read. Not implemented, and nothing is dressed up as it.
Total system power draw. The battery reports its own charge and discharge power. On
mains that falls to zero while the machine keeps drawing from the adapter. Measuring the
real figure needs SMC keys or powermetrics, neither available without elevated
privileges. Starf reports the battery's flow and says what it is.
Apple's Battery Health percentage. Starf shows the controller's own maximum charge against design capacity. Apple computes its figure differently; showing ours under their name would be wrong.
App Nap state, 12-hour power, per-process packet counts. No generally available equivalent.
Guessing what the driver did not say. A processor slot claimed by two device-tree nodes keeps a neutral label instead of a guessed one. A bundle whose Dock presence is set at runtime rather than declared is classified by what it declared.
Not built
Nothing from the original plan. What follows is what a future version could reasonably add.
Another process's environment. KERN_PROCARGS2 returns it only to the calling
process. This was checked rather than assumed: a probe reading its own buffer got 3,495
bytes of variables, and the same probe reading a child it owned got none. The Environment
report says this instead of showing an empty list.
Known inaccuracies
Application classification. Read from LSUIElement and LSBackgroundOnly in the
bundle's Info.plist. A bundle that sets its activation policy at runtime cannot be seen
this way. On the machine this was built on, AppSSOAgent, UserNotificationCenter and
privatecloudcomputed declare neither key and so appear under Applications. Excluding
them by path would be a guess, and guessing is what the rest of this code refuses to do.
Region counts against vmmap. PROC_PIDREGIONPATHINFO coalesces adjacent mappings
with identical attributes; vmmap runs with access Starf does not have and splits
differently. The counts differ. See Verification for the comparison
that shows the totals agreeing with the kernel's own figure.
Platform
Apple silicon is what this was built and checked on. The x86_64 paths exist — the Rosetta timebase correction, the Intel SMT note, the alternate GPU utilisation key — but have not run on Intel hardware. Nothing has been checked against an external GPU.