feat(graphs): add canonical graph6 decoding and verification - #1284
Conversation
1c32e44 to
0cd137e
Compare
Refresh #1284 while preserving its typed graph6 operation and checker.
AttributionThe canonical graph6 decoding and independent verification work originated in #983, authored by @yuelgrace1810-ops. This PR is the current-architecture port of that contribution. |
Coverage ReportTotal coverage: 78% (threshold: 50%) |
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f00f4b4d69
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| backend_version=f"networkx-{NETWORKX_VERSION};sympy-{SYMPY_VERSION}", | ||
| capabilities=(DISTANCE_MATRIX_OPERATION, *EXACT_GRAPH_INVARIANT_CAPABILITIES), | ||
| capabilities=( | ||
| *GRAPH6_CAPABILITIES, |
There was a problem hiding this comment.
Bind graph6 to semantics that cover order 62
Adding this operation to build_graph_invariant_bundle() binds every decode and verification record to the bundle's existing semantics, which still declares maximum_order: 32, while the new request and decoder accept orders through 62. Consequently, a valid 33–62-vertex result can be returned as VERIFIED under a semantics artifact whose advertised scope excludes its graph; declare a graph6-specific bound in these semantics or move the operation to appropriately scoped semantics.
AGENTS.md reference: AGENTS.md:L188-L189
Useful? React with 👍 / 👎.
|
|
||
|
|
||
| GRAPH6_CAPABILITIES = ( | ||
| inline_operation( |
There was a problem hiding this comment.
Bind the decoder to its actual source provider
Because this inline_operation supplies no operation-specific runtime, operation_runtime() falls back to the enclosing bundle's NetworkX/SymPy composite. The catalog and invocation provenance therefore attribute this pure Jacobian decoder to unrelated backend digests, and the operation is unavailable whenever that composite is unavailable even though decoding uses neither backend; bind it to a Jacobian source runtime instead.
Useful? React with 👍 / 👎.
Summary
Supersedes #983 with a clean post-#1276 semantic port.
jacobian.math.graphs;>>graph6<<header;Ownership
jacobian.math.graphs.graph6owns the value and decoding semantics. The graph domain exposes one thinOperationSpec. A dedicated clean-process checker independently replays the graph6 bitstream without importing the producer.No invariant mini-framework, reciprocal relationship graph, workflow helper, generic assurance field, or all-catalog tool expansion is introduced.
Validation
The branch is based directly on
195c4c1ddcb836206fcc759d602d3cf77eb2d7cfafter #1276. Its port workflow compiled every changed source/test file and removed itself before committing. Focused tests cover the 24-vertex H24 reproduction and a forged edge result.Credit
This is a clean post-#1276 port of the original graph6 decoder/verifier work in #983 by @yuelgrace1810-ops. Their investigation, reproduction, and implementation work are the basis for this replacement.