Repository navigation
Actualis 0.2.0
Actualis now reads Copilot CLI. Post your card.
Added
- GitHub Copilot CLI sessions are read, from
$COPILOT_HOME/session-state/*/events.jsonl(default~/.copilot): shell
commands into the same audit, cost per model per session, supervision per
command, refusals, subagents and premium requests.--agent copilotreads it
alone. Copilot reportsinputTokensincluding cache reads and writes for
every provider, and Claude model ids with dots; both are handled, and
--explain copilotsays how. A person declining a prompt is recorded as
denied-interactively-by-user, captured from a real denial, and is reported
as a human refusal. --cardwrites a 1200×630 SVG and PNG to post:supervision,costor
volume, in aheroorterminalstyle. Standard library only. The SVG and
PNG are drawn from one list of pixel runs, so they cannot disagree. Nothing
identifying can reach either, and the leak test now checks both, plus the
printed caption.--cardrefuses to combine with another mode ----json,--fail-on,
--diff,--why,--share,--watch,--mcp,--replay,--self-check,
--explain,--agents,--suppress,--suppressions,--completionsor
--service-- so a card run can never silently skip a CI gate or quietly
write nothing.- The MCP server (
--mcp) now sees Copilot sessions too. - Copilot sessions with no shutdown record are reported, not dropped. The
report saysN Copilot sessions unpriced (no shutdown record)under the cost
line, and--jsoncarriescopilot_unpriced_sessions. No cost is estimated
for them.
Changed
- The card counts supervision per shell command, using the permission mode
in force when each command ran, rather than per turn.--sharestill counts
per turn, but--shareand the card now share the one definition of
"unsupervised" the AISVS mapping already used, socodex:nevercounts there
too. - MCP
fleet_summaryuses the same single "unsupervised" definition, so
codex:nevercounts as unsupervised there as well. - The vendor matrix (
--explain vendors,--json) has acopilotcolumn.
Fixed
--shareprinted raw model ids. A fine-tune or private deployment id
could reach a summary documented as containing nothing identifying. Model
names now appear only when they are exact entries in the public price table;
anything else iscustom. The leak test seeds a private model id.- A GitHub expression inside the Action's
run:block killed the audit
step. GitHub expands${{ ... }}before bash sees the script, so a help
message quoting one left a dangling quote and a syntax error on the runner.