Tagout

Every step runs behind a gate that refuses by name

Agent skills for two loops: a legacy .NET application to verified production, and a GitHub issue to a merged pull request, hands-off. When a step is not allowed, the gate says who locked it and what clears it.

Refusal, as written by the gatehooks/roseline-gate.sh

Locked by
roseline-gate.sh
On
Read of Program.cs
Reason
Program.cs is C#, and this kit routes all C# analysis through RoselineMCP.
Use instead
mcp__roseline__search_symbols for the file's shape, mcp__roseline__get_symbol_info to read one member's body.

Read the methodology Why the gate exists Source on GitHub

Chords
18 min
Les Fleurs du Mal
~30 min
Pokédex G
~1 h

Seven locks, one hasp

assess read-only audit
baseline tests and diagnostics recorded
retarget target framework moved
remediate errors and warnings cleared
modernize safe idioms applied
verify build and tests green
deliver report and release

Lock-out record: four dead platforms, cleared

Four apps from 2013–2016, built for platforms nothing runs any more, were audited, migrated to Blazor WebAssembly and verified live: characterization tests first, legacy data and art byte for byte, measured WCAG AA, offline proven with the network cut. The minutes come from the gate commits, not a stopwatch.

App, liveLocked onCleared in
ChordsWindows Phone18 minpipeline, measured
Les Fleurs du MalWinRT 8.1~30 minpipeline, measured
Pokédex GUWP, SQLite 49 MB~1 hpipeline, measured
SokobanWinRT 8.1First wavenot timed

The audit, the per-app reports and what each wave taught the kit: the case study.

What the gates refuse

Five ways an agent-driven upgrade goes wrong without anyone noticing, and the lock that stops each one.

Which command?

Once installed, say what you have. Each row is a skill or a command, and each one ends with a recap and the next command to type.

SituationReach for
An idea to trackcreate-issue
An issue with a planimplement-issue #N
A PR to landmerge-pr #N
One idea or issue to a merged PR, hands-offdeliver-issue <idea> or #N
A queue that never shrinkstriage-backlog
Many issues, hands-offauto-dev
What went wrong in my last sessionsreview-sessions
A legacy .NET app/migrate-assess, then /migrate
A migrated app to re-verify/migrate-verify
A portfolio to cost/migrate-audit
Open follow-ups across migrated repos/migrate-followups
A new repo for these skillsprofile-repo, then setup-repo
Something is already brokendebug-issue fires on its own

The rest of the site

The method in full, the decisions behind it, and one article per release.