[THROWAWAY - do not merge] Validate the #1712 docs fast path - #1714
Closed
erikdarlingdata wants to merge 1 commit into
Closed
[THROWAWAY - do not merge] Validate the #1712 docs fast path#1714erikdarlingdata wants to merge 1 commit into
erikdarlingdata wants to merge 1 commit into
Conversation
…d classifier Expected: DOCS FAST PATH ENGAGED (all_count == docs_count == 1, no area lit), setup/restore/versioning skipped, build check well under a minute. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
erikdarlingdata
force-pushed
the
throwaway/docs-fastpath-check
branch
from
July 26, 2026 21:03
6ea4637 to
167002f
Compare
Owner
Author
|
Throwaway validation complete: stage 1 proved the regression (run 30219202642), stage 2 proved the fixed filters per file (run 30219765613), stage 3 measured the working fast path end to end (run 30220291489, 13s). Evidence recorded in #1715. |
pull Bot
pushed a commit
to ehtick/PerformanceMonitor
that referenced
this pull request
Jul 29, 2026
The 2026-07-26 08:02 action-pin bump moved dorny/paths-filter v3 to v4.
v4 evaluates every filter pattern as an INDEPENDENT predicate under the
default predicate-quantifier 'some' (a filter is true when any changed
file matches at least one rule), so a bare '!**/*.md' line stopped
being a subtraction and became its own rule: 'any file that is not
markdown'. Every area filter ending in that line went true for ANY
non-markdown change anywhere in the repo, and the code: filter ('**'
plus exclusions) could never be false again.
Measured consequences, straight from run logs:
- darling-pg ran the full TimescaleDB suite on every PR since the bump,
including md-only ones. Run 30218459544 (PR erikdarlingdata#1709, two .md files):
'Filter darling = true, Matching files: CHANGELOG.md' - CHANGELOG.md
matched '!Darling/**/*.md' by virtue of not being a Darling markdown.
- A single root .gitignore edit built and tested every product: run
30219202642 (throwaway PR erikdarlingdata#1714) lit lite, dashboard, AND darling,
each reporting 'Matching files: .gitignore' via its '!**/*.md' rule.
- The erikdarlingdata#1712 docs fast path shipped unable to engage: every changed file
matches '**', so code: was always true and setup/restore always ran.
Its measured 1m43s md-only runs were real but came from the area
filters (markdown matches no include), not from the fast path.
The fix keeps v4 (v3 is on the deprecated-runtime track) and removes
every bare negation instead:
- Area filters state the markdown carve-out INSIDE each include as an
extglob - 'Darling/**/!(*.md)' - where quantifier semantics cannot
detach it. The positive-only docs allowlist needed no change.
- The uninvertible code: filter becomes an all: counter. The classify
step decides docs-only by all_count == docs_count, and additionally
refuses to engage while any area filter is lit, because an area build
step with restore skipped would run dotnet build --no-restore against
nothing. Counts and areas derive from the same allowlist today; the
veto exists for the day someone edits one and not the other.
- check-version-bump.yml had the identical '**'-plus-exclusions shape,
so its md-only skip had also silently stopped working. Same counter
fix, same allowlist, and its gate now says why.
Validation: probe commit on throwaway PR erikdarlingdata#1714 (this build.yml plus a
Darling .txt probe and a Darling .md probe) makes the filter log a
per-file truth table; results recorded in the CI-intelligence PR body.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.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 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.
Single root .gitignore comment - on the #1712 documentation allowlist but NOT markdown, so before #1712 this exact diff hit the '**' catch-all and paid the full six-project restore. Expected: build check ~1m45s with restore/setup skipped and a DOCS FAST PATH ENGAGED notice naming .gitignore; darling-pg reports its skip decision. This PR exists only to capture that evidence for the CI-intelligence PR and will be closed unmerged.
🤖 Generated with Claude Code