Inspiration
A soccer goal is corrected. The score changes, the shot stays on target, and the old explanation is blocked because its facts no longer match. Touchline Why Replay makes that change visible, then connects the existing engine to a reviewed, reproducible release.
What it does
Explore seven snapshots of a fictional match. At 50 seconds, Harbor initially leads 1-0. After the correction, the score is 0-0: the goal disappears, the shot stays on target, and the old recorded selection is blocked. At the final watermark, the replay score is Harbor 0, Meadow 1. At the start, future match evidence stays withheld.
The public judge link is a retained GitLab job artifact preview. Its five served files match the hosted build. It runs generated snapshots and labelled historical model output, without a live model call or backend.
How we built it
I started from my public MIT-licensed Touchline Why project. The GitLab copy preserves all 152 original files and notices. A Python 3.12 standard-library builder verifies the original Git blobs, runs the engine in temporary SQLite stores and exports seven snapshots. HTML, CSS and JavaScript provide the browser interface.
GitLab Duo Code Review 3.0.0 first requested tests for two symlink rejection paths. I added both cases inside the existing output test. Each checks rejection before engine generation while preserving the outside target and link. All eight methods pass on Windows and Linux without skips; removing either guard makes its regression fail.
A second native review examined the published fix at 4366dd09 and approved it, confirming the earlier request was addressed. That exact tree was merged into main at 260dd5d7. A separate web-triggered CI job then passed all eight application tests, verified 152 original files and produced five static files. Anonymous checks verified every served asset and the corrected replay behavior. The artifact has no scheduled expiry.
Challenges we ran into
The original application used Python APIs. The separate static mode moves computation to build time. Release safety also required refusing unexpected output and symlinks before generating or overwriting files.
Accomplishments that we're proud of
The correction removes a goal without erasing the shot. Duo found a real test gap; the fix received a second review, and the hosted build matches the public preview. All 162 merged source files match the reviewed tree.
What we learned
Explanations and releases both need evidence tied to the exact facts or source that produced them. A passed review workload and application tests are separate checks.
What's next for Touchline Why Replay
Keep the verified preview available through judging and results, then extend the synthetic correction cases. Release remains Assisted: a person reviews findings and chooses when to run the bounded release job.
More from Jordan Skinner
BuildNextGen AI: https://buildnextgen.ai
LinkedIn: https://www.linkedin.com/in/jordan-skinner-b681a5105/
Built With
- gitlab
- gitlab-duo-agent-platform
- python
Log in or sign up for Devpost to join the conversation.