Skip to content

SysMon 3.0.2

Choose a tag to compare

@RamenFast RamenFast released this 01 Aug 23:29
· 39 commits to main since this release

A documentation fix with teeth, found by running the manual instead of reading it.

What was wrong

docs/AGENTS.md, docs/API.md and the sysmon agent skill all demonstrated the raw control socket with socat — which is not installed on the machine those docs describe. An agent following the documented example got silence. An instruction that fails on the very machine it documents is worse than no instruction, because the reader trusts it and ends up debugging the documentation instead of their problem.

# before (printed nothing — socat absent)
echo '{"verb":"snapshot","sections":["network"]}' | socat - UNIX:$XDG_RUNTIME_DIR/sysmon/ctl.sock

# after (nc ships with the base system; verified against a live `serve` first)
echo '{"verb":"snapshot","sections":["network"]}' | nc -U $XDG_RUNTIME_DIR/sysmon/ctl.sock

And a check so it cannot come back

scripts/conformance.sh is 15 checks → 16. C15 extracts every external tool named in a docs code block and fails if this machine does not have it. Mutation-proven: putting socat back drops the score to 15/16 and names both the file and the missing tool.

Removed, honestly

Nothing. socat still works fine if you have it — the docs now simply lead with the tool that is actually present.

Known gap, said out loud

C15 covers the repo's own docs. The agent skill files live outside the repo (~/.claude/skills/, ~/.agents/skills/) and had drifted the same way; both were fixed by hand this round, but nothing would catch it next time. Logged in docs/SERIOUS-TODOS.md rather than left as a quiet assumption.

Install

# Debian / Ubuntu / Mint
sudo apt install ./sysmon_3.0.2_amd64.deb

# Fedora / RHEL (built on Mint, rpm --test verified — reports welcome)
sudo dnf install ./sysmon-3.0.2-1.x86_64.rpm

# from source
sudo apt install build-essential curl git            # apt
sudo dnf install gcc make curl git                   # dnf
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
git clone https://github.com/RamenFast/sysmon && cd sysmon
cargo build --release && sudo install -m755 target/release/sysmon /usr/local/bin/

Verify: sysmon --version → sysmon 3.0.2 (v3).

SHA256SUMS covers every asset; sha256sum -c SHA256SUMS checks them all at once.

Receipts

conformance 16/16 · cargo test --release green · scripts/e2e.sh green on a private Xvfb · every example in the skill and in docs/AGENTS.md re-run verbatim against the installed binary, including the socket round-trip and a subscribe stream.

Built with Claude on Ben's machine. GPLv3.