fix: [EPIC] Local Bannerlord on Mac — emulator, harness bridge, and portal readiness #1306

Closed
Rockachopa wants to merge 2 commits from mimo/code/issue-719 into main
Owner

Closes #719

Automated by mimo-v2-pro swarm.
Worker: mimo-code-719-1775996217.processing

Closes #719 Automated by mimo-v2-pro swarm. Worker: mimo-code-719-1775996217.processing
Rockachopa added 2 commits 2026-04-12 16:34:14 +00:00
fix: [EPIC] Local Bannerlord on Mac — emulator, harness bridge, and portal readiness (closes #719)
Some checks failed
CI / test (pull_request) Failing after 9s
CI / validate (pull_request) Failing after 11s
Review Approval Gate / verify-review (pull_request) Failing after 2s
73bc86d3a2
- scripts/bannerlord_launcher.sh: Mac launcher detects Whisky/CrossOver/Wine and GOG Bannerlord install
- nexus/bannerlord_local.py: Python module for programmatic readiness check, launch, and stop
- nexus/bannerlord_harness.py: Added --local and --launch-local CLI flags
- portals.json: Updated bannerlord portal with local_launch metadata and environment=local
- docs/BANNERLORD_LOCAL_MAC.md: Full documentation of local Mac setup
fix: closes #719
Some checks failed
CI / test (pull_request) Failing after 9s
CI / validate (pull_request) Failing after 13s
Review Approval Gate / verify-review (pull_request) Failing after 3s
10db434ab0
Rockachopa requested review from perplexity 2026-04-12 16:34:14 +00:00
Member

Perplexity Review — PR #1306

Verdict: Request Changes

Summary

Adds local Bannerlord-on-Mac support via Wine/Whisky/CrossOver emulation. Includes documentation (docs/BANNERLORD_LOCAL_MAC.md), a Python module (nexus/bannerlord_local.py), a shell launcher (scripts/bannerlord_launcher.sh), harness integration flags (--local, --launch-local), and portal metadata updates. Also deletes ~101 lines of duplicated MemPalace/branch-policy UI from index.html.

Blockers

  1. CI is failing — all checks fail. Must pass before merge.
  2. 1 conflicting fileindex.html conflicts with the target branch. The index.html cleanup overlaps with PRs #1312, #1316, #1317, #1318 which all clean the same duplicated content.

Notes

  1. The Bannerlord feature code is well-structured — clean Python dataclasses, proper error handling, fallback emulator detection, PID management, and JSON output for harness consumption.
  2. The shell launcher mirrors the Python module's logic, providing both CLI and programmatic interfaces.
  3. The index.html deletions are cleanup of duplicated MemPalace blocks and branch policy sections — legitimate but should be split into a separate commit or coordinated with the other cleanup PRs.
  4. portals.json environment change from "production" to "local" is intentional but affects the Bannerlord portal globally — ensure this is correct for all environments.

Decision

Fix CI and resolve the index.html conflict. Consider splitting the index.html cleanup into its own PR to avoid blocking the Bannerlord feature on the index.html conflict chain.

## Perplexity Review — PR #1306 **Verdict: Request Changes** ### Summary Adds local Bannerlord-on-Mac support via Wine/Whisky/CrossOver emulation. Includes documentation (`docs/BANNERLORD_LOCAL_MAC.md`), a Python module (`nexus/bannerlord_local.py`), a shell launcher (`scripts/bannerlord_launcher.sh`), harness integration flags (`--local`, `--launch-local`), and portal metadata updates. Also deletes ~101 lines of duplicated MemPalace/branch-policy UI from `index.html`. ### Blockers 1. **CI is failing** — all checks fail. Must pass before merge. 2. **1 conflicting file** — `index.html` conflicts with the target branch. The `index.html` cleanup overlaps with PRs #1312, #1316, #1317, #1318 which all clean the same duplicated content. ### Notes 1. The Bannerlord feature code is well-structured — clean Python dataclasses, proper error handling, fallback emulator detection, PID management, and JSON output for harness consumption. 2. The shell launcher mirrors the Python module's logic, providing both CLI and programmatic interfaces. 3. The `index.html` deletions are cleanup of duplicated MemPalace blocks and branch policy sections — legitimate but should be split into a separate commit or coordinated with the other cleanup PRs. 4. `portals.json` environment change from "production" to "local" is intentional but affects the Bannerlord portal globally — ensure this is correct for all environments. ### Decision Fix CI and resolve the `index.html` conflict. Consider splitting the `index.html` cleanup into its own PR to avoid blocking the Bannerlord feature on the index.html conflict chain.
Member

Changes requested (Perplexity QA): Not mergeable — needs rebase against current main after recent merges. Rebase and resubmit.

**Changes requested (Perplexity QA):** Not mergeable — needs rebase against current main after recent merges. Rebase and resubmit.
perplexity closed this pull request 2026-04-13 00:55:46 +00:00
Member

Closing — unmergeable (conflict with main), and the Bannerlord-on-Mac emulator scope needs a dedicated epic with operator validation before merge. Original issue #719 preserved.

— Perplexity Triage

Closing — unmergeable (conflict with main), and the Bannerlord-on-Mac emulator scope needs a dedicated epic with operator validation before merge. Original issue #719 preserved. — Perplexity Triage
Some checks failed
CI / test (pull_request) Failing after 9s
CI / validate (pull_request) Failing after 13s
Review Approval Gate / verify-review (pull_request) Failing after 3s

Pull request closed

Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-nexus#1306