Fix/post bareiss followup - #90
Open
hyperpolymath wants to merge 6 commits into
Open
Conversation
…s 12 → 128 main is currently RED: KnotTheory.jl#48 merged, so the conway @test_broken now reports 'Unexpected Pass' — a hard error, and exactly the forcing signal the marker existed to produce. This clears it. - conway(figure_eight) restored to a hard @test. Upstream now normalises alexander to Delta(1) = +1 (the Conway normalisation) instead of 'leading coefficient positive', which was the wrong canonical choice on mixed-sign knots; the value is 1 - z^2 exactly. - ALEXANDER/CONWAY_MAX_CROSSINGS 12 → 128. The bound of 12 was calibrated against the O(n!) cofactor determinant that #48 replaced with O(n^3) Bareiss elimination. Re-measured on (2,n)-torus closures (the worst case — no arc merging): n=40 → 0.07s, n=100 → 0.10s, n=140 → 0.61s, against 6h+ at n=16 before. 128 keeps the worst case sub-second while covering every realistic diagram. Jones (20) and HOMFLY (15) are unchanged — those are genuinely exponential. - The guard testset is reworked: with the three bounds now an order of magnitude apart, one diagram can no longer exercise them all. It tests a 16-crossing diagram (only HOMFLY defers; alexander, conway and jones must all be real) AND a 130-crossing diagram (all four defer). The second case asserts crossings > ALEXANDER_MAX_CROSSINGS explicitly, so raising the bound without raising the fixture fails loudly rather than going quiet. Validated locally against KnotTheory main (a2f2938): the full axioms suite passes with ZERO broken markers — a first for this suite. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The 11/200 count did not move when KnotTheory#48 merged, falsifying the
assumption that the alexander/conway sign convention caused it. Split by
Delta(1) over the same 200-trial corpus:
links (Delta(1)=0): 11 mismatch, 87 agree
knots (Delta(1)=±1): 0 mismatch, 102 agree
Knots are now fully crossing-order invariant; the residual is entirely a
multi-component-link defect. Upstream conway_polynomial reconstructs from
an assumed symmetry about exponent 0 that no link satisfies (even span
gives a half-integer centre), so it returns genuinely different
polynomials for the same link — 1 + z^2 vs 1 — rather than a different
unit. Filed as KnotTheory.jl#51 with the worked examples.
Comment updated to cite that evidence instead of the old vague wording.
The marker stays until #51 lands.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…e instantiate #83 changed server/Project.toml [sources] from ../../../<name>.jl to ../../<name>.jl but left this workflow symlinking two levels above the workspace. Every run since has died in 'Instantiate server project' with expected package KnotTheory [215268c9] to exist at path /home/runner/work/quandledb/KnotTheory.jl i.e. main has been red for this as well as the conway marker — the path error hits first, so the axioms suite never even ran. Symlink now targets $GITHUB_WORKSPACE/../, matching [sources]. Adds a check that reads server/Project.toml and asserts every [sources] path resolves to a real directory BEFORE instantiate, so the next drift names its own cause instead of surfacing as a registry-shaped error. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
KnotTheory.jl#52 landed the link canonicalisation, so the BR-5 crossing-order marker reports 'Unexpected Pass' — a hard error, and the signal the marker existed to produce. Restored to a plain @test. Measured against KnotTheory main after #52: 0 mismatches over 200 trials, links and knots alike (was 11/200, every one a multi-component link). Validated at CI's 50 trials: all four BR-5 testsets pass with no Broken column. quandledb now carries NO @test_broken markers. Every marker this campaign added was retired by the upstream fix it was tracking. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Both were swept into the previous commit by accident. They document the KRL-side EXPLAIN surface, which lands in #86 — leaving them here would put documentation of a feature on main ahead of the feature itself. Restored to main's version; they are committed properly on #86. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Summary
Closes #
Type of change
How has this been verified?
Checklist
git commit -S).SPDX-License-Identifier(code/configMPL-2.0,prose
CC-BY-SA-4.0); I did not relicense existing files.Notes for reviewers