Issue #42 stages 1-2: the SKILL.md code-block inventory as test data and the removal of blocks the entry scripts already do. Merge-workspace review: round 1 (@8d26106) claude agy grok PASS, codex NOT PASS (R1-R3); fixed in17eba09(docs, inventory data and the guard test only); round 2 4/4 PASS. Full suite at8d261061408 passed / 0 failed. Reports and the round-2 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
88 lines
5.7 KiB
Markdown
88 lines
5.7 KiB
Markdown
# Final Review Report: Job e722c7b8 (PR #46 / Issue #42 Round 2 Delta)
|
||
|
||
## 1. Review Identity & Metadata
|
||
- **Loop ID**: `loop-20261003T230658Z-e7866a`
|
||
- **Job ID**: `e722c7b8`
|
||
- **Reviewer**: agy (session: `herdr:reviewer-agy-01`)
|
||
- **Base Commit**: `8d26106195a0a24621f140e76389d206332f84c0` (Round 1 Head)
|
||
- **Head Commit**: `17eba0904ebbf54c1d2243ad61a6f2ba17263889` (1 commit)
|
||
- **Tree Hash**: `a0f1ffede44be7c86267a56b25871e1d081feafb`
|
||
- **Verification Path**: `/var/folders/q_/68sxgw3j073dgjg8wl9s08vw0000gn/T/mam-review/loop-20261003T230658Z-e7866a/1`
|
||
- **Git Status**: Clean (working tree clean, no uncommitted changes)
|
||
- **Whitespace Check (`git diff base...HEAD --check`)**: Clean (0 errors)
|
||
|
||
---
|
||
|
||
## 2. Commit Audit (base..head: `17eba09`)
|
||
|
||
Commit `17eba09`: `docs(issue-42): review - attach names the herdr server, --dry-run is not "write nothing", a deleted block stays deleted`
|
||
|
||
Files modified:
|
||
- `.agents/skills/multi-agent-mux-create/SKILL.md` (lines: -2, +2)
|
||
- `.agents/skills/multi-agent-mux-resume/SKILL.md` (lines: -6, +10)
|
||
- `.agents/skills/multi-agent-mux-stop/SKILL.md` (lines: -1, +1)
|
||
- `tests/data/skill_code_blocks.json` (lines: -8, +27)
|
||
- `tests/test_issue42_skill_blocks.py` (lines: -2, +53)
|
||
|
||
**Product Code Modifications**: None (0 changes to `.sh` or `.py` runtime scripts).
|
||
|
||
---
|
||
|
||
## 3. Review Item Verification
|
||
|
||
### Item 1: Codex R1~R3 Resolution & Server Routing
|
||
- **Codex R1 (Server Routing on Attach & Verification)**:
|
||
- Addressed across [`multi-agent-mux-resume/SKILL.md`](file:///var/folders/q_/68sxgw3j073dgjg8wl9s08vw0000gn/T/mam-review/loop-20261003T230658Z-e7866a/1/.agents/skills/multi-agent-mux-resume/SKILL.md):
|
||
- Case 3 (line 80): updated to `herdr --session <server> agent attach <name>`.
|
||
- Workflow explanation (line 89): clearly notes that native `herdr` does not route on ambient environment variables, requiring explicit `--session <server>` for manual attach.
|
||
- When NOT to use (line 130): `herdr --session <server> agent attach <name>`.
|
||
- Verification block (lines 108–121): reads `SERVER` from the row's `herdr_session` (falling back to `'default'` via `.get('herdr_session') or 'default'`) and invokes `herdr --session "$SERVER" agent get/read`.
|
||
- Confirmed via `herdr --help` that native `herdr` defines global syntax `herdr --session <name> [options]`.
|
||
- **Codex R2 (`--dry-run` Semantics)**:
|
||
- In both [`multi-agent-mux-create/SKILL.md:58`](file:///var/folders/q_/68sxgw3j073dgjg8wl9s08vw0000gn/T/mam-review/loop-20261003T230658Z-e7866a/1/.agents/skills/multi-agent-mux-create/SKILL.md#L58) and [`multi-agent-mux-resume/SKILL.md:98`](file:///var/folders/q_/68sxgw3j073dgjg8wl9s08vw0000gn/T/mam-review/loop-20261003T230658Z-e7866a/1/.agents/skills/multi-agent-mux-resume/SKILL.md#L98), table entries now accurately document that `--dry-run` skips spawn and registry updates, but runs pre-spawn checks and strips macOS `com.apple.quarantine` attributes.
|
||
- **Codex R3 (Deleted Body Anti-Reintroduction Guard)**:
|
||
- Implemented [`test_no_deleted_body_came_back()`](file:///var/folders/q_/68sxgw3j073dgjg8wl9s08vw0000gn/T/mam-review/loop-20261003T230658Z-e7866a/1/tests/test_issue42_skill_blocks.py#L271-L275) scanning all current blocks in all 8 `SKILL.md` files against `DATA["removed"]` and `DATA["superseded"]`.
|
||
- Independent of `DATA["blocks"]`: re-registering a deleted block under class `c` or `b` will still be detected and fail the test.
|
||
- Self-verification in [`test_a_returned_body_is_caught_reindented_and_with_the_inventory_updated()`](file:///var/folders/q_/68sxgw3j073dgjg8wl9s08vw0000gn/T/mam-review/loop-20261003T230658Z-e7866a/1/tests/test_issue42_skill_blocks.py#L277-L288) ensures both exact `base_sha` and re-indented `base_fingerprint` matches trigger failures.
|
||
|
||
### Item 2: Robustness of Fingerprinting
|
||
- Fingerprint definition: `hashlib.sha256(" ".join(body.split()).encode()).hexdigest()[:12]`.
|
||
- Normalizes all internal whitespace and indentation, robustly detecting re-indented copies (e.g. within list items) without falsely flagging unrelated example blocks.
|
||
|
||
### Item 3: Inventory Classification Integrity
|
||
- Git diff of `tests/data/skill_code_blocks.json` shows only boundary shifts for the updated `resume` verification block (`start: 103, end: 128, sha: 8a468dfa43bd`). Its classification remains strictly `class: "b"`, `kind: "verification"`.
|
||
- Added `base_fingerprint` fields to `removed` blocks.
|
||
- Added `superseded` entry for the folded `create/SKILL.md` call block (`base_start: 263, class: "c", kind: "invocation"`).
|
||
- No block's class or kind was changed.
|
||
|
||
### Item 4: Scope & Documentation Refinements
|
||
- **Claude O4**: Accurately documented `MAM_KILL_ON_READY_TIMEOUT=1` for create exit 42 and `--purge-conversation` exception for stop exit 0.
|
||
- **Boundaries**: Strictly limited to documentation and test guard verification. Zero product code changes. Zero version bumps.
|
||
|
||
---
|
||
|
||
## 4. Test Suite Execution Results
|
||
|
||
Executed in verification worktree (`/var/folders/q_/68sxgw3j073dgjg8wl9s08vw0000gn/T/mam-review/loop-20261003T230658Z-e7866a/1`) with `--basetemp=/tmp/pytest-pr46-review2`:
|
||
|
||
| Test Suite | Result | Duration |
|
||
|---|---|---|
|
||
| `tests/test_issue42_skill_blocks.py` | 31 passed, 1 skipped* | 0.06 s |
|
||
| `tests/test_tier2_component.py` | 42 passed | 254.31 s |
|
||
| `tests/test_orc_onboard.py` | 13 passed | 2.58 s |
|
||
| `tests/test_loop_cli.py` | 20 passed | 37.66 s |
|
||
| `tests/test_o1_rebuttal.py` | 11 passed | 1.87 s |
|
||
| `tests/test_version_consistency.py` | 15 passed | 2.86 s |
|
||
|
||
*\* Note: `test_claude_skills_link_resolves_to_agents_skills` skipped as expected in worktree context.*
|
||
|
||
**Total Tested**: 132 passed, 1 skipped, 0 failed.
|
||
|
||
---
|
||
|
||
## 5. Conclusion
|
||
|
||
All review feedback items (Codex R1~R3, Codex C1 / Claude O1, Claude O4) are resolved accurately and cleanly verified.
|
||
|
||
[VERDICT: PASS]
|