Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCgu9Fa9iT7TbJUSzdq4Ff
2.8 KiB
PR #62 / Issue #60 Linux follow-up review, round 2
Scope. Reviewed base 1d7b7dab58a10fe86fd747b7290d47674ca93230 through head 6a37c0019baa31ee28b32a086e57b4c8239413c4 in the assigned review-only worktree. HEAD and tree matched the brief, and git status --short was empty. No source changes, commits, branch operations, or real service/data access were performed.
The three findings from round 1 are addressed:
.agents/skills/lib_py/agents/adapters/opencode.py:76-80now requires the quote/example portion of the observed placeholder.tests/test_issue60_linux_fixes.py:79-91verifies that both the bareAsk anything…andAsk anything...typed drafts are retained, while the wide and truncated-narrow UI placeholders still read as empty.opencode.py:318-324accepts the home install only when it is a regular executable file; the test attests/test_issue60_linux_fixes.py:334-341rejects both a non-executable file and a directory.tests/test_issue60_linux_fixes.py:156-164removes macOS-persistent WAL sidecars only after closing the last writer, to normalize the no-WAL fixture. The clean-state queries then pass, confirming committed rows remain available after fixture setup. The other three sidecar states still exercise the intended code paths.
The follow-up also replaces direct writable SQLite opens in the two status branches (.agents/skills/multi-agent-mux-status/scripts/status.sh:115-119,316-320) and reconciler (.agents/skills/multi-agent-mux-monitor/scripts/reconcile.sh:953-959) with the adapter's _ro_connect, avoiding sidecar creation/removal in these readers. Their scripts receive the skill directory through the existing env_python bootstrap, so the new adapter import resolves in the normal execution path. The change preserves the prior status result mapping and query semantics.
No new blocking issue found. The _DB_PATHS cache remains scoped to binary path and effective HOME/data-home, with its test fixture clearing the cache between tests; the previously noted narrow immutable/WAL race remains a transient-read caveat rather than a new data mutation path. No live OpenCode command, service, or user database was accessed.
Validation. On macOS / Python 3.9.6, ran the related suite from the review worktree with temporary HOME/TMPDIR, XDG variables unset, the required environment scrub, PYTHONDONTWRITEBYTECODE=1, -p no:cacheprovider, and an external temporary basetemp:
tests/test_issue60_linux_fixes.py tests/test_a4_adapter_contract.py tests/test_issue31_purge_residual.py tests/test_issue50_dispatch.py
Result: 201 passed (136.01s). git diff --check and bash -n on the changed status, reconcile, create, and stop scripts also passed. Linux was not independently rerun in this reviewer turn; the brief records the author's Linux run.
[VERDICT: PASS]