Repository navigation
v1.7.0 — Static binaries, counted from outside
Six days, 20 commits and ten entries since v1.6.0. The trace contract stays v18; no contract_version, unknown_reason or next_step changes. The full section is CHANGELOG.md at this tag.
--observe supervised counts a statically linked target from outside the process (Linux 5.19+, aarch64 and x86_64; #217, ADR 0089). Where the other modes refuse no_shim_marker, the engine now starts the operation under a seccomp user-notification filter, takes each state-changing call as it is made, and writes the trace in the shim's format — no shim loaded, strace still the second witness. On the static C toy it finds the same FAIL at crash point 5 of 5 that its dynamic twin gets under the default mode. It needs a cgroup v2 the engine can create cgroups in. Its walls are named in docs/cli.md: writes from two or more threads of one process refuse, a target's own seccomp filter can hide a call, setuid children run without their privilege, and the MCP sideeye_replay_case tool cannot replay a supervised case. Under this mode the report names the engine as the recorder, the oracle line says who counted, and the oracle does not count a call a signal interrupted (= ? ERESTART…).
The static release binaries, re-measured under the new mode. busybox-static's sed -i — no_shim_marker directly, and killed by SIGSYS under --observe syscalls when a dynamic sh execs it — is PASS 3/3 both ways, judging the file it rewrites. gh, chezmoi (--force), lefthook (no checker) and gopass (rm) reach PASS 3/3, but the built-in rule judged no file any of them wrote: those say the mode reaches the tools, not that their writes are crash-safe. Jujutsu stops at this mode's thread wall, 5 of 5.
The loop-closure judge replays in a container of its own (#603, ADR 0088). The replay used to run as root in the container the agent's code had just configured and run, so the oracle, the checker's sh and libc were the subject's to replace — measured: a swapped sh moved the gate from fail_reproduced to other. It now runs from the image by id, --read-only, and is read only when that container exited 0.
Dogfood through the released v1.6.0, installed by the CI quickstart's installer the day it shipped: commitizen 4.18.1 FAIL 1/5 (cz bump empties pyproject.toml), ast-grep 0.45.3 FAIL 1/3 (--update-all empties the source file; reported as ast-grep/ast-grep#2959), and todo.txt-cli 2.14.0 PASS 4/4 after following its refusal's own next step to --observe syscalls. The dogfood entry gate now asks threads through the engine's preflight only.
Changed. BUILDLOG.md is closed at v1.6.0 and no longer required by CI. The CI quickstart pins v1.6.0; it moves to this release once these assets exist.
Assets: sideeye-v1.7.0-aarch64-macos.tar.gz, sideeye-v1.7.0-x86_64-linux.tar.gz, sideeye-v1.7.0-aarch64-linux.tar.gz, each carrying the sha256 GitHub computed on upload (docs/cli.md says how to check one). Homebrew: brew upgrade yottayoshida/tap/sideeye once the tap is updated.