Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
f923e8d
research: freeze five post-certificate hypotheses before execution
CompleteDotTech Sep 18, 2026
1d5ceee
research: freeze five post-certificate hypotheses before execution
CompleteDotTech Sep 18, 2026
0a8f009
research: implement post-certificate mechanisms
CompleteDotTech Sep 18, 2026
4c726dd
research: add frozen post-certificate benchmark runner
CompleteDotTech Sep 18, 2026
c3d243f
test: cover post-certificate mechanisms
CompleteDotTech Sep 18, 2026
6d42004
research: add post-certificate report and figure generator
CompleteDotTech Sep 18, 2026
7dc2267
research: initialize post-certificate package
CompleteDotTech Sep 18, 2026
68183d3
research: add post-certificate dependencies
CompleteDotTech Sep 18, 2026
9ace2db
ci: execute and publish frozen post-certificate study
CompleteDotTech Sep 18, 2026
dd4cb2e
research: execute frozen post-certificate benchmarks [post-certificat…
github-actions[bot] Sep 18, 2026
29debb5
fix: certify interval marginals with dual outer bounds
CompleteDotTech Sep 18, 2026
cfd7026
research: execute frozen post-certificate benchmarks [post-certificat…
github-actions[bot] Sep 18, 2026
5216c83
docs: audit numerical certificate correction
CompleteDotTech Sep 18, 2026
267a001
ci: isolate final research publisher concurrency
CompleteDotTech Sep 18, 2026
765a744
research: execute frozen post-certificate benchmarks [post-certificat…
github-actions[bot] Sep 18, 2026
08df57c
ci: retire one-time post-certificate publisher
CompleteDotTech Sep 18, 2026
f442226
ci: add read-only post-certificate reproducibility check
CompleteDotTech Sep 18, 2026
0ab886b
chore: keep final post-certificate PR scoped
CompleteDotTech Sep 18, 2026
a91af60
ci: verify stable research sources instead of renderer bytes
CompleteDotTech Sep 18, 2026
ff3c301
ci: preserve post-certificate manuscript section
CompleteDotTech Sep 18, 2026
9dbc743
fix: close post-certificate edge cases and reproducibility gaps
CompleteDotTech Sep 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/jev-multicall.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@ jobs:
python -B -m graph_synthesis.novel_mechanisms.report --update-paper
python -B -m graph_synthesis.novel_mechanisms.regret --report
python -B -m graph_synthesis.certificates.report --update-paper
git diff --exit-code -- experiments/jev-multicall-20260918/REPORT.md manuscript/paper-current.md CURRENT_RESULTS.md graph_synthesis/risk_control graph_synthesis/reliability graph_synthesis/structural graph_synthesis/source_structural graph_synthesis/assumption_aware graph_synthesis/uncertainty graph_synthesis/frontier graph_synthesis/certificates
python -B -m graph_synthesis.post_certificates.report --update-paper
git diff --exit-code -- experiments/jev-multicall-20260918/REPORT.md manuscript/paper-current.md CURRENT_RESULTS.md graph_synthesis/risk_control graph_synthesis/reliability graph_synthesis/structural graph_synthesis/source_structural graph_synthesis/assumption_aware graph_synthesis/uncertainty graph_synthesis/frontier graph_synthesis/certificates graph_synthesis/post_certificates/RESULTS.md graph_synthesis/post_certificates/summary.csv
python -B -m graph_synthesis.render_current_paper --output "$RUNNER_TEMP/multicall-paper.pdf"
git diff --exit-code -- manuscript/paper-current.html
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
Expand Down
66 changes: 66 additions & 0 deletions .github/workflows/post-certificates.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Post-certificate research

on:
pull_request:
paths:
- "graph_synthesis/post_certificates/**"
- "CURRENT_RESULTS.md"
- "manuscript/paper-current.*"
- ".github/workflows/post-certificates.yml"
Comment on lines +5 to +9

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

push:
branches:
- main
paths:
- "graph_synthesis/post_certificates/**"
- "CURRENT_RESULTS.md"
- "manuscript/paper-current.*"
- ".github/workflows/post-certificates.yml"

permissions:
contents: read

jobs:
verify:
runs-on: ubuntu-latest
timeout-minutes: 30
env:
PYTHONDONTWRITEBYTECODE: "1"
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
with:
fetch-depth: 0
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
with:
python-version: "3.12"
- name: Install frozen research dependencies
run: python -m pip install -r graph_synthesis/post_certificates/requirements.txt
- name: Verify frozen protocol ancestry
shell: bash
run: |
set -euo pipefail
protocol=f923e8d41ca5953d9793fadcc3730cfe9fc70b3a
git merge-base --is-ancestor "$protocol" HEAD
Comment thread
CompleteDotTech marked this conversation as resolved.
git show "$protocol:graph_synthesis/post_certificates/PROTOCOL.md" | cmp - graph_synthesis/post_certificates/PROTOCOL.md
- name: Run mechanism tests
run: python -B -m unittest discover -s graph_synthesis/post_certificates/tests -v
- name: Reproduce committed machine-readable evidence
run: python -B -m graph_synthesis.post_certificates.run --check
- name: Rebuild report, figures and complete manuscript
run: |
python -B -m graph_synthesis.post_certificates.report --figures --update-paper
python -B -m graph_synthesis.render_current_paper --output "$RUNNER_TEMP/post-certificates-paper.pdf"
- name: Require generated-artifact stability
shell: bash
run: |
set -euo pipefail
# Verify stable research sources and raster plots. The committed PDF
# is not overwritten; the SVG generator is deterministic for future replays.
git diff --exit-code -- \
CURRENT_RESULTS.md \
graph_synthesis/post_certificates/PROTOCOL.md \
graph_synthesis/post_certificates/RESULTS.md \
graph_synthesis/post_certificates/results.json \
graph_synthesis/post_certificates/summary.csv \
graph_synthesis/post_certificates/figures/*.png \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

manuscript/paper-current.md \
manuscript/paper-current.html
8 changes: 8 additions & 0 deletions CURRENT_RESULTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,14 @@ Original H4 is concurrent replication of the separately merged bipartite study,

<!-- CERTIFICATES_RESEARCH_END -->

<!-- POST_CERTIFICATES_RESEARCH_START -->

## Five post-certificate improvements after PR #20

[Executed report](graph_synthesis/post_certificates/RESULTS.md), [frozen protocol](graph_synthesis/post_certificates/PROTOCOL.md), [five figures](graph_synthesis/post_certificates/figures/) and [complete updated paper](manuscript/paper-current.pdf). H1 not met; H2 met; H3 met; H4 met; H5 met. H1 reuses previously inspected saved responses; H2-H5 are controlled algorithms. The suite tests source-risk stacking, active dependence constraints, verified near-bipartite separators, reusable singleton repair margins and interval-valued probability premises. No fresh Jev calls, independent semantic-accuracy claim, worldwide novelty claim or production-policy change.

<!-- POST_CERTIFICATES_RESEARCH_END -->

Read the [updated full paper](manuscript/paper-current.md), [PDF](manuscript/paper-current.pdf), or [HTML](manuscript/paper-current.html).

The fresh full Jev run does **not** reproduce the original interval-based entity improvement: its selected-minus-baseline macro-F1 interval includes zero. Entity accuracy still rises descriptively from 405/413 to 408/413; relation accuracy rises from 286/339 to 290/339, also without a resolved macro-F1 effect. This repeats previously inspected data; it is not independent validation.
Expand Down
11 changes: 11 additions & 0 deletions graph_synthesis/post_certificates/EXECUTION_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Execution notes

The protocol was frozen in commit `f923e8d41ca5953d9793fadcc3730cfe9fc70b3a` before implementation or execution.

The first complete execution on September 18, 2026 produced H1 not met and H2-H5 met. During pre-PR review, H5's interval-marginal implementation was found to label outward-padded numerical **primal** LP optima as certified endpoints. That is not a sufficient numerical certificate because a feasible primal point does not by itself provide the required outer bound.

Commit `29debb5fc8df3fd4bc62f1505e50788a78ed8f3d` corrected only the numerical verification layer: HiGHS equality/inequality dual multipliers are projected to the required inequality sign, reduced-cost deficit is conservatively corrected using the unit simplex mass, and an outward padding term is subtracted before the lower dual bound is accepted. The max endpoint is obtained from the verified dual lower bound of the negated objective. Primal feasibility and dual-vs-primal consistency are checked; failures stage as non-certifying [0,1].

No hypothesis, seed, generator, comparator, threshold, evidence population or pass/fail rule was changed. The corrected frozen suite was rerun from scratch and retained the same target outcomes and headline metrics. The pre-correction generated artifacts were superseded and are not the evidence cited by the final report.

A concurrent, unrelated commit landed on the original research branch after the corrected generated commit. The final PR branch was therefore forked exactly from corrected evidence commit `cfd7026746aaf9a41501d59bb8f4448a84c356ac` so unrelated work is neither overwritten nor included.
120 changes: 120 additions & 0 deletions graph_synthesis/post_certificates/PROTOCOL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# Frozen protocol: five post-certificate improvements

Baseline: `9d2e4a60a6c79e616ab1d352cd5da9fe414e6c98` (merged PR #20), inspected September 18, 2026.

This protocol is committed before implementation or execution. The new hypotheses are motivated by the merged evidence: source-random-effects forecasting improved Brier only 6.39% versus its same-marginal comparator and still lost to the prior feature-risk forecast, while dependence-safe bounds, bipartite flow certificates, repair-invariant queries and local delta maintenance passed their controlled targets. The present suite asks whether the remaining failure boundaries can be narrowed without changing the production graph policy.

The repository audit covered CURRENT_RESULTS.md plus adaptive, risk-control, reliability, structural, source-structural, assumption-aware, uncertainty, novel-mechanisms, frontier and certificate studies. Related ingredients exist, including relation-level stacking, pairwise-constrained sensitivity analyses, bipartite flow, repair ambiguity and fixed-marginal credal bounds. The exact five tests below were not found in that inventory. This is a repository-scoped experiment distinction, not a worldwide novelty claim. Established calibration, active-information selection, separator conditioning, sensitivity analysis and linear programming have prior art.

Fresh Jev service calls: **0**. H1 reuses the already authenticated saved-response development/test capture. H2-H5 are controlled algorithmic experiments. No new semantic-accuracy claim, production policy change, human-review claim, external-system superiority claim or independent preregistration claim is authorized.

All primary targets below are frozen conjunctions. Do not retune a threshold, generator, comparator, tie rule, cap or evaluation population after observing the results.

## H1 — Exposure-stratified stacking of source-contamination forecasts

**Motivation.** Certificate H1 selected a beta-binomial source random-effect model and improved Brier relative to same-marginal independence, but 60/98 nonempty evaluation groups were singletons and the richer pre-existing feature-risk forecast still had lower Brier. Random effects and per-edge feature risk may contain complementary information.

**Method.**
- Reuse exactly the certificate input loader: 73 development candidates / 40 source groups and 263 test candidates / 149 source groups, with source-group disjointness enforced.
- Accepted edges remain base1 SUPPORTS/REFUTES only.
- Build two development-only leave-one-source-group-out forecasts for each nonempty held-out group:
1. the existing feature-risk group forecast from `reliability.calibration`;
2. the beta-binomial random-effects forecast fitted without that group.
- Partition folds by accepted-edge exposure: singleton (`n == 1`) and multi-edge (`n > 1`).
- Within each stratum, if at least 8 folds are available, select a convex feature weight `w` from `{0.0, 0.1, ..., 1.0}` minimizing development Brier of `w * feature + (1-w) * random_effects`; ties prefer the smaller distance to 0.5, then smaller `w`. Otherwise use the globally selected weight.
- Refit both constituent models on all development rows and apply the frozen weights to test features/exposures before scoring test labels.
- No test gold, test-group outcomes or test-derived tuning may enter the fit.

**Comparators.** Certificate random effects and prior feature-risk forecast, on the identical nonempty test-group denominator.

**Primary target.** Stacked Brier must be no worse than feature-risk Brier, at least 3% lower than certificate random-effects Brier, and absolute mean bias must be <= 0.03.

**Required reporting.** Brier, clipped log loss, bias, selected global/stratum weights, fold counts, singleton/multi test counts, paired source-group bootstrap intervals (4,000 draws, seed 20260923), and the unfavorable result if the conjunction fails.

## H2 — Greedy acquisition of dependence constraints

**Motivation.** Certificate H2 proves valid bounds under supplied marginals/joint constraints, but wide intervals can withhold useful admissions. Earlier studies tested fixed pairwise-constraint panels, not a frozen policy for deciding which pairwise intersections are most valuable to obtain.

**Population.** Reuse the 128 arbitrary-joint random fixtures generated by certificate H2. The supplied full joint distribution is a controlled oracle only; it is not a measured Jev probability.

**Method.**
- Start from marginal-only DNF bounds.
- Candidate observations are all pairwise atom-conjunction probabilities calculated from the fixture's supplied joint table.
- Budget = 3 pairwise constraints.
- At each step, evaluate every still-unobserved candidate by adding that exact controlled value and recomputing the certified interval; choose the candidate minimizing interval width. Ties are lexicographic on atom IDs.
- Comparator: add the first three lexicographic pair constraints, or all available pairs when fewer than three exist.
- Retain every intermediate interval and selected pair.

**Primary target.** Zero truth-containment failures; no chosen step may widen its prior interval by >1e-8; mean final width must be <=75% of marginal-only mean width and <=90% of the lexicographic same-budget mean width.

**Boundary.** This is an oracle value-of-information experiment. It does not establish that the selected intersections are cheaply or accurately estimable in production.

## H3 — Separator-conditioned near-bipartite exact optimization

**Motivation.** Certificate H3 exactly solves large bipartite conflict graphs, while large non-bipartite components still stage. A small supplied odd-cycle-transversal/separator can make the residual graph bipartite.

**Method.**
- Input includes nonnegative integer priorities, conflict edges and a supplied separator `S` of at most 4 vertices.
- Verify that deleting `S` leaves a bipartite graph. Invalid hints stage; they are never trusted silently.
- Enumerate every independent subset `I` of `S`. Treat `I` as selected, remove all other separator vertices and every residual neighbor of `I`, then solve each remaining residual component with the existing certified bipartite-flow solver.
- Verify each returned flow certificate. Add the separator utility and select the maximum-utility feasible branch with deterministic lexical tie breaking.
- This is exact conditional on verified graph input and separator, not a semantic truth guarantee.

**Small oracle test.** 128 seeded graphs with 6–12 vertices, separator size 1–3 and bipartite residuals; compare with independent exhaustive maximum-weight independent-set enumeration. Include order/duplicate invariance.

**Large analytic test.** Even cycles of residual size 512, 1024 and 2048 plus one apex separator connected to two adjacent cycle vertices, with cycle weights 1 and apex weight 3. Expected optimum is `n/2 + 2`. The current generic solver must be recorded as comparator, including whether it stages.

**Primary target.** Zero small-oracle/certificate/invariance failures; solve all three large fixtures at the analytic optimum; current generic solver stages every large fixture; malformed/non-transversal controls stage safely.

## H4 — Reusable repair-margin query index

**Motivation.** Certificate H4 gives correct repair-invariant query answers, but repeated queries repeatedly re-solve forced-in/forced-out optimization problems. For singleton assertions, those optimization margins can be precomputed once.

**Method.**
- For a graph whose base optimum is not staged, compute for every vertex `v`:
- best utility with `v` forced in;
- best utility with `v` forced out.
- For tolerance `epsilon`, threshold = optimum - epsilon.
- Singleton query classification:
- impossible if forced-in utility < threshold;
- certain if forced-out utility < threshold;
- ambiguous otherwise.
- Preserve a possible witness and, where ambiguous, a counterexample witness.
- This index explicitly supports singleton queries only; conjunctions continue to use the existing query path.

**Population.** 128 seeded weighted graphs with 4–10 vertices and finite exact behavior. For every vertex evaluate the distinct epsilon set `{0,1,2,floor(.05*optimum),floor(.10*optimum)}` after removing duplicates/nonpositive excess values.

**Comparator.** Existing `certificates.graphs.query` on the same singleton query and epsilon.

**Primary target.** Zero classification/witness mismatches and at least 70% fewer top-level optimization invocations over the repeated-query workload, counting baseline query execution as base + forced-in + forced-out solves and index construction as one base + two per vertex.

**Boundary.** This is repeated-query work reduction, not database latency or semantic validation.

## H5 — Interval-marginal dependence certificates

**Motivation.** Every dependence-safe study retains the same falsifying control: if a supplied marginal itself is wrong, a mathematically correct point-marginal certificate can still make a false admission. Treating the marginal as an interval can represent bounded premise uncertainty explicitly.

**Method.**
- Extend the possible-world LP so each atom probability is constrained by `lower <= P(atom) <= upper` rather than an equality; exact point marginals are the special case lower=upper.
- Objective remains min/max probability of the monotone DNF. Normalization is exact; interval rows are linear inequalities.
- Solver failure, infeasible intervals, nonfinite values, lower>upper, or atom-cap excess return an explicit non-certifying [0,1] staged result.
- Outward numerical padding and primal feasibility checks are required before a bound may certify.

**Random containment population.** 128 seeded arbitrary joint distributions over 2–6 atoms and 1–6 proofs. For each true atom marginal, construct a seeded interval of radius 0.02–0.10 that contains the true value and a perturbed point estimate inside that interval. Require the true supplied joint fact probability to lie inside the interval-marginal result.

**False-premise controls.** 20 singleton facts whose actual probability is below 0.95, whose biased point estimate is >=0.97, and whose supplied uncertainty interval contains the actual probability with lower endpoint <0.95. The exact-point method should admit; the interval method should withhold.

**Primary target.** Zero random truth-containment failures, prevent all 20 designed point-estimate false admissions, and zero malformed/infeasible inputs returning a certifying interval.

**Required reporting.** Mean point-bound width versus interval-bound width, prevented admissions, staging counts and explicit statement that interval validity itself is a supplied assumption.

## Global validation and publication

- Seed for new controlled generators: 20260923.
- No network access during benchmark replay.
- Add unit/adversarial tests for all five mechanisms.
- Store machine-readable results, summary CSV and five evidence-derived SVG/PNG figure pairs.
- Update `CURRENT_RESULTS.md` and append an additive section to `manuscript/paper-current.md`; regenerate HTML/PDF using the repository renderer.
- Preserve all pre-existing experiment artifacts and prior manuscript text byte-for-byte outside the additive section.
- CI must replay results and fail on generated-artifact drift.
- Report passes and failures exactly as observed. Do not pool controlled fixture counts into a semantic success rate.
Loading
Loading