The season is over. The AWS Agentic Cup — the Virtual League the first two posts called the AWSMinds Agentic Football Cup — closed on 25 October, and the official final standings put my team, the Basalt Condors, 34th of 574 in League E.
Read that next to where we started: 121st of 329 after week one. The league nearly doubled while we climbed. We finished with 1,115 points from a maximum of 70 matches, 29 wins and 32 losses, 136 goals scored and 142 conceded, and nine clean sheets. Six league winners and four wildcards play on at the Grand Finale at AWS re:Invent on 2 December. We were not one of them, and the gap between 34th and a plane ticket is smaller than it looks.
One small correction against my own vanity: I played 62 matches, not 61. The last one kicked off at 16:17 UTC, eighteen minutes after the window shut, and the league froze its standings at the close whistle, so it does not count. Which is the only reason the table says 34th instead of 38th.
If you have not read the first two posts, start with week one, where a too-smart striker stood still for an entire season, and week two, where my own formation quietly stopped existing. This one is about the other five weeks, and about the difference between a fix you ship and a fix you merely believe in.
The whole season, in one line
The round-by-round ranking is the most honest chart I have: 75th, 30th, 21st, 34th, 29th, 31st, 38th. The official final table settled it at 34th — four places higher than the 38th I first reported, because the league froze standings at the close whistle and a result that landed afterwards did not count.
Two movements matter more than the rest. Round two to round three took us from 30th to 21st on a single pair of prompt changes. Round three to round four took us back to 34th, and that drop is the most instructive thing that happened all season.
Two changes that were still working five weeks later
Week two ended with two approved changes. I never touched either of them again. That was the whole strategy.
Change one, shoot smart. My strikers were told to shoot only from inside the box or after carrying the ball in. The measurable effect was on-target conversion: 31% in round two, 40% in round three, 46% in round four, then 44%, then 45%. Round two's signature — exactly one shot on target in every defeat — disappeared and never came back.
Change two, press then release. Pressing had been 57% of every command we issued, which is why we kept getting counter-attacked by teams doing nothing. After the change it ran at 0.6% to 16% depending on the match, and MARK and SHOOT took the slack. Five rounds later it was still there.
Here is the part I did not expect: the gains compounded. Because those two instructions were stable, every other observation the coach gave me was actually comparable. When you change three things a week you learn nothing, because you cannot tell which change did what. Two fixed variables bought me five weeks of legible data.
The leak I diagnosed seven times and never fixed
Every round, from round two to round seven, the same sentence appeared in the debrief: we concede inside the first minute.
It got worse, not better. Round three: four of ten matches conceded inside minute one. Round four: six of nine, eleven goals inside the opening sixty seconds. Round five: eleven goals across seven matches, four of five losses. Round six: nine goals inside a minute across six of eight matches. By the coach's count, 28 of our last 47 league matches conceded inside the opening minute.
The fix was one sentence, and it had been written down since round three:
For the first 30 seconds, hold your shape and mark your man — do not push up early. After 30 seconds, play normally.
The coach asked me to test it in practice seven times. Practice matches do not appear in the data it can pull, so the answer existed only on my side of the screen. I never ran it. Not once.
I have a good excuse, and it is the same excuse every operations team has: the change was small, the effect was obvious, and I was busy. So the fix stayed a theory while the leak kept costing us points in real matches — and two of those losses were on clean data, not glitches. The difference between the rank we finished with and the rank we could have finished with is probably that one sentence.
That is the most expensive thing I learned this season, and it had nothing to do with models. A fix you have not tested is not a fix. It is a hope with good wording.
When the data is impossible, the answer is no
The other recurring theme was the opposite problem: an AI confidently recommending changes based on numbers that could not exist.
Across five rounds, the coach flagged more than ten matches where our command mix was physically impossible for the prompt set we were running. An 82% press rate with zero shoot and zero mark commands. A match where our agent issued three commands in total, all of them override clears, at 17 milliseconds. Another where it issued six. Meanwhile our clean matches ran at 590 to 655 milliseconds of latency. The anomalous ones sat at 11 to 157.
The coach's own verdict was blunt: our prompts cannot produce this. Something else was on the pitch, or the telemetry was wrong.
Except once, the bad data nearly got me instead. After a round where we pressed 84% of the time and lost, I wrote a fix straight off that press-storm data: a midfield line telling the nearest player to mark instead of chase. It read beautifully. Then the league's own debrief put that match at 157 milliseconds average latency — a quarter of the floor our setup can physically produce — and the report's per-agent table contradicted its own summary. I withdrew the line before it ever went live.
I was wrong once, and what caught it was not judgement. It was a number: our prompts cannot answer faster than about 590 milliseconds, so anything below that is not my team. Every automation needs one number like that — the physical floor, the maximum possible throughput, the known cost per unit — because that is what turns a confident dashboard into a claim you can actually check.
Round six produced four anomalies in a single round, the heaviest cluster of the season, and after that check not one of them changed a decision I made. That is the same call I make for clients every week: the system proposes, a human verifies ground truth, and the human keeps the veto. An automation that rewrites your process because a dashboard says so is not automation, it is a rumour with a user interface.
I still have an unsent support email listing every flagged match across five rounds. The coach drafted it in round three. I never gave the go-ahead. That is the one piece of unfinished business from the season, and it is mine, not the model's.
The scoring rule that changes behaviour
The league pays +30 for a win, +10 for a draw, +2 for a loss, with bonuses for margin, clean sheets and streaks — and after 27 matches, only your best 27 results count toward the season.
I got that wrong in week two, and getting it right changed how I played. Once 27 scores are banked, a bad round cannot hurt you; it can only fail to help. What actually costs you is an unused slot. Round four I played nine of ten and dropped thirteen places. Round five I played all ten, went .500, and climbed five because the wins were big-margin ones.
Round seven I played four of ten. Not for strategy — I simply did not have the time that week, and four matches was all I could fit. That is the honest version of the capacity lesson, and it cuts both ways: the rule that protects you from a bad round is the same rule that punishes you for skipping one. I finished the season watching my own fourth match land eighteen minutes too late to count.
The lesson transfers directly to a business: your worst days stop counting as soon as your best ones are banked, but only if you keep the machine running. Capacity you do not use is the only unrecoverable loss.
The window nobody played
One week I could not sit through ten matches in a row, so I handed the entire window to an agent: a browser automation that logged into the portal, pasted the prompt book into all five slots, ran the pre-match fitness check, then looped — find an opponent, open the match, save the report, wait out the thirty-minute rest, repeat, ten times. Nobody touched the keyboard.
It went three wins and five losses on the eight matches that counted, including a 5–1 win where 52% of our commands were MARK and the opponent's 56% possession produced a single shot on target. It also taught me two things no documentation would have:
- A match can start without the page navigating. The portal swaps the screen for a "YOUR MATCH HAS STARTED" banner. My first watcher polled only the URL, and slept through an entire game.
- Matchmaking is bidirectional. Opponents can start a match against you while your page is idle, which is how two of my slots burned after the window closed and stopped counting.
Unattended, the thing got the tactics right and the plumbing wrong. That ratio is roughly what happens to every automation project I have seen: the model is rarely the problem, the integration around it usually is.
What a season of prompts is actually worth
Nothing on that pitch was code. Every improvement this season came from editing English sentences: making conditions countable, naming whose ball it was, putting a time limit on a shape, and deleting an instruction that was individually sensible and collectively a swamp.
The rule that surprised me most: each agent sees only its own prompt and the game state. There is no shared team brain. A rule that lives in one player's prompt simply does not exist for the other four — which is exactly how a process rule that lives in one employee's head behaves the moment they take a day off.
What we built for a client this month looked the same. A document pipeline that reads invoices, a support triage agent, an outreach workflow — the difference between one that quietly saves a team ten hours a week and one that emails a discount code to the wrong thousand people is not the model. It is how precisely someone wrote the instructions, and whether anyone tested the fix before trusting it with live traffic.
That is what we do at Sky High Designs. If part of your week still lives in email threads, copy-paste, and "I'll ask Anna to update the sheet", that is our usual starting point — or just tell us which process is eating your hours and we will tell you honestly whether a machine should be doing it.
Thirty-fourth of 574, from 121st, on two changes that held and one I never tested. Alpha Season 1 is done; six league winners and four wildcards are packing for Las Vegas and I am not one of them. If there is a season two, the early-shape line goes in first — and this time it gets tested.

