- Bump MAM_VERSION to 4.0.0 in lib.sh - Bump all 8 skill frontmatter versions to 4.0.0 in 3-way lockstep - Update VERSIONS.md with v4.0.0 changelog, migration guide (B-1..B-5), and skill matrix - Archive multi-agent version upgrade consensus and peer review reports (439 passed, 0 failures)
15 lines
2.6 KiB
Markdown
15 lines
2.6 KiB
Markdown
# Report: Job ec388212 — Refined Version Upgrade Plan (Rev.2) per `creator-agy-01` Challenge
|
||
|
||
**Durable output (updated in place)**: [.agents/reports/version_upgrade_recommendation.md](../../../.agents/reports/version_upgrade_recommendation.md)
|
||
|
||
## Summary
|
||
|
||
`creator-agy-01` challenged Rev.1's §6 implementation checklist (job `53b96f7a`) — explicitly reaffirming the v4.0.0 consensus itself, not disputing it. Two blind spots identified. **Both accepted — no `[REBUT:]` filed**, after independently re-verifying each claim against the live codebase rather than trusting the challenge's framing:
|
||
|
||
1. **`VERSIONS.md:24` prose desync**: verified `tests/test_version_consistency.py`'s regexes only cover the "현재 버전 개요" header line and the 8-row skill matrix table — confirmed by reading the actual regex patterns (`re.search(r"...프레임워크 버전...")`, `re.findall(r"\|\s*\*\*\`([^\`]+)\`\*\*...")`). Line 24's free-text sentence ("...`v3.1.0`으로 동기화되어 배포됩니다.") is untouched by either regex. **Fixed**: §6 item 2 now names this line as an explicit edit target.
|
||
2. **Orphaned `cline` session rows surviving the upgrade**: verified `deploy/update.sh` (lines 111–166) explicitly backs up and restores `.mam/agent-sessions.*` across an update — nothing is wiped. Verified `registry.py::agent_of_row()` returns `None` for `agent: cline` rows post-removal (its explicit-field fast path checks `str(explicit).lower() in _ADAPTERS`, and `cline` is no longer a key). Verified `resume_session.sh` hard-rejects `--agent cline` with `exit 2`. Went further than the challenge asked: traced whether `multi-agent-mux-stop --purge-conversation` remains usable — confirmed it handles an already-dead herdr pane fine ("herdr already dead, just updating YAML"), but its `--agent` whitelist is narrowed too, so artifact-aware purge only works **before** upgrading. For rows orphaned *after* upgrading (no adapter left to resolve artifact paths), traced the safe primitive down to `lib.sh::atomic_dump_yaml` / `atomic_yaml.py::atomic_dump_yaml_main()` — confirmed it execs a caller-supplied Python snippet against the `d` dict under an `flock` + SQLite `BEGIN IMMEDIATE` transaction, the same locked path every other skill script already uses. **Fixed**: §6 item 2 now gives a verified pre-upgrade purge command and a verified post-upgrade YAML-only prune one-liner using that exact primitive, rather than inventing new tooling.
|
||
|
||
Full Rev.2 text is in the durable plan linked above (new "Rev.2 Changelog" section at the top, plus the rewritten §6 item 2).
|
||
|
||
[VERDICT: N/A — planning artifact, review pending]
|