Repository navigation
Integrate reviewed reductions, graph explorer, and Rust 2024 migration - #1196
Conversation
Share exact polynomial algebra and partial-hull parameter composition. Add checked Newton coverage and regular-valid witnesses, conservative final-front filtering, transparent pred path output, and the schema-5 JSON view. Document the generic semantics and limitations, include the self-contained theory source, and exercise composition, comparison, rendering, and CLI behavior. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Set edition = "2024" for all four crates and rustfmt; pin
style_edition = "2021" so this change carries no formatting churn.
- Apply cargo fix --edition (closure pattern binding modes); keep plain
`expr` macro fragments since no caller passes `const {}` or `_`.
- Collapse nested ifs into let-chains per clippy::collapsible_if.
- Mark the illustrative #[reduction] syntax snippet as `text` so
`make test` (--include-ignored) no longer tries to compile it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drop the style_edition = "2021" pin and reformat. Formatting only: 2024 version-sorts imports and adjusts a few layout rules. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Edition 2024 needs Rust >= 1.85, but the let-chains this migration introduces need 1.88 (dev-dependency proptest 1.12 needs 1.88 too). Verified with `cargo +1.88 check --workspace --all-targets --all-features`. The MSRV-aware resolver (default for edition 2024) picks uuid 1.26 for rmcp on 1.88, since uuid 1.28 needs 1.89. Also realign a format! string in ilp.rs that rustfmt cannot reflow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The edition migration reflowed several error branches that no test reached, failing the codecov patch target. Add tests asserting each exact error: undersized num_vertices on graph construction, weight and setup-time overflow in evaluate, ILP objective overflow, malformed targets in rule extraction and gadget tapes, CLI after-help, and two proc-macro rejection paths. Test code only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
wait-ci reached emit_result(result, args.format) without defining --format, so every run crashed with AttributeError after CI finished. Add the option with the same choices and default as the other subcommands, plus a parser regression test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
b17d57d made create_pr look up the new PR by its head branch (so it works from worktrees) but left the test asserting the old call without head=. Assert the current call; production code is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Use exact hybrid polynomial multiplication, reduced Newton supports, batched curve caches, and grouped comparison summaries to improve route scaling without changing verdicts. Restore graph navigation, stream route rows before comparison, reuse idle WASM workers, load documentation and Atlas records on demand, and publish precomputed layout positions. Add regression tests, reproducible 100/999-route benchmarks, and an architecture and performance report. Validation includes 7,105 Rust tests, 45 browser checks, Clippy, and 553,863 matching pair verdicts.
Preserve the runtime already used for the Stage 0 screenshots, interaction pilots and production checks. Keep this preparation separate from new accessibility fixes and later TypeScript migration.
Pin build-only tooling and prove TypeScript emission, CSS delivery and finalized CSP in two real browser pages. Verify strict checking independently with valid and invalid input and no JavaScript output. Production integration remains a separate increment; no application TypeScript is introduced.
Review fixesPushed Six focused Node tests, TypeScript/ESLint checks, production bundling, and desktop/mobile browser regressions pass. The full repaired stack, including Rust 2024, passed 7,194 native tests, formatting, Clippy, the paper build, and 23 Python pipeline tests at |
[Critical] Remove KSatisfiability KN variant and short-clause constructors
Declare exact parameter counts that constructions always produce
Tighten ILP num_nonzeros bounds to per-constraint counts
Tighten StaffScheduling and SWRTD QUBO size bounds
Add binary decision ILP to SAT and fix solution validators
Add staff-scheduling QUBO and tighten direct-reduction bounds
Add Phase 3 conditional direct QUBO reductions
Add Phase 2 direct QUBO reductions
Add Phase 1 direct QUBO encodings for scheduling and assignment
…nces-complexity Fix SimultaneousIncongruences complexity to include the search period
…ad-structure Rebuild the graph page: Explorer panel, growth filter and Turing toggle
Migrate workspace to Rust 2024 edition
GiggleLiu
left a comment
There was a problem hiding this comment.
Agentic Review Report: final integration
The prior blocking findings are resolved in reviewed head d314b0b8bef7c7c7a879e626863b58d5e39ab080, targeting main. Approved on code review, with fresh main CI and Codecov still required before merge.
Structural and semantic
- Browser growth summaries preserve exact zero, use conservative upper-bound notation after discarding signs and coefficients, and retain independent monomials. Route-front labels describe size-bound candidates and explain the generic comparison domain. They do not claim actual size or runtime superiority.
- Explorer status follows concrete-variant witness routes. It no longer infers hardness or available solvers from family-level reachability. Shared load errors are visible in both modes.
- The scheduling allocation and complete matrix-objective range blockers are fixed with checked bounds and boundary regressions. The SetSplitting clause bound and fallible SAT construction fix landed separately in #1195 and are included here.
- The accepted exact-width K-SAT change includes corrected proofs and examples. The graph and K-SAT API breaks were accepted by the maintainer. SimultaneousIncongruences now has a documented exhaustive-search upper bound; this review does not establish the literature-best general bound.
- All five crates are included in the independently reviewed Rust 2024 migration. Integration conflicts and the changed route-comparison fixture were separately reviewed; all eight endpoint formulas and 24 directional certificates were checked independently.
- Individual PR merge records are preserved. Ancestry-only merges reproduce the tested source tree exactly:
28ce6046853ed92f7835e0418461f7bc00dd1bb4. The blocked growth/complexity changes in #1219, #1220, and #1221 are absent.
Quality and verification
make check: 7,194 tests passed with none skipped, plus formatting and all-target/all-feature Clippy.make paperand 23 pipeline tests passed.- The final changes after that native gate are limited to website CSS, browser/provenance tests, and the dev-dependency lockfile. Native source is unchanged.
- Fresh complete production website verification passed at
4f57c65928759e2a04933856d64f178eea4119c2, whose tree is identical to this PR head. All 339 browser cases passed across Chromium, Firefox, and WebKit, including recovery and nested deployment. Build, WASM, frontend contracts, TypeScript/lint, artifact hashes, provenance, and source-unchanged checks passed. - Visual inspection exposed a WebKit inline-math filter defect after the first full run. A narrow CSS correction passed independent review, old-CSS failure controls, dark/light pixel-reference regressions in all three engines, and the fresh full verifier. The new test's loading race was fixed and checked against a delayed real response. The provenance unit test retains actual report/hash assertions while stubbing only expensive external tool invocations.
- The updated PR body describes the consolidated scope and compatibility implications. Feedback sources were rechecked; no new material concern was found. Fresh main CI and Codecov remain the final merge gate and are not represented as completed by this review.
Policy audit
GATE: PASS. Prior independent semantic, edition, integration, and final CSS reviews found no unresolved harm signals. No secrets, generated exports, build/cache artifacts, conflict markers, scratch files, or production debug probes were introduced by the reviewed fixes. Final GitHub merge trees match the reviewed candidate.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1196 +/- ##
==========================================
+ Coverage 97.03% 97.18% +0.15%
==========================================
Files 1103 1146 +43
Lines 145876 151076 +5200
==========================================
+ Hits 141545 146819 +5274
+ Misses 4331 4257 -74 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The graph UI previously overstated growth and variant hardness, and some reductions could panic or produce objectives outside the target integer range. This integrates the reviewed fixes and their dependent reduction stack, then migrates all five workspace crates to Rust 2024.
pred path --compareand the browser share a polynomial comparison engine. Comparisons are relative to one batch of chosen certificates, exclude exact-cancellation families, and retain bounded strata. They describe certificate growth; they do not establish actual target-size ordering or running time. Browser summaries retain exact zero, use conservativeOnotation, and label the front as size-bound candidates. Explorer badges describe concrete-variant witness routes from SAT or to ILP. Load failures are visible in both modes. Inline math uses direct theme colors to avoid WebKit rasterizing filtered SVG glyphs; intentional colors and figure styling are preserved.The folded PRs retain their individual review and merge records:
Builds on #1194's graph invariants. The substantive growth/complexity issues in #1219, #1220, and #1221 are excluded.
Compatibility:
KSATnow defaults to K3.KSatisfiability<KN>and short-clause constructors are removed; persisted KN instances require migration. All five workspace crates declare Rust 1.88 as the minimum version.Validation:
make check: 7,194 tests passed, none skipped, plus formatting and all-target/all-feature Clippy.make paperand 23 Python pipeline tests passed. Later changes only touched website CSS, browser/provenance tests, and the dev-dependency lockfile.d314b0b8bef7c7c7a879e626863b58d5e39ab080: format, Clippy, tests, macOS/Windows/RISC-V builds, coverage, Codecov patch, and Codecov project. Codecov reports 97.27654% patch and 97.18% project coverage; its comparison baseline is48a9571.4f57c65928759e2a04933856d64f178eea4119c2, the final PR head, and main mergea10ee83007296e686c4c7f94f70f70bddb92b078share source tree28ce6046853ed92f7835e0418461f7bc00dd1bb4.