Skip to content

[needs Joe's review] Model ports CBSA INQACC, GenApp LGUPDB01 (proven with #4188) - #4208

Merged
squid-protocol merged 1 commit into
fix/model-proof-linked-programsfrom
feat/model-ports-linked-review
Oct 3, 2026
Merged

squid-protocol merged 1 commit into
fix/model-proof-linked-programsfrom
feat/model-ports-linked-review

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Joe approves or declines this PR; nobody else merges it. A model wrote these ports, and we never approve a model-written port on Joe's behalf.

This PR is stacked on #4207 (#4188), which it needs to prove. It retargets to main once #4207 merges.

Port Attempt Prompt tokens Proof (--faults all) LINKed program's Java
cbsa-inqacc InqaccService 2 of 4 (2–4 all prove) 68,882 14 scenarios; 22/25 paragraphs; 13/25 branches ABNDPROC: det port
genapp-lgupdb01 Lgupdb01Service 1 of 4 (all prove) 53,261 5 scenarios; 8/9 paragraphs; 17/38 branches LGUPVS01: det port

Provenance

Not included: CBSA XFRFUN. It still differs in the model's port (ABND-CODE RUF3 against the COBOL's RUF2 on the null-date scenarios).

🤖 Generated with Claude Code

https://claude.ai/code/session_01RZE6us7fUL6Hynk59rWLvZ

…ven once LINKed programs run (#4188)

The porting loop's stored attempts (claude-sonnet-5-5, no tools, ticket prompt
only), byte-identical to its records, each with provenance.json. The loop
called them not proven because a port's proof ran the LINKed program (ABNDPROC,
LGUPVS01) as its stub; with #4188 they prove unedited:
  cbsa-inqacc     attempt 2: 14 scenarios, 22/25 paragraphs, 13/25 branches
  genapp-lgupdb01 attempt 1: 5 scenarios, 8/9 paragraphs, 17/38 branches

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RZE6us7fUL6Hynk59rWLvZ
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

@squid-protocol
squid-protocol merged commit 3aae0f1 into fix/model-proof-linked-programs Oct 3, 2026
2 checks passed
@squid-protocol
squid-protocol deleted the feat/model-ports-linked-review branch October 3, 2026 10:02
squid-protocol added a commit that referenced this pull request Oct 3, 2026
…va (#4207)

* equivalence: a port's proof runs the programs its task LINKs to as Java (#4188)

A case's "programs" (the programs its task LINKs to) ran on the Java side as
their generated stubs when a port was proven, so anything they write never
appeared there: CBSA INQACC and XFRFUN (-> ABNDPROC) and GenApp LGUPDB01
(-> LGUPVS01) could not prove however right the port was.

prepare_project now resolves each LINKed program for a port's proof: the port's
own service if it carries one, else the program's committed model port (the
case proving it), else its deterministic translation from this checkout; the
CICS report names each origin (report.json linked_programs).

Re-proving the loop's stored attempts, unedited (--faults all):
  INQACC   attempts 2-4 proven (14 scenarios); attempt 1 not proven
  LGUPDB01 attempts 1-4 proven (5 scenarios)
  XFRFUN   attempts 1-3 not proven: ABND-CODE RUF3 vs the COBOL's RUF2 on
           the two null-date scenarios -- a difference in the model's port

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RZE6us7fUL6Hynk59rWLvZ

* Model ports CBSA INQACC, GenApp LGUPDB01: unedited model answers, proven once LINKed programs run (#4188) (#4208)

The porting loop's stored attempts (claude-sonnet-5-5, no tools, ticket prompt
only), byte-identical to its records, each with provenance.json. The loop
called them not proven because a port's proof ran the LINKed program (ABNDPROC,
LGUPVS01) as its stub; with #4188 they prove unedited:
  cbsa-inqacc     attempt 2: 14 scenarios, 22/25 paragraphs, 13/25 branches
  genapp-lgupdb01 attempt 1: 5 scenarios, 8/9 paragraphs, 17/38 branches


Claude-Session: https://claude.ai/code/session_01RZE6us7fUL6Hynk59rWLvZ

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* equivalence: an SQL fault is injected only where its statement's program has the DetSql seam (#4173 x #4188)

A model port reaches Db2 its own way. Once #4188 runs a task's LINKed programs from their det ports,
DetSql is on the classpath and the plan installed, but a fault on the model-ported program's own
statement never fires: 'faults fired differ: cobol [..], java []'. The seam is now decided per statement
owner (sql_seam_programs): a fault whose program's Java does not use DetSql makes the task not judged,
with the no-hook reason; a fault on a det-ported LINKed program's statement is injected and judged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RZE6us7fUL6Hynk59rWLvZ

* test_sql_faults: ruff format (quote style only)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RZE6us7fUL6Hynk59rWLvZ

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant