Repository navigation
Remove the deprecated check field from check results - #70
Merged
ottonomy merged 1 commit intoOct 20, 2026
Conversation
This was referenced Oct 14, 2026
`CheckResult.id` is now the only identifier a result row carries; `suite` stays, since it is how rows are grouped and cannot be recovered from a namespaced id. Everything that built a row — the orchestrator's four construction sites and the parse-failure result in the verifier — stops writing `check`. Readers switch to `id`: the recognition-profile extraction in the verifier, and the summary helper's test for the synthetic `<suite>.applies` row, which now compares against the computed id and so takes the suite's phase. A check's own local id is unchanged. The "Not run: <check> failed" reason, the detail of a check that threw, and the summary's "not run" message still quote it. Tests that read `.check` or built rows with a `check` key now use `id`, which carries the phase: a suite defined in a test with no phase yields ids beginning `unknown.`, and the Open Badges checks named `schema.obv3.*` keep both names when they run in a suite named `openbadges…`. Docs: every example result row in the README and the API guides shows `id` and `suite`; the architecture doc's field list drops `check`; the CHANGELOG records the removal rather than a deprecation, and the migration notes point readers at `id`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ottonomy
force-pushed
the
nightshift/47-remove-the-deprecated-check-field-from-check-res
branch
from
October 20, 2026 19:23
bdbfd05 to
7de6bf4
Compare
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.
Closes #47
Stacked on #69 — review and merge that first (or merge the stack together).
Departures
None. Everything under "What to build" is in the commit: the field is gone from
CheckResult, every writer and reader moved toid, all tests that read.checkor wrote acheckkey were converted, and the README, the API guide,the architecture doc and the CHANGELOG were updated.
Decisions not in the issue
pickAppliesSkipReasonnow takes the suite's phase. The summary helperused to recognise the synthetic row by comparing
checkto"<suite>.applies". Anidembeds the phase, so the comparison cannot bemade from the suite id alone. I passed the phase that
summarizeSuitealready has into the helper and compared against
computeId(phase, suiteId, "<suite>.applies"), rather than, say,suffix-matching the id. It is exact, and it reuses the one function that
builds ids.
idis written beforesuitein the JSON examples. The ticket says therows show "
idandsuite"; putting the identifier first reads better andmatches the rows the API guide already had.
test/openbadges/unknown-achievement-type-check.spec.tsthe local check idwas already a
CHECK_IDconstant, so I addedRESULT_IDderived from itrather than repeating the long namespaced string. Everywhere else I inlined
the id, matching the surrounding style.
style, so I wrapped them the way Prettier would. Prettier itself is not one
of the commands I was allowed to run, so this is by eye;
eslint src test(which
pnpm run testruns first) is clean.docs/api/verification-results.mdstill says"Singular
checkis used whenn === 1" — that is about the English word ina rollup message, not the removed field, so I did not touch it. The six
pre-existing type errors are likewise untouched, as the ticket directs.
Agent-Run: 2ed717c0-eeaa-4367-a5fd-dd0646c4d406