From df09d3ae6140ba35c74bacdd04f793ace5127d39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Sun, 27 Sep 2026 20:41:59 +0000 Subject: [PATCH] :memo: Prune the completed backlog items Remove every done/cancelled item. Git history is the archive and each item's rationale already lives in the README, in development/ or in a released changelog entry; none was recorded only here, so no item had to be rescued into development/ before it could go. - drop the `v1.0:` and `Matcher:` projects too: their last open task is done, so those headers would stand empty - summarise the change under `[Unreleased]` in the changelog --- CHANGELOG.md | 3 +++ backlog.tasks | 24 ------------------------ 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1632b73..7b0d898 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- prune the completed items from the backlog; their rationale already lives in + the README, `development/` and the released changelog entries + ## [0.8.2] - 2026-09-25 - write the README's Synopsis and Examples sections diff --git a/backlog.tasks b/backlog.tasks index 17b88a8..404a0e3 100644 --- a/backlog.tasks +++ b/backlog.tasks @@ -7,32 +7,8 @@ Backlog and tracking for tiny-pattern-ts. Managed in vscode-todotasks format. Setup: ☐ Split off template into separate package => pi --session 01a07dde-7050-7054-bb36-1606d7eb2bc3 @low -v1.0: -✔ API surface is stable and fully typed @done - ✔ Finalize public exports in `src/index.ts` @done - ✔ Document all exported types and functions @done - ✔ Add JSDoc for public APIs @done -✔ Test coverage meets threshold @done - ✔ Achieve 100% branch coverage on `src/primitive-union.ts` @done - ✔ Achieve 100% branch coverage on `src/index.ts` @done - -Matcher: -✔ when using a union type as a property, the current behavior of tagged union matcher is @done - to pass never to handler parameters - → new matcher function needed or can be fixed in tagged union matcher - ✔ optional discriminant (`{ type?: "x" }`) is the same hole: the boolean/nullish change now admits the `undefined` tag, so the factory accepts the key, but `Extract>` still passes `never` to both the `x` and `undefined` handlers @done - Documentation: -✔ Bring README.md back to its previous form — synopsis and examples restored, in the correct place @done - → previous section order: title, tagline, Synopsis, Description, Requirements, Examples, API, License, Contributing - → previous Examples order: literal/exhaustive, typeof, structural/discriminated unions, when, any ☐ Create `examples/` directory with runnable snippets -✔ Add comparison section vs. other TS pattern-matching libs in Readme.md @done - ✔ Why do we do this? => exhaustiveness encoded type safe @done - ✔ Why this form? little syntax, data last, very small, autocomplete, strict typing in the handler; for more features use ts-pattern @done -✔ Write migration guide for users coming from discriminated unions @done (9/24/2026, 10:21:17 PM) -✔ Create backlog tasks for implementation @done (9/24/2026, 10:21:16 PM) -✔ Validate code fences in Markdown (start with README.md) — compile the TypeScript examples against `src/` so the docs cannot drift from the API @done Maintenance: ☐ Serve CI coverage over a tiny self-hosted webserver (replace the zip artifact) @low