Repository navigation
Validate scheduler models and cache paths - #19
Merged
Merged
Conversation
Refuse adaptive by name instead of raising NotImplementedError; validate every model at its use sites, not only at construction, since model_copy skips validation; check sub-range bounds and refuse reversed timing spans; keep cache entries directly under the cache root with percent-encoded keys; restate the numeric claims against the ledger; make every README block run and test that it does; add an install section; enable the unused-argument lint, wire type checking into checks, and trim the classifiers to what CI tests. Wiki pages match the package metadata. Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Test Results115 tests +16 115 ✅ +16 1s ⏱️ ±0s Results for commit a221e68. ± Comparison against base commit a2d3ea8. This pull request removes 2 and adds 18 tests. Note that renamed tests count towards both. |
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.
The first repository to flip, read against the principles in
FLIP_READINESS.mdby an adversarial review. Every accepted finding lands here with a test.Behaviour
plan_split("adaptive")refuses withPostureErrorsaying where adaptive is planned, instead ofNotImplementedErrorfrom a public name. The posture stays in the taxonomy because every consumer speaks it.WorkSplit,QueryProfile,NodeCostandLinkRategaincheck(), called by the validator and by every use site (execute_split,estimate,is_stale_for,is_stale, both cache writes).model_copy(update=...)skips validation and these models are copied; tests pin that an invalid copy is refused where it is used.extra="forbid"on all of them.SplitExecutionvalidates its own figures.RowRange.sliceandRowBatch.slicerequire0 <= start <= stop <= len;RowBatchrefuses a negative start. Python slicing would clamp or wrap these silently.profile_from_spansrefuses a reversed or negative span.ProfileCacheexpands~, percent-encodes every key component and refuses any entry that is not a file directly under the root. Entries written under the old naming are not found and get re-measured.Claims
test_readme.pyruns them in order; an install section says how to install from the repository.Quality gates
ARGenabled (tests exempt, per the review rule) and the two production hits fixed;check-typesis part ofmake checksand its 21 diagnostics are fixed; classifiers trimmed to the CPython 3.12 CI tests; orphan coverageomitremoved; the vacuoustest_allasserts the exported surface.Dispositions of the findings not changed here (posture taxonomy,
hostas measurement data, template-managed workflow and Makefile items) are recorded inFLIP_READINESS.md.