Inspiration
A database migration can apply successfully while breaking clients that still use the old schema. ReleaseSteward makes coexistence an executable question before a rollout.
What it does
The browser workbench runs three fixed work-order scenarios in fresh in-memory SQLite databases. A one-release rename exposes old-client failures; an invalid required-column migration fails atomically; an authored expand/backfill strategy synchronizes old and new clients. Reports retain check results, schema, source/evidence hashes and actual CI metadata when present.
How it was built
Python 3.12, SQLite and a browser interface support nine tests and a required compatible-verdict CLI gate. The assigned public GitLab project detects MIT. GitLab pipeline 2937183718 passed nine tests and produced a downloaded 9/9 compatible report for the code exercised in Duo.
The GitLab Duo flow has an inspector with file/command tools and a separate read-only reviewer. It retains both reports at specific non-ignored paths. Command restrictions are prompt instructions, not an enforced allowlist; a human retains the release decision.
Challenges and verified results
The first actual Duo session failed at 8/9 because rollback used DROP COLUMN on SQLite 3.34.1. Ignored report paths prevented independent review, and an older saved prompt differed from repository YAML. That failure remains public historical evidence.
The correction rebuilds the legacy table while preserving synchronized data. A regression checks old/new client updates, a new row and the restored default. Both saved catalog and actual runner prompts matched the corrected source.
Corrected session 9307096 passed all nine tests and 9/9 checks on Python 3.12.14/SQLite 3.34.1. The inspector verified both report hashes/check IDs from disk. The reviewer declared independent reads and produced a consistent final note. Its separate file-read traces are not exposed. The public evidence retains observed outputs and hashes; the platform truncates the compatible JSON display at 4096 characters.
Demonstration and limits
The public silent 2:44 demonstration combines the dated October 10 local workbench recording with actual October 12 GitLab screens. Timestamped observations show docs-only pipeline 2937434867 changing from Running to Passed at commit 744274d, with the migration harness unchanged. A later completed test job is an explicitly labelled hard cut. The Duo sequence browses completed session 9307096; it is not a new execution. Historical results and held captures remain labelled. English captions explain the failing rename, portable rollback correction, actual Duo inspection, reviewer evidence and human rollout decision. These checks cover controlled authored fixtures; production schemas and workloads require their own review and testing.
Development assistance
ChatGPT/Codex coding assistance was used during implementation and debugging. The compatible strategy was prepared in source before the run. Duo executed it and reviewed evidence; it did not generate a repair. Actual GitLab Duo execution is documented separately.
Source and actual execution
Public MIT source: https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/43259850/showcase Actual Duo session: https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/43259850/showcase/-/automate/agent-sessions/9307096 GitLab pipeline: https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/43259850/showcase/-/pipelines/2937183718
Log in or sign up for Devpost to join the conversation.