Skip to content

v0.1.90

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 17:33
· 238 commits to main since this release
b213a05

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
  • spec(0132): record the epic for specht through the Model Context Protocol by @RLittlesII in #81
  • task(0129): add a rule page for every SPEC rule id by @RLittlesII in #79
  • task(0133): end a violation line with the identifier it is about by @RLittlesII in #82
  • task(0128): re-scope the duplicate-id check to specht rules by @RLittlesII in #83
  • spec(0101-F6): specify in-specification id uniqueness by @RLittlesII in #84
  • spec(0055-F2): check the merge tree on a pull request by @RLittlesII in #85
  • task(0005): Read layouts, exclusions and file shapes from the manifest by @RLittlesII in #78
  • spec(0101-F6): answer review round 1 by @RLittlesII in #86
  • spec(0055-F2): record and answer review round 13 by @RLittlesII in #87
  • spec(0101-F6): answer review round 2 by @RLittlesII in #88
  • spec(0101-F8): specify work-item id allocation by @RLittlesII in #89
  • spec(0101-F7): specify record number uniqueness by @RLittlesII in #90
  • task(0019): Reject an exclusion entry with an inner slash by @RLittlesII in #91
  • task(0053): Fill a partial tree and fail a root that is not a directory by @RLittlesII in #92
  • chore(0134): renumber the claim-tags item, ending the doubled 0118 by @RLittlesII in #93
  • task(0120): Convert the integer pin to semver by @RLittlesII in #94
  • chore: specht by @RLittlesII in #95
  • chore: clean up namespaces by @RLittlesII in #96
  • nuke: cleaning up GitHub Actions by @RLittlesII in #97
  • chore(0135): show priority in the /next report by @RLittlesII in #98
  • chore(0136): reconcile the paths the project renames left behind by @RLittlesII in #99
  • refactor(0137): fold the engine's root files into feature slices by @RLittlesII in #100
  • refactor(0138): fold the tests into folders that mirror the feature slices by @RLittlesII in #101
  • chore(0139): write the sliced layout into the conventions by @RLittlesII in #102
  • fix(0140): annotate and upload coverage where the workflow has no matrix by @RLittlesII in #104
  • spike(0141): file the spike on rule settings from .editorconfig by @RLittlesII in #105
  • task(0143): rank work by what ships the product and its Features soonest by @RLittlesII in #106
  • refactor(0106): name the rules on a hand-written list by @RLittlesII in #107
  • spec(0142): record the epic for the GitHub Action by @RLittlesII in #108
  • task(0006): check path identity only for a layout that declares it by @RLittlesII in #109
  • spike(0099): accept ADR-0007 and file the command-test migration by @RLittlesII in #110
  • task(0014): lower or disable a rule from the manifest by @RLittlesII in #111
  • spec(0109): cut the benchmark harness and check scaling into items by @RLittlesII in #112
  • task(0146): add the benchmark project, its entry point and shared configuration by @RLittlesII in #113
  • spike(0151): weigh returning input failures as values instead of throwing them by @RLittlesII in #115
  • task(0147): generate the synthetic tree the benchmarks measure by @RLittlesII in #114
  • spike(0151): propose ADR-0009 on returning input failures as values by @RLittlesII in #117
  • task(0107): resolve the engine from the container through AddSpechtEngine by @RLittlesII in #116
  • feature(0150): measure the whole check as the tree grows by @RLittlesII in #118
  • spike(0154): record the engine boundaries in ADR-0010 and cut its items by @RLittlesII in #119
  • spec(0001-F7): start the schema freeze at schema version 1.0.0 by @RLittlesII in #120
  • feature(0001-F2): make the specht.tool package release-ready and slim the README by @RLittlesII in #121
  • spec(0001-F9): specify reading and setting the configuration from the command line by @RLittlesII in #122
  • spec(0001-F5): design the manifest's keys, forms and grammars for 0016 by @RLittlesII in #123
  • task(0084): rename the publish workflow to release and create the GitHub Release by @RLittlesII in #124
  • spec(0001-F7): hold the first release for a schema sourced at a URL by @RLittlesII in #125
  • task(0179): write the setup guide's initialisation and manifest parts by @RLittlesII in #126
  • spec(0055-F7): document a global install as a second path beside the manifest by @RLittlesII in #128
  • spec(0001-F7): ratify the upstream schema source as the spechtSchema key by @RLittlesII in #127
  • task(0176): read the spechtSchema key into the manifest structure by @RLittlesII in #129
  • spec(0001-F2): move the tool's configuration to .specht/ (ADR-0011) by @RLittlesII in #131
  • task(0181): add the command-line reference and cut the readmes to the built surface by @RLittlesII in #132
  • spec(0101-F9): specify a warning for a section stamp that lists more than one date or role by @RLittlesII in #134
  • task(0182): print the tool's version with --version by @RLittlesII in #133
  • task(0183): move the tool's configuration to .specht/ by @RLittlesII in #135
  • task(0184): document checking several projects by @RLittlesII in #136
  • spec(0001-F4): make init's parts opt-in and name the configuration layout by @RLittlesII in #138
  • spec(0001-F7): name a version's folder for its number and freeze it with a version lock by @RLittlesII in #139
  • fix(0192): normalize the init writer test's folder prefixes on Windows by @RLittlesII in #140
  • task(0185): move the manifest to manifest.json and the frontmatter schemas to their own folder by @RLittlesII in #141
  • task(0193): record the lost citations and check the merged commit by @RLittlesII in #142
  • nuke: add Benchmarks build target by @RLittlesII in #143
  • spec(0193, 0194): add epics for grooming by @RLittlesII in #144
  • task(0186): select requested init parts by @RLittlesII in #145
  • spec(0196): define the onboarding epic by @RLittlesII in #146
  • task(0126): name embedded versions with semver by @RLittlesII in #147
  • task(0095): fetch verified upstream schemas by @RLittlesII in #148
  • chore: git ignore by @RLittlesII in #149
  • task(0092): check verified local upstream schemas by @RLittlesII in #150
  • task(0178): record an upstream source on init by @RLittlesII in #151
  • task(0180): document GitHub schema setup by @RLittlesII in #152
  • task(0188): lock schema versions once by @RLittlesII in #153
  • task(0188): clarify schema version independence by @RLittlesII in #154
  • task(0190): refuse unlocked schema releases by @RLittlesII in #155

Full Changelog: https://github.com/RLittlesII/specht/commits/v0.1.90