Invoke CombatOperations.TryResolve after E1 gates; nested combatResolution
on accept; per-ability catalog cooldown; target_defeated deny without
cooldown. Tests, Bruno defeat spine, README and module docs updated.
Split HTTP verification reads into Assert in C# API and integration tests.
Add # Arrange/# Act/# Assert to GdUnit suites and keep Act free of assertions
where casts and busy guards are under test.
Add explicit Arrange/Act/Assert sections to each hotbar API test method to align with the C# test style guide while preserving existing coverage and behavior.
Set E1.M4 documentation status to In Progress across decomposition tracking docs and add lower-bound slot validation coverage. Mark the corresponding review suggestions and nit as resolved in the saved review file.
Add server/client tests for duplicate-slot, schema, missing-player, normalization, and busy/error handling paths, and include Bruno requests for the new hotbar routes with happy and representative failure checks.
Ship a server-owned hotbar loadout API with Postgres-or-memory persistence so slot bindings survive reconnects in configured environments. Wire client boot hydration and add tests/docs/manual QA to keep the prototype contract and policy explicit.