Files
multi-agent-mux/.agents/reports/reviewer-creator-grok-01/report-78443ebe.md
T

55 lines
2.6 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.
# v4.4.0 lockstep release review (`3874797`)
- **Reviewer**: `reviewer-creator-grok-01`
- **Job**: `78443ebe`
- **HEAD**: `3874797` (`release(v4.4.0): bump framework and eight skills to 4.4.0 in lockstep`)
- **Tests this turn**: `pytest tests/test_version_consistency.py tests/test_issue5_phase4_runtime.py` → **8 passed**. Collect-only **750** (matches the release notes). `git diff --check 3874797^..3874797` clean. Full 750 suite not re-run this turn.
---
## SemVer: MINOR `v4.4.0`, not MAJOR `v5.0.0`
SemVer 2.0.0 §8 limits MAJOR to a **breaking public API** change. Issue #5 is large; it is not that.
Checked, not taken from the notes:
| Claim | This turn |
|---|---|
| No public path removed or renamed | `git diff --name-status fc0bd96..HEAD` → **deleted 0, renamed 0** |
| Wire schema | `mqtt_common.py:135` `SCHEMA_VERSION = 1` |
| `scripts/*.py` still present | `job_subscriber.py`, `mqtt_common.py`, `publish_event.py`, `registry.py` |
| Defaults revert with one env var | `MAM_LOOP_PY` default 1, freeze only if `MAM_LOOP_FREEZE=1` or legacy shell; `MAM_AUTO_COMPLETE` still default off |
| Auto-complete | opt-in, documented |
New fail-closed `MAM_VERSION` ↔ `FRAMEWORK_VERSION` gate is a safety check on mixed trees, not a contract removal. Operators with a consistent tree do not migrate. **4.4.0 is the right stamp.**
---
## 4-way lockstep
All four legs read `4.4.0`:
- `lib.sh` `MAM_VERSION="4.4.0"` (not env-overridable; spoof test still holds)
- `lib_py/loop/eager.py` `FRAMEWORK_VERSION = "4.4.0"`
- `VERSIONS.md` current `v4.4.0` + matrix 8 × `4.4.0`
- 8 × `SKILL.md` frontmatter `version: 4.4.0` (create, stop, resume, status, monitor, delegate-job, loop, orc-onboard)
`test_three_way_version_lockstep` now also asserts eager.py. `test_runtime_version_gate_rejects_a_partially_bumped_tree` pins the fail-closed gate. Phase 4 no longer hardcodes a version literal.
Ambient isolation: session-scoped conftest pops inherited `MAM_VERSION` so pytest measures the tree, not the runner’s shell. That is why a bump would otherwise fail with `expected 4.4.0, got 4.3.0 in environment`. Production is unaffected: `run_loop.sh` sources `lib.sh` first and re-exports.
README / BOOTSTRAP badges were bumped. Remaining `4.3.0` in `VERSIONS.md` is the prior changelog section, which is correct.
---
## Residuals (non-blocking)
1. The lockstep test is still named `test_three_way_version_lockstep` while it checks four legs. Rename when convenient.
2. Full **750**-test suite not re-run this turn (8 targeted + collect-only 750). The release commit claims 750 passed in 912.50s.
No `[ESCALATE: PLANNER]`.
---
[VERDICT: PASS]