Repository navigation
Preserve listing coverage before comparing growth and forecasting history - #37
Draft
byliu-labs wants to merge 3 commits into
Draft
byliu-labs wants to merge 3 commits into
byliu-labs wants to merge 3 commits into
Conversation
byliu-labs
marked this pull request as draft
October 14, 2026 17:58
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.
Restoring permission to an unchanged folder can currently produce a growth alert: the earlier scan completed with a denied listing, but snapshots do not persist that coverage evidence. Legacy snapshots can also feed a confident forecast although their listing coverage is unknown.
Persist reported listing coverage and require two complete, comparable samples before calculating growth, journal attribution, time-slider deltas, or forecasts (including folder-budget projections). Live/saved comparisons return
409 COVERAGE_INCOMPARABLE; existing mount-boundary checks remain in place. Old history remains readable but cannot establish a baseline until newly measured complete samples exist.This addresses reported errors only; listing failures an engine never reports remain outside this fix.
The tests use the shared
waitForhang guard. A pre-existing Windows failure in the identity stand-in is also corrected: expected paths now use the same native-parent canonical spelling as policy, rather than matching raw temporary-path strings. The same5000versusnullfailure occurs on unchanged main; an alias-spelling reproduction fails before the fixture correction and passes afterward. Production identity checks are unchanged.Validation: all four coverage regressions fail on main
2c28ff5before the fix. Real permission changes, a fresh Node-process reload, and real HTTP comparison endpoints are covered. The affected suites pass locally, the latest focused suites pass 15/15 with zero skips, and completenpm run typecheckpasses all three configurations. The generated UI matches its sources. The unchanged full platform workflow passed on macOS, Windows, Linux and Linux under the Portuguese locale on our fork at exact commit30191604faa4d9ce9d531eb8cc4d8bbbf700fb8e.The complete fork matrix is green. This PR remains draft because upstream Actions still awaits first-time contributor approval.