magi-cli 0.217.0

Blind multi-agent implementation competition: N agents implement, M judges rank blind, deliberate, vote privately, winner survives double review + E2E gate
Documentation
# CLI integration-test isolation

Use `common::magi_cli(home)` to spawn the real binary. The caller keeps its
fixture directory alive until the child and its independent workers exit.
The helper creates a private host home and cwd, sets `MAGI_HOME`,
`MAGI_CONFIG_DIR`, `MAGI_NO_AUTOUPDATE=1`, `HOME` and `USERPROFILE`, and removes
inherited seat and worker identities (`MAGI_RUN`, `MAGI_NODE`, `MAGI_SEAT`,
`MAGI_WORKER_EXE`, `MAGI_WORKER_ID`, `MAGI_WORKER_GENERATION`,
`MAGI_WORKER_HOME`). Tests may explicitly override
these defaults afterward.

Tests embedding the library's scheduler use `MAGI_WORKER_EXE` to name
`CARGO_BIN_EXE_magi`; a test harness executable is not a worker CLI.
`common::isolated` sets this before its runtime starts. Native restart fixtures
kill only the web/scheduler PID, not its descendant tree: killing a process tree
would deliberately kill the workers whose independence the test must measure.

The deputy restart/capacity test owns its schedulers, release guard and fixture
in a failure-diagnostic guard. On assertion or timeout panic, it captures bounded
old/new scheduler and worker log tails, selected job/result metadata, read-only
active-worker observations, Question deputy/lease state and started/release
markers before cleanup. Missing, unreadable and unparseable evidence stays
explicit; an unobserved worker is not proof of exit. Observations are sequential,
not an atomic snapshot. Record, directory, tail and total output limits report
omissions; prompts, payloads and answer bodies are excluded. Success is silent.

CLI environment resets belong to the spawned command, not to its embedding test
process. A fixture that copies those settings into its own environment must
retain its explicit `MAGI_WORKER_EXE`; otherwise later library dispatch tries
to launch the libtest harness as a worker. Keep the host's worker-binary override
separate from the child CLI's cleared worker identity.

Agent and shell adapters copy the same defaults while preserving the fresh
seat identity assigned by the launcher and its explicit fixture cwd. The
`update_exit` test deliberately re-enables updates with its existing fake `gh`,
private HOME/cache/configuration, token removal, and process-group cleanup.