Repository navigation
research: five post-certificate improvements with executed evidence - #31
CompleteDotTech merged 21 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0ab886b211
ℹ️ 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".
|
@codex review Please review the current head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9dbc743b12
ℹ️ 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".
| graph_synthesis/post_certificates/RESULTS.md \ | ||
| graph_synthesis/post_certificates/results.json \ | ||
| graph_synthesis/post_certificates/summary.csv \ | ||
| graph_synthesis/post_certificates/figures/*.png \ |
There was a problem hiding this comment.
Include deterministic SVGs in the drift gate
When a committed SVG is stale or edited without changing its PNG counterpart, the workflow regenerates the SVGs during the --figures step but this diff gate checks only *.png, so the job still passes and leaves the five committed SVG artifacts inconsistent with the recorded results. The fresh evidence at this head is that report.save now fixes both the SVG hash salt and date metadata, making these outputs suitable for inclusion in this stability check.
Useful? React with 👍 / 👎.
| paths: | ||
| - "graph_synthesis/post_certificates/**" | ||
| - "CURRENT_RESULTS.md" | ||
| - "manuscript/paper-current.*" | ||
| - ".github/workflows/post-certificates.yml" |
There was a problem hiding this comment.
Trigger replay for changes to imported research dependencies
When a PR changes shared implementations such as certificates/{risk,lineage,graphs}.py, reliability/run.py, or adaptive/run.py, this path filter skips the post-certificate job even though post_certificates/run.py imports those modules and its committed results depend on their behavior. Such a change can therefore merge with stale results.json and narrative artifacts; include the imported dependency paths (and the archived H1 input paths) in both trigger lists.
Useful? React with 👍 / 👎.
| if residual["staged"]: | ||
| branches.append({"chosen_separator": sorted(chosen), "status": "residual_staged"}) | ||
| continue |
There was a problem hiding this comment.
Stage the whole optimization when any separator branch stages
When only some separator branches exceed the residual solver's capacity, this continue discards those unknown branches and the function later returns the best completed branch as fully solved, even though a skipped branch may have greater utility. For example, a zero-weight separator attached to one end of a 2,049-vertex unit-weight path makes the empty branch stage at VERTEX_CAP, while selecting the separator leaves a solvable 2,048-vertex path; the method then reports utility 1,024 as exact although excluding the separator achieves 1,025. Unless an upper bound proves a staged branch cannot win, any such branch must make the overall result staged.
Useful? React with 👍 / 👎.
| def build_margin_index(weights, edges): | ||
| base = graphs.solve(weights, edges) |
There was a problem hiding this comment.
Materialize edge iterables before constructing the margin index
When edges is a one-shot iterable, the initial graphs.solve consumes it while converting it to a list, so every subsequent forced-in and forced-out solve sees an empty conflict graph and the index can return incorrect classifications and witnesses. For example, passing a generator containing the conflict a-b makes the base optimum use that edge but computes b's margins as if both vertices could coexist; convert edges to a list once before the base solve and reuse that list.
Useful? React with 👍 / 👎.
| except (TypeError, ValueError, KeyError, ArithmeticError): | ||
| return {"selected": [], "staged": sorted(weights) if isinstance(weights, dict) else [], "utility": 0, | ||
| "status": "invalid_input", "branches": []} |
There was a problem hiding this comment.
Make malformed graph inputs return the staged result
When graph validation fails for malformed weights, this exception handler can itself raise instead of returning the advertised invalid_input stage. For example, weights={"a": 1, 2: 1} reaches this path after graph_input rejects the integer key, but sorted(weights) then raises because str and int are incomparable; a non-mapping such as ["a"] can also leak an uncaught AttributeError before this handler. Construct the failure response without sorting unvalidated keys and cover the input-shape exception so malformed hints fail closed.
Useful? React with 👍 / 👎.
Summary
Extends the merged PR #20 certificate study with five additional pre-execution-frozen hypotheses derived from its asymmetric evidence: source-contamination calibration remained weak, while dependence/structural certificate mechanisms were strong.
Frozen protocol commit:
f923e8d41ca5953d9793fadcc3730cfe9fc70b3aBaseline main:
9d2e4a60a6c79e616ab1d352cd5da9fe414e6c98Generator seed:
20260923Fresh Jev service calls: 0
Numerical certificate review
The first H5 implementation used padded primal LP optima as reported endpoints. Pre-PR review rejected that as insufficient for an outer numerical certificate. Commit
29debb5fc8df3fd4bc62f1505e50788a78ed8f3dreplaced it with independently checked, outward-padded dual outer bounds plus primal-feasibility and dual-vs-primal consistency checks. No hypothesis, seed, generator, comparator, threshold, population, or pass/fail rule changed. The corrected suite was rerun from scratch and retained the same target outcomes/headline metrics. Seegraph_synthesis/post_certificates/EXECUTION_NOTES.md.Artifacts
results.jsonsummary.csvRESULTS.mdCURRENT_RESULTS.mdsectionmanuscript/paper-current.md, HTML and PDFThe one-time write-enabled publisher used to create committed evidence was removed before this PR. Final publisher execution run 35358502661 completed successfully.
Evidence boundary
H1 reuses already inspected saved responses. H2–H5 are controlled algorithmic experiments over supplied graph/probability fixtures. These results do not establish new semantic extraction accuracy, external-system superiority, real-world source calibration, end-to-end database latency, production policy changes, or worldwide algorithmic novelty. The strongest remaining test is still a prospectively frozen, source-disjoint, independently adjudicated corpus with external baselines.
Reproduction