CI hygiene: fix perf-gate path filters and add docs phantom path check - #528
Merged
Conversation
- Add Infrastructure, Core.Application, Core.Domain, and Orchestration paths to perf-gate.yml so Infrastructure changes (e.g. ALLOW_MOCK adapters) trigger perf-gate without touching scripts - Add scripts/check-docs-phantom-paths.sh: local pre-commit check that mirrors onboarding-docs-guard 'Referenced repo paths must exist' logic to catch phantom backtick paths before PR CI - Update CONTRIBUTING.md pre-PR checks section to include the new script Fixes CI hygiene: no more path-touch workarounds for perf-gate tier-b, and fast local feedback on docs phantom paths before the guard fails PR CI. Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
- Update CiGateInventory.md: shell-lint and docs-link-check have NO path filters (both already always run on PRs and always report a status) - Add 'Checks that are safe to require' table with exact check names for branch protection: * cert-gate (currently required) * shell-lint (safe to require) * lychee (README + docs) (safe to require) * verify (layer-boundary, safe to require) * uat / uat cross-platform (safe to require) - Update branch protection snippet with commented examples for shell-lint and lychee - Update CONTRIBUTING.md branching section to note which additional checks are safe to require - Fix trigger map counts: 5 unfiltered PR workflows (was incorrectly listed as 3) CEO hold: do not require shell-lint or lychee until this documentation is reviewed. Both workflows are already correctly configured (no YAML changes needed). Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
Uh oh!
There was an error while loading. Please reload this page.
cursorBot
pushed a commit
that referenced
this pull request
Sep 6, 2026
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
cursorBot
pushed a commit
that referenced
this pull request
Sep 6, 2026
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
cursorBot
pushed a commit
that referenced
this pull request
Sep 6, 2026
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
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 freeto 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.
Summary
Streamline CI to eliminate path-touch workarounds and docs-guard bounce loops, plus audit and document which checks are safe to require as branch-protection checks.
Changes
1. perf-gate path filter expansion
src/Ashlar.Infrastructure/**,src/Ashlar.Core.Application/**,src/Ashlar.Core.Domain/**, andsrc/Ashlar.Orchestration/**to path filtersscripts/perf-gate*.sh2. Local docs phantom path check
`src/Ashlar.Forge/...`) before PR CI fails<name>,{a,b}) and git-ignored paths3. Safe-to-require check audit (CEO follow-up)
shell-lintanddocs-link-checkhave NO path filters and already always reportTesting
Verified that:
bash scripts/check-docs-phantom-paths.shruns successfully on the current codebase (0 missing paths).github/workflows/onboarding-docs-guard.ymllines 82-113pull_request:with NOpaths:filterTesting strategy (blast radius)
This is a CI configuration and tooling change:
Checklist
make testnot required (CI-only change)TODOorNotImplementedExceptionleft unresolvedRelease (only when this PR ships a versioned NuGet/GHCR release)
Safe-to-require CI checks (exact context names)
The following checks always run on every PR (no path filters) and are safe to add as required branch-protection checks:
cert-gatecert-gate.ymlshell-lintshell-lint.ymllychee (README + docs)docs-link-check.ymlverifylayer-boundary.ymluatanduat cross-platformuat-gate.ymlCEO hold: Do not require
shell-lintorlychee (README + docs)as branch-protection checks until this documentation is reviewed and approved. Both are already correctly configured to always report — no additional workflow changes needed.Notes
cert-gate(the only currently required check)shell-lintandlycheeare already correctly configured as always-run checks