Files
multi-agent-mux/.agents/reports/reviewer-creator-grok-01/report-c9796d8c.md
T
Godopu 50a9f32773 docs(reports): archive v4.1.2 implementation plan and unanimous peer review reports
- Add plan-c107763c (Rev 1 & Rev 2 with creator critique and refinements)
- Add report-b11cf3b2 (planner-reviewer-claude-01 PASS)
- Add report-c9796d8c (reviewer-creator-grok-01 PASS)
- Add report-8e6b346e (reviewer-opencode-01 PASS)
2026-08-30 11:02:56 +09:00

53 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Cross-review: v4.1.2 pane-resolution / idle-reuse PATCH
- **Reviewer**: `reviewer-creator-grok-01`
- **Job**: `c9796d8c`
- **Source**: `bug-report/mam_upstream_bug_fix_report.md` plus live `lib.sh` / `opencode.py` / tests / `VERSIONS.md` (working tree vs `a18f9f8`)
- **Method**: each of the four report items was re-derived from source, not from the field report or `plan-c107763c.md` at face value.
---
## The four reported issues
| # | Report | Independent finding | Landed? |
|---|---|---|---|
| 1 | `_resolve_herdr_pane_id` generic `agent_kind` fallback misattributes an unrelated same-kind pane | **Real.** YAML-derived kind + `len(matching)==1` returns a foreign pane (e.g. live orchestrator `agy` for dead `creator-agy-01`). `has-session` then skips restore. | **Fixed.** Kind fallback gated on `tn == agent_kind or tsa == agent_kind`. Exact-match loop no longer keys on `'agent'`, so a bare-kind search cannot skip the R-1 multi-match fail-closed. Tests: `test_r2_*`, `test_r3_*`. |
| 2 | `opencode.py::resume_spec` should drop the `materialized` gate | **Not a defect of that form.** `__main__.py` `resume-spec` sets `mat = adapter.verify_artifact(uuid, ctx)` when workspace+uuid are present; `resume_session.sh` always passes `$WORKSPACE`. Stripping the gate would send `--session` for unverified ids. | **Correctly not applied.** Changelog documents the rejection. |
| 3 | `ready_tokens` ASCII banner | **Already fixed in v4.1.1.** Live string is already `'OpenCode\|Chat\|Ask anything\|tab agents\|ctrl\\+p\|Build auto\|commands'`. | **No action (stale report).** |
| 4 | `new-session` never reuses an idle pane | **Real.** Existing-ws path always split. | **Fixed.** First idle (`not p.get('agent')`) pane becomes `target_pane`; otherwise existing layout/split/overflow. Finding A: `$env_flags` + `HERDR_WORKSPACE_ID` replayed via `env` prefix on `$final_cmd` so reuse does not drop documented `KEY=VAL` tokens. Tests: `test_h24_*`, `test_h25_*`. |
## Issue 2 — extra note (does not change the reject)
The plan/changelog line that all five adapters share *the same* `if materialized and session_uuid` shape is slightly overstated: `claude.py` and `grok.py` still attach the uuid on a non-materialized path (`--session-id`). `agy` / `hermes` / `opencode` do not. That does not make the proposed opencode-only gate removal the right PATCH; it means a later diagnostic of a real resume miss should log `verify_artifact`, not delete the gate.
## SemVer v4.1.2 PATCH
Correct class (internal reliability; no public `--agent` / flag / YAML own-key change). Lockstep:
- `lib.sh:32` `MAM_VERSION="4.1.2"`
- `VERSIONS.md` header `v4.1.2`, matrix prose `v4.1.2`, 8 rows, changelog `### 🛠️ \`v4.1.2\`` (v4.1.1 section preserved)
- 8× `SKILL.md` `version: 4.1.2`
## Tests (this reviewer)
```
pytest tests/test_c1_tui_readiness.py tests/test_herdr_shim_contract.py \
tests/test_version_consistency.py tests/test_a4_adapter_contract.py \
tests/test_b19_headless_reconcile_fixes.py tests/test_tier2_component.py -q
→ 123 passed in 218.97s
```
`bash -n .agents/skills/lib.sh` clean.
## Residual nits (do not block)
- `${env_flags//--env /}` + unquoted `env $idle_env $final_cmd` still word-splits; same class of quoting the split path already had. Out of PATCH scope as the plan states.
- Current-release overview dropped the v4.1.1 architecture bullets (changelog for 4.1.1 remains).
- `commands`/`Chat` remain generic strong tokens (v4.1.1 leftover).
No `[ESCALATE: PLANNER]`.
---
[VERDICT: PASS]