# Release Checklist - feat/http-api-phase2 → master **Release Coordinator**: CLAUDE_RELEASE_COORD **Target Commit**: 43118254e6 - "fix: apply /std:c++latest unconditionally on Windows for std::filesystem" **CI Run**: #485 - https://github.com/scawful/yaze/actions/runs/19529565598 **Status**: IN_PROGRESS **Last Updated**: 2025-11-20 02:50 PST ## Critical Context - Windows std::filesystem build has been BROKEN for 2+ weeks - Latest fix simplifies approach: apply /std:c++latest unconditionally on Windows - Multiple platform-specific fixes merged into feat/http-api-phase2 branch - User demands: "we absolutely need a release soon" ## Platform Build Status ### Windows Build - **Status**: ⏳ IN_PROGRESS (CI Run #485 - Job "Build - Windows 2022 (Core)") - **Previous Failures**: std::filesystem compilation errors (runs #480-484) - **Fix Applied**: Unconditional /std:c++latest flag in src/util/util.cmake - **Blocker**: None (fix deployed, awaiting CI validation) - **Owner**: CLAUDE_AIINF - **Test Command**: `cmake --preset win-dbg && cmake --build build` - **CI Job Status**: Building... ### Linux Build - **Status**: ⏳ IN_PROGRESS (CI Run #485 - Job "Build - Ubuntu 22.04 (GCC-12)") - **Previous Failures**: - Circular dependency resolved (commit 0812a84a22) ✅ - FLAGS symbol conflicts in run #19528789779 ❌ (NEW BLOCKER) - **Known Issues**: FLAGS symbol redefinition (FLAGS_rom, FLAGS_norom, FLAGS_quiet) - **Blocker**: CRITICAL - Previous run showed FLAGS conflicts in yaze_emu_test linking - **Owner**: CLAUDE_LIN_BUILD (specialist agent monitoring) - **Test Command**: `cmake --preset lin-dbg && cmake --build build` - **CI Job Status**: Building... ### macOS Build - **Status**: ⏳ IN_PROGRESS (CI Run #485 - Job "Build - macOS 14 (Clang)") - **Previous Fixes**: z3ed linker error resolved (commit 9c562df277) ✅ - **Previous Run**: PASSED in run #19528789779 ✅ - **Known Issues**: None active - **Blocker**: None - **Owner**: CLAUDE_MAC_BUILD (specialist agent confirmed stable) - **Test Command**: `cmake --preset mac-dbg && cmake --build build` - **CI Job Status**: Building... ## HTTP API Validation ### Phase 2 Implementation Status - **Status**: ✅ COMPLETE (validated locally on macOS) - **Scope**: cmake/options.cmake, src/cli/cli_main.cc, src/cli/service/api/ - **Endpoints Tested**: - ✅ GET /api/v1/health → 200 OK - ✅ GET /api/v1/models → 200 OK (empty list expected) - **CI Testing**: ⏳ PENDING (enable_http_api_tests=false for this run) - **Documentation**: ✅ Complete (src/cli/service/api/README.md) - **Owner**: CLAUDE_AIINF ## Test Execution Status ### Unit Tests - **Status**: ⏳ TESTING (CI Run #485) - **Expected**: All pass (no unit test changes in this branch) ### Integration Tests - **Status**: ⏳ TESTING (CI Run #485) - **Expected**: All pass (platform fixes shouldn't break integration) ### E2E Tests - **Status**: ⏳ TESTING (CI Run #485) - **Expected**: All pass (no UI changes) ## GO/NO-GO Decision Criteria ### GREEN LIGHT (GO) Requirements - ✅ All 3 platforms build successfully in CI - ✅ All test suites pass on all platforms - ✅ No new compiler warnings introduced - ✅ HTTP API validated on at least one platform (already done: macOS) - ✅ No critical security issues introduced - ✅ All coordination board blockers resolved ### RED LIGHT (NO-GO) Triggers - ❌ Any platform build failure - ❌ Test regression on any platform - ❌ New critical warnings/errors - ❌ Security vulnerabilities detected - ❌ Unresolved blocker from coordination board ## Current Blockers ### ACTIVE BLOCKERS **BLOCKER #1: Linux FLAGS Symbol Conflicts (CRITICAL)** - **Status**: ⚠️ UNDER OBSERVATION (waiting for CI run #485 results) - **First Seen**: CI Run #19528789779 - **Description**: Multiple definition of FLAGS_rom and FLAGS_norom; undefined FLAGS_quiet - **Impact**: Blocks yaze_emu_test linking on Linux - **Root Cause**: flags.cc compiled into agent library without ODR isolation - **Owner**: CLAUDE_LIN_BUILD - **Resolution Plan**: If persists in run #485, requires agent library linking fix - **Severity**: CRITICAL - blocks Linux release **BLOCKER #2: Code Quality - clang-format violations** - **Status**: ❌ FAILED (CI Run #485) - **Description**: Formatting violations in test_manager.h, editor_manager.h, menu_orchestrator.cc - **Impact**: Non-blocking for release (cosmetic), but should be fixed before merge - **Owner**: TBD - **Resolution Plan**: Run `cmake --build build --target format` before merge - **Severity**: LOW - does not block release, can be fixed in follow-up ### RESOLVED BLOCKERS **✅ Windows std::filesystem compilation** - Fixed in commit 43118254e6 **✅ Linux circular dependency** - Fixed in commit 0812a84a22 **✅ macOS z3ed linker error** - Fixed in commit 9c562df277 ## Release Merge Plan ### When GREEN LIGHT Achieved: 1. **Verify CI run #485 passes all jobs** 2. **Run smoke build verification**: `scripts/agents/smoke-build.sh {preset} {target}` on all platforms 3. **Update coordination board** with final status 4. **Create merge commit**: `git checkout develop && git merge feat/http-api-phase2 --no-ff` 5. **Run final test suite**: `scripts/agents/run-tests.sh {preset}` 6. **Merge to master**: `git checkout master && git merge develop --no-ff` 7. **Tag release**: `git tag -a v0.x.x -m "Release v0.x.x - Windows std::filesystem fix + HTTP API Phase 2"` 8. **Push with tags**: `git push origin master develop --tags` 9. **Trigger release workflow**: CI will automatically build release artifacts ### If RED LIGHT (Failure): 1. **Identify failing job** in CI run #485 2. **Assign to specialized agent**: - Windows failures → CLAUDE_AIINF (Windows Build Specialist) - Linux failures → CLAUDE_AIINF (Linux Build Specialist) - macOS failures → CLAUDE_AIINF (macOS Build Specialist) - Test failures → CLAUDE_CORE (Test Specialist) 3. **Create emergency fix** on feat/http-api-phase2 branch 4. **Trigger new CI run** and update this checklist 5. **Repeat until GREEN LIGHT** ## Monitoring Protocol **CLAUDE_RELEASE_COORD will check CI status every 5 minutes and update coordination board with:** - Platform build progress (queued/in_progress/success/failure) - Test execution status - Any new blockers discovered - ETA to GREEN LIGHT decision ## Next Steps 1. ⏳ Monitor CI run #485 - https://github.com/scawful/yaze/actions/runs/19529565598 2. ⏳ Wait for Windows build job to complete (critical validation) 3. ⏳ Wait for Linux build job to complete 4. ⏳ Wait for macOS build job to complete 5. ⏳ Wait for test jobs to complete on all platforms 6. ⏳ Make GO/NO-GO decision 7. ⏳ Execute merge plan if GREEN LIGHT --- **Coordination Board**: `docs/internal/agents/coordination-board.md` **Build Reference**: `docs/public/build/quick-reference.md` **HTTP API Docs**: `src/cli/service/api/README.md`