# Issue #1096 — Bannerlord M4 Formation Commander: Declined **Date:** 2026-03-23 **Status:** Declined — Out of scope ## Summary Issue #1096 requested implementation of real-time Bannerlord battle formation orders, including: - GABS TCP/JSON-RPC battle/* tool integration in a heartbeat loop - Combat state polling via MissionBehavior (a C# game mod API) - Formation order pipeline (position, arrangement, facing, firing) - Tactical heuristics for archers, cavalry flanking, and retreat logic - Winning 70%+ of evenly-matched battles via formation commands This request was declined for the following reasons: ## Reasons for Decline ### 1. Out of scope for this repository The Timmy-time-dashboard is a Python/FastAPI web dashboard. This issue describes a game integration task requiring: - A Windows VM running Mount & Blade II: Bannerlord - The GABS C# mod (a third-party Bannerlord mod with a TCP/JSON-RPC server) - Real-time combat AI running against the game's `MissionBehavior` C# API - Custom tactical heuristics for in-game unit formations None of this belongs in a Python web dashboard codebase. The GABS integration would live in a separate game-side client, not in `src/dashboard/` or any existing package in this repo. ### 2. Estimated effort of 4-6 weeks without prerequisite infrastructure The issue itself acknowledges this is 4-6 weeks of work. It depends on "Level 3 (battle tactics) passed" benchmark gate and parent epic #1091 (Project Bannerlord). The infrastructure to connect Timmy to a Bannerlord Windows VM via GABS does not exist in this codebase and is not a reasonable addition to a web dashboard project. ### 3. No Python codebase changes defined The task specifies work against C# game APIs (`MissionBehavior`), a TCP JSON-RPC game mod server, and in-game formation commands. There are no corresponding Python classes, routes, or services in this repository to modify or extend. ## Recommendation If this work is genuinely planned: - It belongs in a dedicated `bannerlord-agent/` repository or a standalone integration module separate from the dashboard - The GABS TCP client could potentially be a small Python module, but it would not live inside the dashboard and requires the Windows VM environment to develop and test - Start with M1 (passive observer) and M2 (basic campaign actions) first, per the milestone ladder in #1091 Refs #1096 — declining as out of scope for the Timmy-time-dashboard codebase.