Skip to content

crucible: committed det port of PCWIZ drives the byte overload with a COMMAREA RETURN (Part of #4965) - #5325

Merged
squid-protocol merged 1 commit into
mainfrom
churn/4965-20261017T1020Z
Oct 17, 2026
Merged

squid-protocol merged 1 commit into
mainfrom
churn/4965-20261017T1020Z

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Part of #4965. Closes the owner's remaining bullet: a committed scenario that RETURNs TRANSID with a COMMAREA through handleTransaction(.., byte[]).

What changed

  • tests/cics_crucible/det-ports/pc-wizard/PCWIZ/overlay/service/: the deterministic port of PCWIZ and PCCONF (39/39 and 47/47 statements, no holes). Kept out of ports/ so port records stay model-only (no provenance).
  • tests/tools/cics_crucible_det.py: ports_dir (committed services + runtime, for --ports) and build (regenerate).
  • tests/cics_crucible/test_det_port_bytes_4965.py: 3 cheap structural tests, plus an EQUIVALENCE_E2E=1 test (slow-marked) that runs java-facade on the port and on the mutant.
  • docs/language_status/mutation_testing.md: small appended paragraph.

Evidence (measured 2026-10-17)

port java-facade, pc-wizard
det PCWIZ/PCCONF 6/6 pass, real lastAnswerBytes() (RETURN TRANSID PC02/PC03, 30-byte COMMAREA), page-aware (#5061)
same, lastAnswerBytes = task.returnedBytes(); deleted 6/6 fail: "lastAnswerBytes() of PCWIZ is not the bytes its RETURN passes on"

Class sweep

Class: harness never exercises the byte-carrying path because committed crucible ports RETURN DTO-only.

member status
RETURN TRANSID + COMMAREA, byte overload fixed here (PCWIZ)
RETURN IMMEDIATE + COMMAREA (returnImmediate(.., byte[]), PCIMM*) sibling gap: not run here; no burned program needs it (crucible ports only)
LINK / XCTL COMMAREA bytes (no byte overload on handleLink) sibling gap, as in #5050
accessor (inverted) mutant on the det port in the crucible not re-measured here; #5050 measured it killed
both sides (java-ported + java-facade) in one --keep run with --ports sibling gap: second side's generation hits FileExistsError in the shared work dir (run them as separate invocations)

Cross-repo

None. cics-crucible pin unchanged; no engine, golden or ledger change.

Gates: pr_gates --fast 6/6, --ratchets 8/8, ruff/mypy audits clean.

🤖 Generated with Claude Code

…oad with a COMMAREA RETURN (Part of #4965)

The model ports RETURN DTO-only, so lastAnswerBytes() is null on them. The det port of pc-wizard
(PCWIZ + PCCONF) RETURNs TRANSID with a 30-byte COMMAREA through returnTransid(.., byte[]); the crucible
java-facade side passes 6/6 on it, and deleting the facade's assignment fails 6/6.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@squid-protocol squid-protocol added the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 17, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol marked this pull request as ready for review October 17, 2026 10:31
@squid-protocol
squid-protocol enabled auto-merge (squash) October 17, 2026 10:32
@squid-protocol
squid-protocol merged commit 2c25b23 into main Oct 17, 2026
45 checks passed
@squid-protocol
squid-protocol deleted the churn/4965-20261017T1020Z branch October 17, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant