Tracks the third milestone in specs/clet-spec.md §7. This is the lock-in milestone: anything that ships in v1.0 is determined here, and contracts published past this point cannot break without a schemaVersion bump per §4.3.1.
Exit criteria — locks
Exit criteria — md viewer
Exit criteria — distribution
Exit criteria — verification
Exit criteria — pipeline + threat model
Moved to v0.9 RC (#5)
The following criteria were originally tracked here but are gated on a real TG release tag and don't block v0.5 lock-in. They live in #5 now:
Release workflow proven against a real TG release cut. Develop-channel half is done (Terminal.Gui.clet 2.0.2-develop.35 shipped end-to-end via tg-develop-published); release-tag half is captured under "One real release cycle end-to-end" in #5.
Homebrew tap + WinGet manifest in working draft form. Currently placeholder echoes per D-012 (build-from-source acceptable for first release). Tracked under "Operational" / "Homebrew formula + WinGet manifest in working-draft form" in #5.
Terminal.Gui dependency
The original criterion read "By v0.5 the Terminal.Gui dependency must be a release tag, not a *-develop.* preview NuGet." That has been superseded by D-020 — clet now uses a <TerminalGuiVersion> MSBuild variable in src/Clet/Clet.csproj, set per-build from the dispatch payload. There is no longer a "pin to remove" — clet builds against whatever TG version the dispatch names. The §8 risk row tracking the pin is resolved in the spec.
Kill criteria
Per the press release: we walk away from v1.0 if at v0.9 any of the following is unresolved:
- Inline rendering doesn't actually feel inline across the four target terminals.
- AI-agent JSON contract churn (consumers stop trusting it).
- Native-installer pipeline that breaks on every release.
- The
Markdown View losing ground to glow on common Markdown variants.
v0.5 is where these become measurable, not vibes.
Tracks the third milestone in
specs/clet-spec.md§7. This is the lock-in milestone: anything that ships in v1.0 is determined here, and contracts published past this point cannot break without aschemaVersionbump per §4.3.1.Exit criteria — locks
mdare final.schemaVersion: 1is the contract for all of clet 1.x. Notypefield on envelopes. Cancel envelope is{"schemaVersion":1,"status":"cancelled"}. Per-cletvalueshapes per the §4.3.2 table.md) locked. Notable absence:password. Additional viewers (json,log,diff) explicitly deferred to v2.Exit criteria —
mdviewermdviewer clet implemented per §4.5 viewer pattern; uses TG'sMarkdownView end-to-end.SurfaceOnlypolicy per Appendix A;--allow-link-openopts in.clet --helpandclet helprender via the sameMarkdownView pipeline (§4.7), replacing the v0.11 plain-text help.Exit criteria — distribution
dotnet tool install -g Terminal.Gui.cletpacks and installs locally (mdv pattern, see D-019).tg-develop-publisheddispatch from TG fires the workflow;Terminal.Gui.clet 2.0.2-develop.35shipped to nuget.org autonomously;dotnet tool install -g Terminal.Gui.clet --prereleaseresolves it from the public feed.Exit criteria — verification
clet text,clet pick-file,clet md, theme switch, mouse, inline restore). Captured in release-checklist issue #23.Exit criteria — pipeline + threat model
--titlesanitization, Markdown link policy, file-access scope, plugin-loading exclusion. (docs/threat-model.md)clet mdcontent source (file arg, stdin, or both) decided and shipped. (D-015)Terminal.Gui.Cletsas a separate assembly).Moved to v0.9 RC (#5)
The following criteria were originally tracked here but are gated on a real TG release tag and don't block v0.5 lock-in. They live in #5 now:
Release workflow proven against a real TG release cut.Develop-channel half is done (Terminal.Gui.clet 2.0.2-develop.35shipped end-to-end viatg-develop-published); release-tag half is captured under "One real release cycle end-to-end" in #5.Homebrew tap + WinGet manifest in working draft form.Currently placeholder echoes per D-012 (build-from-source acceptable for first release). Tracked under "Operational" / "Homebrew formula + WinGet manifest in working-draft form" in #5.Terminal.Gui dependency
The original criterion read "By v0.5 the Terminal.Gui dependency must be a release tag, not a
*-develop.*preview NuGet." That has been superseded by D-020 — clet now uses a<TerminalGuiVersion>MSBuild variable insrc/Clet/Clet.csproj, set per-build from the dispatch payload. There is no longer a "pin to remove" — clet builds against whatever TG version the dispatch names. The §8 risk row tracking the pin is resolved in the spec.develop. (Release-tag promotion no longer required to close v0.5; the develop pin is gone per D-020.)MarkdownView golden-file rendering tests) — resolved.— superseded by D-020. csproj usessrc/Clet/Clet.csprojTerminal.GuiPackageReferenceupdated from*-develop.*to a TG2.x.yrelease version<PackageReference Include="Terminal.Gui" Version="$(TerminalGuiVersion)" />; the workflow overrides per dispatch.Kill criteria
Per the press release: we walk away from v1.0 if at v0.9 any of the following is unresolved:
MarkdownView losing ground toglowon common Markdown variants.v0.5 is where these become measurable, not vibes.