Web frontend and supporting services for lance.blue

test(scenarios): the guards two merged PRs claimed, and one they needed master

Three tests I said were in #236 and #239 are not on main, and were never in the commits either. The edit that inserted them keyed off a doc comment added by #234, which had not merged when those branches were cut, and a string replace whose needle is missing changes nothing and says nothing. The code landed; the tests silently did not, and I asserted them in both PR bodies without looking. So: every reported unit carries a battle value and the two names that prove the join is by designation land on the right figures; no faction repeats a designation, which is what makes that join unambiguous; and a scenario carries the patched bytes rather than a path to the image's unpatched copy. The fourth is new and is the one this pair needed. The report and the files it measures are two committed artifacts and nothing regenerates one when the other changes, so editing a vendored scenario without re-running ScenarioReport would leave every figure on a force card describing a fight nobody is playing. Both patches this repo carries were that shape of edit. Checked by mutation rather than by assertion: swapping a unit fails the report test, and reverting the CTR patch fails the carried-text test.


+129
1 changed file