Repository navigation
The canonical-form and arm-order checkers run in CI, gated on their findings - #1653
Merged
Rafael-SOWNet merged 2 commits intoOct 1, 2026
Merged
Conversation
…indings CanonCheck and Confluence report findings by design. InnerSimplified is a normalisation and does not reorder operands, and three pairs of arms in Common and Power disagree where both fire. Neither can fail on a non-empty list. Each now commits its list of findings beside it, as corpus-baseline.tsv does, and fails when the list changes in either direction. HARNESS_UPDATE_BASELINE=1 rewrites the list. A finding whose case timed out counts as unmeasured, not gone, so a timeout still fails nothing. The lists hold 2091 lines for canoncheck and 3 for confluence. A canoncheck line names the stage, the property and the case, written out in full. A confluence line names the set and the two arms by their rule names, which survive an arm being inserted above them. AGENTS.md's two mentions of the harnesses in work/ now point here. Part of #1256. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Five comments and CanonicalForm.md pointed at work/canoncheck, work/rulecheck and work/simpsweep, which are Sources/Tests/Harnesses now. CanonicalForm.md's section 7 also listed three candidate forms where the harness measures four, and now says how CI gates it. The catalogue's count of idempotence failures for the sort alone is 18 on master, not 21, and the comment now points to the list that holds every one. BREAKING-CHANGES.md keeps its two mentions: they say where a change was found at the time. Part of #1256. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
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.
Part of #1256: the last two of its self-contained harnesses.
CanonCheckandConfluencereport findings by design.InnerSimplifiedis a normalisation and does not reorder operands, so 2024 of its 2738 order checks fail. Three pairs of arms inCommonandPowerdisagree where both fire. A gate that fails on a non-empty list would always be red.So each commits its list of findings beside it, the way
corpus-baseline.tsvdoes, and fails when the list changes in either direction. The list is the gate, and the counts can move freely.CanonCheckConfluenceArms are named by their rule names, such as
a-variable-times-a-number-puts-the-number-first, rather than by index. A name survives an arm being inserted above it.HARNESS_UPDATE_BASELINE=1rewrites a list. The failure message says so, and lists what appeared and what went away.Shared/Baseline.cs.Checked:
Confluenceonly. I madea-variable-times-a-number-puts-the-number-firsthand its node back unchanged.Confluenceexited 1 and named theCommonpair that went away.CanonCheck's list was unchanged, because no finding of its involves that arm. Reverted.AGENTS.md's two mentions of the harnesses in
work/now point toSources/Tests/Harnesses. So do five code comments andCanonicalForm.md. Its section 7 had listed three candidate forms where the harness measures four. The catalogue's count of idempotence failures for the sort alone was 21, and it is 18 on master.BREAKING-CHANGES.mdkeeps its two mentions, which record where a change was found at the time.After this, #1256's remaining harnesses each need something outside the repository:
docsamplesneeds the wiki and the site;intbenchneeds the Rubi suite;libcompareneeds two other libraries from NuGet;egraphis a measurement rather than a check.🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura