chore(release): delivery hygiene — pinned dogfood engine, lint gate, node matrix, idempotent write-back - #32
Merged
Merged
Conversation
…ix, lint gate [roadmap:autonomous-qa-enhancements] - dogfood.yml installs rac-core at a commit SHA (reproducible; a default-branch install executed whatever landed upstream in this CI on every push), with the bump policy in a comment - ci.yml and dogfood.yml run with permissions: contents: read - the build job fans out over Node 20/22/24 (engines says >=20 and the release builds on 24 — test what users run, not only the floor) and gains a lint step - lint is Biome, lint-only (formatter off), recommended rules at zero diagnostics with two recorded house-style exceptions Signed-off-by: Tom Ballard <tom@armytage.co>
…idempotent [roadmap:autonomous-qa-enhancements] - parseConfig validates cross-references with the offender named: duplicate capability ids, a defaultTarget or capability environment naming no defined environment, a persona reference naming no defined persona — a typo no longer degrades silently to the fallback URL at run time - the GitHub gateway re-points an existing head branch instead of failing 422, returns the already-open PR for a head instead of failing, and paginates comment listing past the first hundred so the marked comment is updated, never duplicated - linksFromResults POSIX-normalizes spec/trace paths before they become corpus Verified By references - parseCoverageArgs uses the same requireValue guard as every other parser; lint-driven cleanups (explicit block bodies, no assignment in expressions) Signed-off-by: Tom Ballard <tom@armytage.co>
…e paths [roadmap:autonomous-qa-enhancements] Pins parse-time rejection of duplicate ids and unknown environment/persona/defaultTarget references, branch re-pointing and existing-PR reuse on 422, comment pagination past one hundred, POSIX-normalized write-back links, and the coverage parser's value guard. Signed-off-by: Tom Ballard <tom@armytage.co>
…dmap:autonomous-qa-enhancements] Implements lore-proofkeeper/requirements/req-delivery-hygiene.md. Adds the requirement and design artifacts, the roadmap initiative, and the changelog entry. Signed-off-by: Tom Ballard <tom@armytage.co>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Batch 4 (final) of the technical-review fixes. Stacked on #31 (→ #30 → #29) — merge in order; GitHub retargets automatically.
What
Supply chain & CI
mainin this repo's CI on every push, and made the gate non-reproducible. Bump policy documented inline.ci.ymlanddogfood.ymlgainpermissions: contents: read(previously default token scope; only release.yml was least-privilege).enginessays>=20and the release builds on 24, but only 20 was ever tested.useLiteralKeys,noNonNullAssertion— the codebase's deliberate bracket-access and post-validation!idioms) plususeTemplateoff to avoid churn.npm run lintruns in CI.Config correctness
parseConfignow validates cross-references with the offender named: duplicate capability ids, adefaultTargetor capabilityenvironmentnaming no defined environment, a persona reference naming no defined persona. A typo'd environment previously fell back to the default URL silently at run time.Idempotent write-back (GitHub layer)
linksFromResultsPOSIX-normalizes spec/trace paths — a## Verified Byreference written from Windows must resolve for every consumer.Small fixes:
parseCoverageArgsgets the samerequireValueguard as every other parser; a few lint-driven cleanups.Corpus (dogfood)
req-delivery-hygiene+design-delivery-hygiene, roadmap initiative,## Verified By→ the four pinning test files. Gates green:rac validate(35/35), relationships 51/51 (0 issues), self-coverage 17/17.Verification
npm run lintzero diagnostics;npm run typecheck/buildgreen.