Skip to content

Milestone: v0.9 RC — all test layers green, full release dry-run #5

@tig

Description

@tig

Tracks the fourth milestone in specs/clet-spec.md §7. This is the release-candidate gate: nothing changes between v0.9 and v1.0 except confidence.

Exit criteria

All eight §6 test layers green in CI

  • §6.1 unit tests — 90%+ coverage for Abstractions, Registry, Json.
  • §6.2 integration tests — every clet, every behavior variant, in-process via TG InputInjection. Snapshot rendering reuses TG's harness.
  • §6.3 process/smoke tests — TUIcast deterministic-script mode, one happy path per clet plus cancellation case (scope guardrail per §6.3).
  • §6.4 JSON contract tests — every emitted envelope validates against SchemaV1.
  • §6.5 cross-terminal manual matrix — fresh run captured in a release-checklist issue.
  • §6.6 AOT publish tests — zero trim warnings, smoke matrix runs against the AOT binary.
  • §6.7 performance tests — cold-start budgets met (<100ms macOS arm64, <150ms Windows x64; Linux budget [TBD per bar-raise issue]).
  • §6.8 release-pipeline dry-runs — weekly cron healthy for at least 4 consecutive weeks.

One real release cycle end-to-end

  • Release workflow proven against a real TG release cut. A real tg-released repository_dispatch from gui-cs/Terminal.Gui consumed by release-on-tg.yml. Develop-channel half is already done (proven on Terminal.Gui.clet 2.0.2-develop.35 shipped via tg-develop-published, moved here from #4); the release-tag half stays open until TG cuts a 2.x.y tag.
  • All RIDs in §5.2 build matrix produced signed, smoke-tested artifacts.
  • All three publish channels (Homebrew, WinGet, NuGet) accepted the artifacts (staging or production, maintainer call).
  • Rollback runbook (docs/runbooks/release-rollback.md) exercised once. This is where the open questions in that runbook (tag scheme, on-call rotation, paging channel, WinGet emergency contact, asciinema retention) get answered.

Operational

  • Homebrew formula + WinGet manifest in working-draft form (§5.4). Currently placeholder echoes; D-012 says build-from-source acceptable for first release. Moved here from #4 — drafts feed into v1.0 GA's "channels live."
  • Code-signing certs (Apple Developer ID, Authenticode) confirmed operational; renewal owner identified.
  • Homebrew tap repo (gui-cs/homebrew-tap) confirmed exists and is writable from the workflow.

Dependencies

All upstream TG work (#5156, #5157, #5158) must be shipped on a TG release by this point.

Out of scope

User-facing documentation polish (rolls into v1.0). Issue templates (also v1.0).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions