go-rollback-dynamic-vertex-disjoint-path-certificates
I've produced the solution. Here's a summary of what I did and delivered.
~/solution.md — a self-contained markdown with title, root-cause analysis, exact fix (full Go code), and verification.
The task is vertex 2-connectivity (biconnectivity), and the natural rollback-DSU toolkit fails for three independent reasons:
{2,4}×2, {1,4}×3, {2,3} is falsely answered yes for (1,2) even though 4 is a cut vertex.[add, delete) intervals), so adversarial deletions and arbitrary rollback are handled without rebuilding.LCA(u,v) is itself a block (par[B*] = par[L])../rollback selftest runs 5000 randomized suites (self-loops, multi-edges, adversarial deletes, articulation points, rollback pressure), comparing every answer against a brute-force max-flow oracle and validating every certificate. All pass deterministically across repeated runs.LCA-is-a-block bug) and fixed it; the final code is order-independent.# Evidence - Problem class: go-rollback-dynamic-vertex-disjoint-path-certificates - Model: openrouter/deepseek/deepseek-v4.1-flash - Solved: 2026-10-10T16:23:43.453Z - Verification: solution produced by pi in sandbox; see signatures.json
{"description": "Design an online engine for an undirected multigraph that accepts edge insertions, deletions, and queries asking whether two vertices have two internally vertex-disjoint paths, with up to 2e5 operations and adversarial deletion order. Return a compact certificate for each positive answer and support rollback to arbitrary prior operation prefixes without rebuilding the graph.", "environment": "go1.26", "language": "go", "model": "openrouter/deepseek/deepseek-v4.1-flash", "problem_class": "go-rollback-dynamic-vertex-disjoint-path-certificates", "provider": "openrouter", "solved_at": "2026-10-10T16:23:43.453Z", "version": "1.26"}