Repository navigation
Releases
Releases · RLittlesII/specht
v0.5.12-preview
What's Changed
🐛 Bug fixes
- bug(0363): pack and release specht.mcp with the tool by @RLittlesII in #736
Full Changelog: v0.5.11-preview...v0.5.12-preview
v0.5.11-preview
What's Changed
🚀 Features
- feature(0359): reject declaration surface comments by @RLittlesII in #725
- feature(0329): specht-mcp, the MCP host that runs the pinned specht by @RLittlesII in #729
- feature(0331): rule text, rule list and manifest through MCP by @RLittlesII in #731
🐛 Bug fixes
- bug(0354): separate prerelease and repository flags by @RLittlesII in #712
📚 Documentation
- chore(0357): document how to release by @RLittlesII in #720
- feature(0332): the MCP page, docs/mcp.md by @RLittlesII in #732
- task(0362): improve README and docs index by @RLittlesII in #733
📐 Specifications
- spec(0352): define Feature claim prefix precedence by @RLittlesII in #710
⚙️ Build and CI
- task(0353): build comparator in consuming jobs by @RLittlesII in #713
- feature(0344): expose configurable mirror action by @RLittlesII in #691
🧹 Chore
- chore(0355): use Specht avatar on analyzer package by @RLittlesII in #714
- chore(0356): close milestone 0.4.0 by @RLittlesII in #718
- spike(0358): track stable code citations by @RLittlesII in #722
- chore(0360): share package metadata across packable projects by @RLittlesII in #727
- chore: v0.5.0 by @RLittlesII in #734
Full Changelog: v0.4.2-preview...v0.5.11-preview
v0.4.2-preview
What's Changed
🚀 Features
- task(0018): name the manifest's sections, keys and markers in rule messages by @RLittlesII in #697
🐛 Bug fixes
- bug(0326): keep test child builds out of the runner's command files by @RLittlesII in #654
📚 Documentation
- chore(0343): split the manifest milestone by @RLittlesII in #687
📐 Specifications
- spec(0194, 0132): write epic 0194 out, specify the MCP host and reading through MCP by @RLittlesII in #642
- spike(0216): accept ADR-0026, do not adopt the source-generated mediator by @RLittlesII in #643
- spec(ADR-0027): lift the structural-stage gate onto a no-regression guard by @RLittlesII in #649
- spec(roadmap): split 0.5.0 into four milestones by surface by @RLittlesII in #650
- spike(0252): propose ADR-0028 from trialling three MCP record access paths by @RLittlesII in #648
- spec(0124): record the pin policy rulings and defer tool-process memory by @RLittlesII in #678
♻️ Refactoring
- refactor(0156-0163): split each multi-id rule into one rule per id by @RLittlesII in #655
- refactor(0164): collapse the rule interface and make the evaluator an instance by @RLittlesII in #677
- refactor(0153): move the tree, its store and a generator into the engine by @RLittlesII in #681
- refactor(0166): build the model from text through a builder, parsers and one reader by @RLittlesII in #689
⚙️ Build and CI
- bug(0325): build the tool in Release before the Benchmark target packs it by @RLittlesII in #645
- chore: close milestone 0.3.0 in the goal file and write the release rule by @RLittlesII in #658
- task(0346): add Roslynator cleanup by @RLittlesII in #699
- task(0348): complete native cleanup policy by @RLittlesII in #702
- bug(0351): isolate release integration fixtures by @RLittlesII in #708
🧹 Chore
- chore: v0.4.0 by @RLittlesII in #707
📋 Other changes
- feat(0211): judge advisory regressions over paired release evidence by @RLittlesII in #644
- task(0212): collect both pinned revisions in one bounded comparison session by @RLittlesII in #647
- task(0100): prefix the engine's types with Specht rather than Spec by @RLittlesII in #652
- task(0213): render comparison reports and retain their evidence bundle by @RLittlesII in #653
- task(0327): publish prereleases to nuget.org through trusted publishing by @RLittlesII in #659
- task(0214): run advisory release comparisons from the release workflow by @RLittlesII in #657
- spec(0132): plan the MCP first release as milestone 0.5.0 by @RLittlesII in #662
- task(0333): run the nuget.org push in its own publish job on a hosted runner by @RLittlesII in #668
- spec(0224): move the matrix rules to schema 0.3.0 and cut their items by @RLittlesII in #670
- task(0321): cut schema 0.3.0 and pin this repository to it (0339) by @RLittlesII in #679
- task(0341): treat a schema version as published only when a package carries it by @RLittlesII in #682
- task(0334): report a Test cell that names no declared test (SPEC032) by @RLittlesII in #684
- task(0169): renumber the rule ids by group in schema 0.3.0 by @RLittlesII in #685
- task(0335): report a Scenario cell title no tagged scenario has (SPEC4007) by @RLittlesII in #690
- test(0166): cover the unreadable disk schema and non-array tree content by @RLittlesII in #692
- test(0152): unit-test each rule's decision over a model built in memory by @RLittlesII in #693
- task(0124): float the pin with a pin policy by @RLittlesII in #694
- task(0016): read keys, forms and grammars from the manifest by @RLittlesII in #695
- task(0345): make epics opt-in by the manifest's epic grammar by @RLittlesII in #698
- task(0347): close 0001-F5's manifest gaps by @RLittlesII in #701
Full Changelog: v0.3.1...v0.4.2-preview
v0.3.1
What's Changed
🚀 Features
- task(0280): read pinned rule entries by @RLittlesII in #577
- feat(rules): list pinned rule levels by @RLittlesII in #578
- task(0282): print rules as JSON by @RLittlesII in #581
- task(0283): produce the effective manifest by @RLittlesII in #584
- feature(0025): complete the check command by @RLittlesII in #587
- task(0284): complete manifest inspection by @RLittlesII in #589
- task(0288): set one pinned rule level by @RLittlesII in #595
- task(0292): write the templates a recorded upstream source hashes on init by @RLittlesII in #615
📚 Documentation
- task(0305): verify the highest target framework by @RLittlesII in #579
- task(0303): document native Gherkin claim input by @RLittlesII in #583
- task(0296): record the mirror's first live run and amend the docs that deny issues by @RLittlesII in #598
- chore(0312): record the ask-before-copying-live-state lesson by @RLittlesII in #602
📐 Specifications
- task(0283): design effective manifest projection by @RLittlesII in #582
- chore(0306): ship concise specification templates by @RLittlesII in #585
- spec(0228): specify the open-question gate and dangling id references by @RLittlesII in #606
- spec(0132): record MCP service requirements by @RLittlesII in #625
🧪 Tests
- test(0081): prove schema version independence by @RLittlesII in #594
⚙️ Build and CI
- task(0189): cut the next schema version by @RLittlesII in #599
🧹 Chore
- chore(0302): cut items 0302 and 0303 for the native Gherkin claim release by @RLittlesII in #571
📋 Other changes
- docs(0304): say what specht checks in a repository with no .NET code by @RLittlesII in #574
- spec(0001-F16): specify native Gherkin claims in the standalone checker by @RLittlesII in #576
- spike(0307): record specification requests by @RLittlesII in #586
- task(0311): spike analysis of an amendment comment beside a stamp by @RLittlesII in #596
- chore: drop the settings checklist and the open Renovate items by @RLittlesII in #604
- task(0290): read the template hashes an upstream schema source records by @RLittlesII in #605
- task(0047): keep manifest settings on upgrade and list what changed by @RLittlesII in #613
- task(0046): prove upgrade fails cleanly on a missing root or a bad manifest by @RLittlesII in #614
- task(0319): build init --epics and close 0050 by @RLittlesII in #617
- task(0093): fetch and verify a recorded upstream schema source on upgrade by @RLittlesII in #616
- task(0291): fetch and verify the templates a recorded upstream source hashes on upgrade by @RLittlesII in #619
- task(0044): prove a shipped schema version never changes by @RLittlesII in #621
- spec(0001-F17): specify output verbosity as a draft with its need open by @RLittlesII in #620
- task(0048): prove upgrade refuses a schema version the check rejects by @RLittlesII in #622
- task(0094): list the frontmatter schemas upgrade skips under the on-disk source by @RLittlesII in #623
- task(0131): leave the templates the manifest names as the consumer's alone on upgrade by @RLittlesII in #624
- spec(0001-F7): withdraw B-115 and B-117, narrow 0041 to schema 0.2.0's claims by @RLittlesII in #626
- spec(0055-F9): lesson 0002, a removed item leaves its issue on the board by @RLittlesII in #627
- spec(0132-F2): unblock epic 0132, confirm its cut, specify the facts command by @RLittlesII in #628
- task(0320): order binding elements and target choices by identity by @RLittlesII in #629
- task(0323): prove B-074 and B-116, close 0041, re-home B-037 and B-038 to schema 0.3.0 by @RLittlesII in #630
- spec(0228, 0132): confirm the remaining cuts, move the service to epic 0324 by @RLittlesII in #632
- spec(0055-F9): close the issue of a removed item as not planned by @RLittlesII in #636
- spike(0220): propose ADR-0025 on versioning rule pages without a copy per schema version by @RLittlesII in #637
- chore: release v0.3.0 by @RLittlesII in #641
Full Changelog: v0.2.35...v0.3.1
v0.2.35
What's Changed
🚀 Features
- feature(0263): deliver a central .spec/features tree as scenario inputs by default by @RLittlesII in #266
- task(0294): write the mirror script on the shared item reader by @RLittlesII in #280
- feature(0298): take evidence paths as positional arguments by @RLittlesII in #563
🐛 Bug fixes
- fix(0297): parse the gh adapter's node lookup as gh prints it by @RLittlesII in #561
- fix(0301): read MSBuild properties from the result file in tests by @RLittlesII in #568
📚 Documentation
- task(0265): carry the 0260 review's M4 and M5 findings through spec, test and docs by @RLittlesII in #278
📐 Specifications
- spec(0258): design the native claim catalogue manifest contract and tag semantics by @RLittlesII in #260
- spec(0001-F15): define onboarding report by @RLittlesII in #262
- spec(0055-F9): mirror the work items to GitHub issues, one way by @RLittlesII in #277
- chore(0293): cut the work-item mirror items 0293 to 0296 by @RLittlesII in #279
⚙️ Build and CI
- ci(0264): run the Unix leg on the self-hosted macOS pool by @RLittlesII in #261
- task(0295): generate the mirror workflow from the build by @RLittlesII in #281
🧹 Chore
- chore(0258): cut work items 0258 to 0262 from the agreed Gherkin catalogue and evidence specs by @RLittlesII in #259
- chore(0299): plan the open work as release milestones in the goal file by @RLittlesII in #565
📋 Other changes
- spike(0256): define Snowflake record id evaluation by @RLittlesII in #255
- fix(0257): deliver SpechtTestEvidence to the analyzer as test-evidence by @RLittlesII in #257
- spec(0201): native Gherkin claim catalogue and VSTest evidence claims by @RLittlesII in #258
- feature(0260): collect VSTest evidence with categories, selection and ownership by @RLittlesII in #263
- task(0045): design upgrade to the pin by @RLittlesII in #264
- spec(0001-F9, F10, F11): groom rules, manifest and set; cut items 0280-0288 by @RLittlesII in #265
- task(0289): spike analysis of large comment chunks in markdown by @RLittlesII in #267
- feature(0245): map scenario metadata into the common evidence contract by @RLittlesII in #268
- spec(0001-F7): fetch the consumer's own schemas and templates without a credential by @RLittlesII in #271
- feature(0045): specht upgrade brings schemas and templates to the pin by @RLittlesII in #270
- feature(0259): read the claim catalogue from tagged Gherkin by @RLittlesII in #269
- chore(0290): cut the upstream template items 0290 to 0292 by @RLittlesII in #272
- task(0093): design the upgrade fetch from the recorded source by @RLittlesII in #273
- feature(0130): read the manifest key that names the consumer's templates by @RLittlesII in #274
- feature(0262): gate the evidence report on owned case keys and planned rows by @RLittlesII in #275
- feature(0261): bootstrap evidence on a clean checkout by @RLittlesII in #276
- task(0300): mirror the goal file's milestones to GitHub milestones by @RLittlesII in #567
Full Changelog: v0.2.4...v0.2.35
v0.2.4
What's Changed
🚀 Features
- task(0222): read the manifest keys for matrix resolution at schema 0.2.0 by @RLittlesII in #202
- task(0037): say what the frontmatter, section and table rules expected by @RLittlesII in #208
- task(0223): skip rules whose own level is off by @RLittlesII in #212
- task(0175): expose init rule defaults by @RLittlesII in #213
- task(0233): check one document's frontmatter by @RLittlesII in #215
- task(0234): add the frontmatter command by @RLittlesII in #216
- task(0225): resolve matrix test names by @RLittlesII in #217
- task(0038): report identity and claim expectations by @RLittlesII in #219
- task(0039): add structured repair expectations by @RLittlesII in #220
- task(0235): fill sign-off table defaults by @RLittlesII in #221
- task(0227): check waivers and retired claims by @RLittlesII in #223
- task(0040): add pinned rule explanations by @RLittlesII in #224
- feature(0238): implement binding identity by @RLittlesII in #230
- feature(0242): read consumer analysis inputs by @RLittlesII in #231
- task(0239): validate XML binding documentation by @RLittlesII in #232
- task(0240): resolve type authoring defaults by @RLittlesII in #234
- task(0241): implement safe XML binding code fixes by @RLittlesII in #235
- task(0243): package CodeAnalysis for editor and build by @RLittlesII in #237
- feature(0246): reconcile exported evidence by @RLittlesII in #246
- task(0251): analyze engine and CLI packages by @RLittlesII in #249
🐛 Bug fixes
- bug(0237): validate the working checker by @RLittlesII in #226
- bug(0237): self-check the working package by @RLittlesII in #227
- bug(0253): write test global config sections with forward slashes by @RLittlesII in #252
📚 Documentation
- task(0221): say how a consumer lowers SPEC060 by @RLittlesII in #198
- task(0247): document CodeAnalysis diagnostics by @RLittlesII in #236
- task(0247): document CodeAnalysis diagnostics by @RLittlesII in #244
📐 Specifications
- spec(0001-F12): specify matrix resolution and the trace command by @RLittlesII in #197
- spec(0001-F13): close the trace command's open questions by @RLittlesII in #199
- spec(0001-F8): approve the frontmatter command and cut 0232-0234 by @RLittlesII in #209
- spec(0132): request local document sequences by @RLittlesII in #222
- spike(0236): adopt hardened binding model by @RLittlesII in #225
- feature(0201): record CodeAnalysis decisions and work items by @RLittlesII in #228
- feature(0201): settle binding identity agreement by @RLittlesII in #229
- spec(0201-F3): agree runner evidence contract by @RLittlesII in #238
🧪 Tests
- task(0239): finish XML diagnostic delivery by @RLittlesII in #233
📊 Benchmarks
- Measure Specht.CodeAnalysis scaling by @RLittlesII in #242
⚙️ Build and CI
- task(0032): run the self-check through the tool manifest by @RLittlesII in #214
- Dogfood packed Specht.CodeAnalysis in analyzer project by @RLittlesII in #241
- task(0250): publish CodeAnalysis with releases by @RLittlesII in #248
🧹 Chore
- chore: version 0.2.0 by @RLittlesII in #251
📋 Other changes
- spec(0001-F3): ask what --report does at exit 2 and 3 by @RLittlesII in #200
- spec(0001-F12): approve matrix resolution by @RLittlesII in #201
- grooming: cut 0223-0226 toward matrix resolution and trace; raise 0001-F7 OQ-58 by @RLittlesII in #203
- spec(0001-F5): a rule off by its own level is not run; ask which role names the sign-off reviewer by @RLittlesII in #204
- spec(0228): record the epic for review surfaces by @RLittlesII in #205
- spec(0132, 0142): one repository and one tag for the tool, MCP host and action; map MCP to the command line by @RLittlesII in #206
- spec(0001-F14): specify the schema folder as a manifest setting by @RLittlesII in #207
- task(0229): measure coverage with static instrumentation on every runner by @RLittlesII in #210
- spec(0001-F7): report missing coverage once a Feature is done, from schema 0.3.0 by @RLittlesII in #211
- chore: remove layout section from README.md by @RLittlesII in #218
- feature(test-evidence): add v1 contract by @RLittlesII in #239
- feature(0245): validate scenario evidence by @RLittlesII in #240
- feature(0244): normalize test evidence by @RLittlesII in #245
- spec: define persistent specification index by @RLittlesII in #247
- spike(0252): evaluate MCP access to linked records by @RLittlesII in #250
- fix(0254): write the test evidence runner config path with forward slashes by @RLittlesII in #253
- fix(0255): check out full history in the release job by @RLittlesII in #254
Full Changelog: v0.1.131...v0.2.4
v0.1.131
What's Changed
🚀 Features
- task(0049): pin init to the newest schema by @RLittlesII in #157
- task(0062): gate staged specifications by @RLittlesII in #159
- task(0191): read defaults from the pinned schema by @RLittlesII in #173
- task(0187): reject schema path names by @RLittlesII in #176
- task(0134): configure claim tags in schema 0.2.0 by @RLittlesII in #177
- task(0054): restore init files at the pin by @RLittlesII in #183
- task(0043): select local frontmatter schemas by @RLittlesII in #182
- task(0210): select release comparison evidence by @RLittlesII in #181
- task(0121): add schema list and pin by @RLittlesII in #185
🐛 Bug fixes
- fix(0220): target the bundled framework in the cold-start baseline by @RLittlesII in #195
♻️ Refactoring
- refactor(0155): build shared model snapshots by @RLittlesII in #180
📊 Benchmarks
- task(0149): publish main-branch benchmark results by @RLittlesII in #166
- perf(0204): measure installed-tool cold start by @RLittlesII in #171
🧹 Chore
- task(0200): keep next Feature focused by @RLittlesII in #161
- task(0199): warm the dark logo palette by @RLittlesII in #172
- task(0215): share local agent resources by @RLittlesII in #186
- chore(0084): reconcile first-release evidence by @RLittlesII in #187
- task(0085): record workflow package-read proofs by @RLittlesII in #189
- task(0219): stop shipping schema 0.1.1 by @RLittlesII in #193
- spike(0220): weigh how rule pages are versioned by @RLittlesII in #194
📐 Specifications
- docs(spec): record deferred code analysis epic by @RLittlesII in #162
- task(0016): ratify manifest design by @RLittlesII in #164
- task(0191): design pinned omission defaults by @RLittlesII in #167
- spike(0205): record memory observer feasibility by @RLittlesII in #174
- spec(0109-F5): review and cut baseline comparison by @RLittlesII in #175
- task(0043): design explicit schema source selection by @RLittlesII in #178
- task(0209): design release comparison contracts by @RLittlesII in #179
- spec(0001-F7): define schema pin CLI and picker by @RLittlesII in #184
Full Changelog: v0.1.90...v0.1.131
v0.1.90
What's Changed
- feature(0059): Verify C# and Markdown formatting in the Format target by @RLittlesII in #1
- task(0064): Generate the CI workflow with Rocket.Surgery.Nuke on Linux and Windows by @RLittlesII in #2
- task(0021): Copy the engine and its tests from hooked by @RLittlesII in #3
- docs: make the unit tier a gate in the test-writer contract by @RLittlesII in #5
- task(0026): run the check, print diagnostic lines and exit with the verdict by @RLittlesII in #4
- spike(0099): track how a test builds and runs a specht command by @RLittlesII in #6
- chore(0068): pull the coverage gate forward; rank formula in the template only by @RLittlesII in #7
- task(0069): Write one Cobertura report per test project by @RLittlesII in #8
- task(0070): Upload coverage to Codecov from every CI run by @RLittlesII in #9
- task(0071): Configure Codecov's patch and project statuses by @RLittlesII in #10
- task(0011): Load and validate the manifest whole before any rule runs by @RLittlesII in #11
- task(0061): Report the check from SpecCheck without failing until rule settings exist by @RLittlesII in #12
- task(0034): Define the report document and publish its schema by @RLittlesII in #13
- docs: specify epic 0101, specification linting by @RLittlesII in #14
- task(0102): Skip the build's gates on documentation-only pull requests by @RLittlesII in #15
- docs(0014): accept ADR-0002 and cite it where rule settings apply by @RLittlesII in #16
- task(0027): Fail a missing root or manifest with 2 and an unparseable one with 3 by @RLittlesII in #17
- docs(adr): record Microsoft.Extensions.DependencyInjection as the container (ADR-0003) by @RLittlesII in #18
- test(0022): Baseline the engine's verdicts on a synthetic tree and its golden report by @RLittlesII in #19
- docs(adr): revise ADR-0001 against the-architect's assessment by @RLittlesII in #20
- docs(adr): accept ADR-0003 and ADR-0001 by @RLittlesII in #21
- docs(0001-F1): cut ADR-0001 migration stages A-D as items 0104-0107 by @RLittlesII in #22
- docs(0001-F1): amend C-7 and record ADR-0001's owed edits by @RLittlesII in #23
- docs(adr): propose ADR-0004 - per-rule settings are selection and a map by @RLittlesII in #24
- test(0012): guard the baseline verdicts under the default manifest, declared and omitted by @RLittlesII in #25
- docs(adr): propose ADR-0005 - typed injected stages, not a chain; a rule wrapper earned by fault isolation by @RLittlesII in #26
- docs(adr): accept ADR-0004 and ADR-0005 by @RLittlesII in #27
- docs(0001-F1): specify fault isolation and record ADR-0004/ADR-0005's owed spec edits by @RLittlesII in #28
- task(0104): Make the engine's model constructible in memory by @RLittlesII in #29
- docs(0103): design the violation order seam by @RLittlesII in #30
- docs(adr): propose ADR-0006 - a test runs a command through the production composition by @RLittlesII in #31
- docs(0108): add the benchmarker role and the benchmarkdotnet skill by @RLittlesII in #32
- docs(0109): fold in spec-reviewer findings on the benchmark epic by @RLittlesII in #34
- docs(0110): reshape README.md into a terse front page by @RLittlesII in #35
- docs(0111): say in README.md how the schema stays per repository under a global install by @RLittlesII in #36
- chore(0098): close the build's unit tier by owner decision by @RLittlesII in #37
- refactor(0103): expose the violation order as SpecCheckRunner.Order by @RLittlesII in #38
- task(0060): Check the staged content through Format from the pre-commit hook by @RLittlesII in #39
- docs(0055-F2): withdraw B-009, the stale-workflow check by @RLittlesII in #40
- chore: changing to the logo png by @RLittlesII in #42
- ci(0112): upload coverage to Codecov from the ubuntu-latest leg only by @RLittlesII in #41
- task(0113): add /next to rank the queue and group parallel lanes by @RLittlesII in #43
- task(0058): Run one test tier per target by @RLittlesII in #44
- task(0028): print the summary after the violations by @RLittlesII in #45
- chore(0114): file running each test tier as its own CI step by @RLittlesII in #46
- test(0023): prove the rule vocabulary, both layouts and identity by @RLittlesII in #48
- task(0066): Annotate a pull request's specification violations on its diff by @RLittlesII in #47
- task(0029): Name the check's options in --help by @RLittlesII in #49
- chore(0115): make /next offer one item per parallel lane by @RLittlesII in #50
- task(0035): Write the report document to stdout under --json by @RLittlesII in #51
- task(0051): embed the shipping copy and keep it equal to the live copy by @RLittlesII in #53
- task(0073): Generate the scheduled self-hosted Renovate workflow by @RLittlesII in #54
- task(0013): exit 3 with a rejected manifest's message alone on stderr by @RLittlesII in #52
- test(0024): prove the verdict is deterministic, relative and grid-blind by @RLittlesII in #55
- docs(0116): bring README.md § Layout in line with the repository, alphabetised by @RLittlesII in #56
- task(0052): Write the eight files into a bare root by @RLittlesII in #57
- task(0114): run each test tier as its own CI step by @RLittlesII in #58
- task(0042): pin schemaVersion and check with the embedded version set by @RLittlesII in #59
- docs(adr): reject ADR-0006 and propose ADR-0007 - each part registers itself, one factory composes the host and every test by @RLittlesII in #60
- task(0074): Group minor and patch updates and hold the engine's three by @RLittlesII in #63
- task(0079): Compute the version with Nerdbank.GitVersioning from version.json by @RLittlesII in #64
- task(0117): add refactor as a work-item type by @RLittlesII in #68
- test(0030): prove a check writes nothing under the root by @RLittlesII in #66
- spec(0001-F8): specify the frontmatter command by @RLittlesII in #65
- task(0017): Load frontmatter schemas by the manifest's file names by @RLittlesII in #67
- docs(0109): answer the benchmark epic's open questions by @RLittlesII in #61
- docs(0001-F5): specify opt-in epics through the manifest's epic grammar by @RLittlesII in #62
- spec(0001-F5): specify the claim tag form and case setting by @RLittlesII in #69
- task(0118): Run the Windows gates on a push to main only by @RLittlesII in #72
- task(0127): reserve an id on main before a branch claims it by @RLittlesII in #73
- spec(0001-F7): a schema version is semver, pinned exactly, moved by pin by @RLittlesII in #71
- task(0080): Pack the computed version into the package by @RLittlesII in #74
- refactor(0105): split the runner into Evaluate and Run by @RLittlesII in #75
- task(0015): Read sections, table headers and markers by role by @RLittlesII in #76
- spec(0001-F7): specify consumer-owned templates by @RLittlesII in #77
- task(0083): Generate the release workflow with its gates, dry run and tag check by @RLittlesII in #80
- ...