Repository navigation
Phase 0 gates: every row typed in answers-check, lint ratchet, unservable lookup rows, full offline suite in CI - #6
Merged
Conversation
…able lookup rows, full offline suite in CI check_sample now types every row's present cells and every column element (the first row still in full; a cell a row lacks is allowed, as the app's sparse-row binding shows "—" for it). answers-check --lint is a gate: kind lints minus the reasoned lint_exempt.json entries and utc lints fail; a keyword lint fails only when it is new against tests/fixtures/keyword_lint_baseline.json (474 held today), so the backlog can only shrink. evallookup reports rows whose every accepted source is refused, failed or missing as unservable instead of counting them, and an all-unservable set never passes. CI runs the lint gate and the whole offline suite after the build (the built pack's tests included), gates the development lookup set and reports held-out and sealed (held-out 36/38 on 2026-10-06). The lint test asserts the gate passes on the repo's own data; the column test helper types a day column as date. Docs: current counts (8,672 sources, 310 curated from 140 providers, 129 subcategories) and packs described as sha256-pinned until Ed25519 lands (PLAN R12); SCHEMA.md states the all-rows rule. Round 19 execution plan, Phase 0.
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.
Round 19 execution plan, Phase 0: the publish-time gates the authoring loop will rely on. No record or answers file changes content.
What changes
check_sampletypes every row and every column element. The first row of a list is still checked in full; in every later row and every column a present cell must hold its declared type, while a cell the row lacks is allowed (the app's sparse-row binding shows "—" for it). Until now list rows were typed on the first row only and columns not at all. All 254 answers files and the 32 recorded samples pass.answers-check --lintis a gate. Kind lints (minus the reasoned exemptions inlint_exempt.json, the same list the test suite applies through the newexempt_key) and utc lints fail. A keyword lint fails only when it is new againsttests/fixtures/keyword_lint_baseline.json(474 held today): a ratchet, so the backlog can only shrink as sources are filed under their keywords. The tooling test asserts the gate passes on the repo's own data.evallookupreports unservable rows instead of failing on them. A row whose every accepted source is refused, failed or missing (the refused ESPN endpoints, an id that was never a record) is listed as unservable and not counted; a set that is entirely unservable never passes.Verified
sourcetool checkclean;answers-check --lint0 problems; 248 tests pass against a freshly built pack; lookup development 46/46, sealed 29/29, held-out 36/38, with 1/2/1 unservable rows reported.