Skip to content

release: v0.30.0 — Code-quality gates (TP-191..195) + 0.29.x carryover#575

Merged
HenryLach merged 2 commits into
mainfrom
release/v0.30.0
May 10, 2026
Merged

release: v0.30.0 — Code-quality gates (TP-191..195) + 0.29.x carryover#575
HenryLach merged 2 commits into
mainfrom
release/v0.30.0

Conversation

@HenryLach
Copy link
Copy Markdown
Owner

Minor release capping the entire code-quality-gates sequence — the moment Taskplane graduates to enforcing typecheck, lint, and format:check at PR time.

Why minor (not patch)

  • Observable CI surface changecontinue-on-error: true removed from lint; Typecheck and Format check (Biome) added as required steps. Anyone watching the repo sees the quality bar move.
  • Behavior changes from TP-195 bug fixes — three real bugs uncovered by typecheck cleanup are now fixed:
    • Preflight cleanup Layers 2-5 now actually run (silently broken since TP-065)
    • max_worker_minutes config now honored (was silently ignored due to camelCase typo)
    • Resume-path failure alerts now carry segment metadata (was always blank due to non-existent-field lookup)
  • New lint:fix script in package.json (DX-positive bonus from TP-194)

Per semver, these warrant a minor bump (0.29.x → 0.30.0).

What ships

Code-quality gates (the headline)

  • TP-191 Prep: scripts (typecheck / lint / format / format:check / lint:fix), pinned dev deps (Biome 2.4.15, TypeScript 5.6.3, @types/node), pi-shims.d.ts for both @earendil-works/* and @mariozechner/* scopes, tsconfig.ci.json, modernized biome.json (deprecated experimentalScannerIgnores migrated)
  • TP-192 Lint cleanup: 9 Biome errors fixed cleanly (noRedeclare ×2, noImplicitAnyLet ×5, noControlCharactersInRegex ×1, noUnsafeFinally ×1) — no biome-ignore suppressions
  • TP-193 Format adoption: biome format --write applied across 166 files; .git-blame-ignore-revs preserves blame archaeology; .gitattributes enforces LF line endings on all platforms (Windows core.autocrlf was masking format consistency)
  • TP-195 Typecheck cleanup: 264 errors → 0 across runtime source + tests; introduced makeOrchestratorConfig() / makeTaskRunnerConfig() test helpers; pi-shim extended for typed ui.custom<T>(). Plus the 3 bug fixes called out above.
  • TP-194 Gate flip: continue-on-error: true removed; Typecheck + Format check (Biome) added as required CI steps; TP-188 reviewer-agent quality-check downgrade rule now unconditional; documentation augmented across AGENTS.md / release-process.md / development-setup.md.

Carried over from 0.29.x [Unreleased]

Spec

  • docs/specifications/taskplane/code-quality-gates.md — full 5-packet design rationale, sage review consultation summary, Tier-2 deferred items (coverage, pre-commit hooks, etc.) explicitly tracked

Validation

  • Tests: 3627 passing / 1 skipped / 0 failed (Windows local Node 24.15.0)
  • Typecheck: exit 0 (TP-195 drove 264 → 0)
  • Lint: exit 0 (TP-192 drove 9 errors → 0)
  • Format check: exit 0 (TP-193 applied formatter universally)
  • Polyrepo end-to-end: ✅ verified by operator on real workspace post-TP-195 (the 3 bug fixes don't regress polyrepo flows)
  • All 5 packets merged in sequence: TP-191 → TP-192 → TP-193 → TP-195 → TP-194
  • 2 sage post-merge folds applied: TP-193's slice-window-bump + .gitattributes line-endings, TP-195's behavior-change risk assessment
  • This release PR runs under the NEW hard gates — first PR ever to be enforced by typecheck + lint + format:check at PR time

Issues closed

(none directly — this release bundles infrastructure work; the bug-fix issues from prior code-quality work plus #559/#560/#561 from TP-187/188/189/190 are already closed in their respective patch releases)

Tag

v0.30.0 will be pushed AFTER this PR merges. Use --merge mode to preserve the version-bump commit so the tag references it correctly.

HenryLach added 2 commits May 10, 2026 19:08
Rename [Unreleased] → [0.30.0] - 2026-05-10, insert fresh empty
[Unreleased] placeholder for the next cycle.

v0.30.0 ships the entire code-quality-gates sequence:
  - TP-191: scripts + tool pinning + pi-shims + reviewer discoverability
  - TP-192: lint cleanup (9 errors → 0)
  - TP-193: format adoption (biome format --write + .git-blame-ignore-revs + .gitattributes)
  - TP-195: typecheck cleanup (264 errors → 0) + 3 bug fixes uncovered by typecheck
  - TP-194: gate flip (typecheck/lint/format:check now required at PR time)

Plus: peerDeps migration to @earendil-works (carried over from v0.29.2),
the Runtime V2 spawn-failure visibility fix (TP-190 / #561) from v0.29.1,
and other entries already in the [Unreleased] section.

This is a meaningful semver event: CI gating change is operator-
observable; the public signal is 'taskplane has graduated to typed-
codebase quality bar.'
@HenryLach HenryLach merged commit ec343e8 into main May 10, 2026
1 check passed
@HenryLach HenryLach deleted the release/v0.30.0 branch May 10, 2026 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant