Skip to content

Fix syzygy verifier handoff metadata - #917

Merged
morluto merged 5 commits into
mainfrom
agent/fix-syzygy-inline-verifier-handoff
Aug 9, 2026
Merged

Fix syzygy verifier handoff metadata#917
morluto merged 5 commits into
mainfrom
agent/fix-syzygy-inline-verifier-handoff

Conversation

@yuelgrace1810-ops

Copy link
Copy Markdown
Collaborator

What changed

  • correct the graded Jacobian-syzygy result metadata to say that verification consumes the exact producer input and inline candidate, rather than a nonexistent result_uri;
  • update the independent verifier description to state the same contract;
  • add a regression covering both the producer hint and the installed verifier description.

Root cause and observed impact

A held-out evaluation of Dimca and Pokora's 2026 nine-line counterexample (arXiv:2607.01985) successfully discovered and ran polynomial.jacobian_syzygy.minimum_degree.compute for both arrangements. The model then inspected the independent verifier, but declined to call it because:

  • the computed result advertised verification_input_field: "result_uri";
  • the compute operation produced no result artifact URI because this is an ordinary inline computed operation; and
  • the verifier description said it consumed a "stored producer result".

The installed verifier actually accepts the original producer input and its inline candidate. The conflicting metadata converted two available independent replay paths into COMPUTED-only final claims.

Scope and safety

This changes only agent-facing handoff metadata and the result's self-description. It does not alter the polynomial computation, candidate schema, independent checker implementation, authorization, assurance semantics, or verification record behavior. The checker still reconstructs every bounded coefficient map independently and remains fail-closed.

Validation

Focused regression:

  • graded Jacobian-syzygy compute/verify test: 1 passed.

Planner-selected validation:

  • unit: 868 passed;
  • component: 759 passed, 3 expected platform skips;
  • domain: 185 passed;
  • composition: 475 passed, 2 expected Lean skips;
  • storage: 125 passed;
  • process: 234 passed, 1 expected platform skip;
  • MCP: 46 passed;
  • end-to-end: 8 passed, 1 expected Lean skip;
  • Ruff, formatting, complexity, dependency, dead-code, mypy, test architecture, product architecture, package build: passed.

Overlap

Issue #883 tracks the wider audit of historical artifact-backed verification boundaries. This PR does not perform that audit or alter transport architecture; it fixes one directly observed contradictory inline handoff.

@yuelgrace1810-ops
yuelgrace1810-ops force-pushed the agent/fix-syzygy-inline-verifier-handoff branch from 40f055e to 0ce49ed Compare August 9, 2026 06:07

Copy link
Copy Markdown
Collaborator Author

Independent held-out reproduction from a different source/domain instance: Abe–Denham's 2026 G(3,3,3) Ziegler-criticality counterexample, supplied as the exact rational polynomial (x^3-y^3)(y^3-z^3)(x^3-z^3) to gpt-5.4-mini (low reasoning).

On current main 614fdc40, the producer completed in ~0.45 s, but the arm followed the advertised verification_input_field: "result_uri" path, diverted to polynomial.jacobian_syzygy.coefficients.materialize, and then made three invalid verifier attempts roughly one minute apart. The frozen 240 s arm timed out. A separate 420 s diagnostic completed after 184.03 s / 12 MCP calls / 449,203 input tokens, still without verification, and explicitly reported that it could not satisfy the verifier's artifact shape.

This corroborates the PR's root cause and shows material efficiency/reliability impact beyond the original Dimca–Pokora arrangements. The exact producer/verifier computation itself was fast; the contradictory handoff metadata caused the loop. No additional code change appears necessary beyond this PR.

Copy link
Copy Markdown
Collaborator Author

Refreshed this draft onto current main after a #929-only weak-model regression reproduced the remaining contradiction: the producer returned the correct degree-0 syzygy but still advertised verification_input_field: "result_uri", leading to an invalid verifier call and a 600 s timeout. Current refreshed head validation: focused graded-syzygy tests 2 passed; full MCP lane 47 passed. GitHub should now be able to evaluate the branch against current main.

Copy link
Copy Markdown
Collaborator Author

Follow-up weak-model replay with both #917 and #929 present isolated one remaining handoff ambiguity. The model used the correct outer {payload:{input,candidate}} envelope, but manually selected only 8–11 fields from the 15-field producer output.result; it omitted required variables, searched_through_degree, status, and/or source_kind. Three verifier calls failed at candidate, and the run ended COMPUTED after 424.94 s / 11 MCP calls / 588,385 input tokens (534,528 cached). I amended this PR so the producer now advertises verification_input_field: "input_and_complete_output_result", and the verifier description explicitly requires the complete, unmodified producer output.result object. Focused compute plus actual verifier replay: 2 passed. The earlier refreshed full MCP lane remains 47 passed; this amendment is metadata/test-only.

Copy link
Copy Markdown
Collaborator Author

Post-amendment combined replay with #929 confirms the handoff fix: the weak model passed the complete producer output.result to the verifier on its first attempt, which returned checker-authorized VERIFIED. Runtime fell from 424.94 s / 11 MCP calls / 588,385 input tokens to 90.08 s / 8 calls / 210,174 input tokens. Important scope caveat: this trajectory is transport evidence only, not a valid mathematical evaluation—the model misbound the polynomial as a binary form (d/dz = 0, kernel (0,0,1)) instead of the required X=x+y, Z=y+z lift (kernel (1,-1,1)). The checker correctly verified the exact different input it received. That separate prompt-to-call binding failure is not caused by this PR and is not being counted as conjecture success.

@morluto
morluto marked this pull request as ready for review August 9, 2026 17:38
@morluto
morluto force-pushed the agent/fix-syzygy-inline-verifier-handoff branch from 01ed3d7 to e5cf770 Compare August 9, 2026 17:40

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e5cf77042e

ℹ️ 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".

Comment thread src/jacobian/contracts/jacobian_syzygy.py Outdated
@morluto
morluto merged commit 5fbd7b6 into main Aug 9, 2026
39 checks passed
@morluto
morluto deleted the agent/fix-syzygy-inline-verifier-handoff branch August 9, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants