docs(v4.8.5): archive PR #48 reviews (three rounds) and record the merge-workspace review
PR #48 already carries the 4.8.5 lockstep bump. Merge-workspace review: round 1 (@35935f9) claude agy grok NOT PASS (test portability: tomllib on Python 3.9, /proc and /tmp on macOS), codex no verdict (model at capacity, budget spent); fixed in36f0b8dande8d9151. Round 2 (@e8d9151) codex NOT PASS (unrunnable config check passed an unchecked merge, odd pids closed a pane, nan dropped the user's settings); fixed inab93776. Round 3 (@ab93776) 4/4 PASS. Full suite atab93776on macOS / Python 3.9: 1456 passed / 0 failed / 38 skipped. Reports and the round-3 identity sidecars go to .agents/reports/<session>/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCgu9Fa9iT7TbJUSzdq4Ff
This commit is contained in:
1 parent
ab93776d6d
commit
bf8a583afb
16 files changed
+898
No files matched your search
@@ -0,0 +1,32 @@
|
||||
# Review: PR #48 round 2 @ e8d9151
|
||||
|
||||
- Role: Reviewer (grok)
|
||||
- Identity: loop `loop-20261005T081844Z-e92124`, base `c5c7eff6f758c76ac37a138dbc3c301f3f7e10cf`, head `e8d9151226d8139c7b5688e83d035a3a747aeb2d`, tree `8b39188453ff8a7263aa4400792fabc99188dad6`, clean snapshot, ancestor of both `c5c7eff` and round-1 `35935f9`
|
||||
- Scope for this reviewer: `git diff 35935f9 e8d9151` only (commits `36f0b8d`, `e8d9151`). Five files, +56/−9, `git diff --check` clean. No product code. Main stayed `c5c7eff`.
|
||||
- Verified read-only at `/var/folders/q_/68sxgw3j073dgjg8wl9s08vw0000gn/T/mam-review/loop-20261005T081844Z-e92124/1`.
|
||||
|
||||
## Round-1 findings
|
||||
|
||||
| Round 1 | e8d9151 |
|
||||
|---|---|
|
||||
| `tests/test_issue45_herdr_config.py:16` imported `tomllib` at module level, so Python 3.9/3.10 could not collect the file. `tests/test_issue9_server_env.py:157` did the same inside the bootstrap test, and expected the merged document from a 3.9 `python3` that writes only the key. | Import is `try/except` (`test_issue45_herdr_config.py:18-21`). `needs_tomllib` skips the 29 tests that parse a result or expect the user's other settings (`:36`, applied at `:71` and the other parse sites). `test_without_tomllib_restore_is_still_off` still runs. `test_issue9_server_env.py:173-183` parses with the `python3` on `PATH` and, when that interpreter has no `tomllib`, expects the key-only file and `no tomllib` in the shim stderr. `create/SKILL.md:120` and `VERSIONS.md:49` say a `python3` older than 3.11 leaves restore off, drops the other herdr settings, and warns. |
|
||||
| `tests/test_issue45_restore.py:227` read `/proc/<pid>/environ` before the restore-on control, so macOS never reached that control. | `_process_env` (`:160-168`) reads `/proc/<pid>/environ` when it exists, otherwise `ps -E -ww -o command=`. The control stays after that check (`:242-248`). On this Mac the herdr server's `ps -E` line contains `HERDR_CONFIG_PATH=<resolved>/mam-server-config.toml`, and both `test_a` cases passed, so the control ran. |
|
||||
| `:263` and `:325` compared pane `cwd` to the unresolved `/tmp/...` from `mkdtemp`. herdr reports `/private/tmp/...`. | The fixture resolves the temp root (`:175`) before `HOME` is set, so later `str(rig.root)` and `str(ws)` match herdr. `test_b_only_the_resumed_sessions_restored_shell_is_closed` and `test_b_resume_leaves_no_restored_shell_behind` passed. |
|
||||
|
||||
The tomli backport suggested in round 1 is not in this delta. The docs now describe the path this host's `/usr/bin/python3` (3.9.6, no `tomli`) actually takes. That matches the decision to document it.
|
||||
|
||||
`tests/data/skill_code_blocks.json` is unchanged. The create skill edit is the same line 120, so no fence moved. `test_issue42_skill_blocks` passed, with the usual worktree skip at `:266` because `.claude/skills` is absent in the snapshot.
|
||||
|
||||
## Tests
|
||||
|
||||
Required command, PR venv Python 3.9.6, `--basetemp=/tmp/b471follow.eYGqXM` (no `mam-review` in the path), MQTT variables unset:
|
||||
|
||||
**152 passed, 30 skipped** in 214.33s. The 30 skips are the 29 `needs tomllib` cases plus `test_issue42_skill_blocks.py:266`.
|
||||
|
||||
Same file on a throwaway Python 3.11.15 venv (`/opt/homebrew/bin/python3.11`), `HOME` set to an empty temp directory:
|
||||
|
||||
**51 passed** in 0.38s, none skipped.
|
||||
|
||||
Afterward no `mamt45` process remained. `~/.config/herdr/config.toml` mtime stayed `1784456394`, the directory mtime stayed `1791183576`, and `mam-server-config.toml` was not created there. Snapshot `git status` was empty.
|
||||
|
||||
[VERDICT: PASS]
|
||||
Reference in new issue
Block a user