Repository navigation
Description
Census trial #7709 / #7646: the 3 census programs whose only gap is bytes overlap (COMP-5) stay refused after the zos_comp5 default flip (#7829). T4 (a2597c7e5, 2026-11-06) is unchanged at 8 of 40.
Why (measured with tools only)
Each of the 3 keeps a COMP-5 item in an EXEC CICS PUT CONTAINER FROM / GET CONTAINER INTO area (2 FROM, 1 INTO). Under explicit zos_comp5=True all 3 refuse: COMP-5 held big-endian (zos_comp5): FROM|INTO CONTAINER: the area holds <item> COMP-5, and its bytes cross in the oracle's order (_container_comp5, det/program.py). Under the default, that refusal makes translate() fall back to the oracle's little-endian order (program.py around line 466), so the old overlap hole returns. #7841 lifts EXEC SQL and LINK COMMAREA but keeps containers refused by design.
What
A CICS channel container holds the bytes the program put there. On z/OS a COMP-5 item in the area goes in big-endian, and GET CONTAINER returns those same bytes (IBM CICS TS API: PUT / GET CONTAINER, channel). Under zos_comp5 the runtime's container store must carry the area in the program's live (z/OS) order end to end: PUT FROM writes the swapped bytes, GET INTO / SET reads them back, and a sibling program that GETs the container sees z/OS order.
- Lift
_container_comp5for PUT / GET CONTAINER (CHANNEL and current channel) when the runtime serves the order. - Prove on a cics-crucible or fixture program: PUT a group holding a COMP-5 item, GET it in another program, compare the bytes with the IBM order. Never a census excerpt (Census mock trial: take the 40 census programs from 8 whole to 40 of 40 accounted, measured by the tool only #7709 rule 2).
- Keep the explicit-
Truerefusal for any container path the runtime still cannot serve (name it).
Acceptance
Re-survey: the 3 census programs translate whole (T4 close-next step 3, +3 programs). Burned estates stay 126 / 129. COMP-5 L5 programs re-proved if goldens move.
Class / Sibling gaps
Class: zos_comp5 refusals where the runtime holds program bytes (SQLCA and COMMAREA done in #7841). Remaining siblings: foreign CALL, LE / Db2 CALLs (CEE*, DSNTIAC), AIBTDLI, START FROM / RETRIEVE INTO, TS / TD queue WRITEQ FROM / READQ INTO. Check each; handle the ones that share the container store in this PR and list the rest here.
Part of #7646 (prerequisite of #7709).
🤖 Generated with Claude Code
Slices
- Runtime: the CICS container store carries COMP-5 bytes in the program's z/OS order under
zos_comp5(PUT FROM, GET INTO / SET); fixture with two programs passing a COMP-5 group through a channel (det: COMP-5 group through LINK CHANNEL between two translated programs run in Java; START CHANNEL copy reversed (Part of #7845, #7709) #7933) - Lift
_container_comp5for PUT / GET CONTAINER when the runtime serves the order; explicit-True refusals kept and named for any path it does not (det: PUT / GET CONTAINER over a COMP-5 area translate under zos_comp5 (Part of #7845, #7709) #7865) - Check the siblings (START FROM / RETRIEVE INTO, WRITEQ / READQ TS and TD) and list or handle them (det: run START/RETRIEVE and TS/TD queue areas over a COMP-5 group in Java under zos_comp5 (Part of #7845, #7709) #7936)
- Re-survey: the 3 census bytes-overlap programs; post the count on Census mock trial: take the 40 census programs from 8 whole to 40 of 40 accounted, measured by the tool only #7709 (census: re-survey after the zos_comp5 container slices (Part of #7845, #7709) #7943)
Activity
census: T5 re-survey after #7841 (24 / 40 accounted), bytes-overlap r…
tests: ruff format the COMP-5 container tests (Part of #7845, #7709)
det: PUT / GET CONTAINER over a COMP-5 area translate under zos_comp5…
squid-protocol commentedon Nov 6, 2026
#7865 merged: a partial slice of [c:0cdd5f1d] "Runtime: the CICS container store carries COMP-5 bytes in the program's z/OS order under
zos_comp5(PUT FROM, GET INTO / SET); fixture with two programs passing a COMP-5 group through a channel"; left: translated and pinned at translate level (two-program PUT / LINK CHANNEL / GET fixture); no Java execution of the pair and no harness reversal of container hex yet (promoter-bot)squid-protocol commentedon Nov 6, 2026
#7865 merged: a partial slice of [c:fd1805c2] "Check the siblings (START FROM / RETRIEVE INTO, WRITEQ / READQ TS and TD) and list or handle them"; left: START FROM / RETRIEVE INTO and TS / TD queues are not refused today and not proven; listed below (promoter-bot)
squid-protocol commentedon Nov 6, 2026
#7865 merged: a partial slice of [c:884b987d] "Re-survey: the 3 census bytes-overlap programs; post the count on #7709"; left: census programs are non-burned: counted by tools only, not re-surveyed here; needs the census run (promoter-bot)
Merge origin/main into churn/7709: keep #7865's container refusal, li…
det: LINK/XCTL COMMAREA over a COMP-5 item translates under zos_comp5…
det: pin START/RETRIEVE and TS/TD queue areas over a COMP-5 item unde…
det: run a COMP-5 group through a channel container in Java under zos…
tests: pin the COMP-5 container boundary under zos_comp5 (Part of #7845…
squid-protocol commentedon Nov 6, 2026
Claimed by promoter-bot host
melek, lease renewed 2026-11-06T19:15Z. It lapses after 6 h without a renewal. To take it back, assign someone or remove theclaim:meleklabel.harness: read the oracle's COMP-5 container bytes as z/OS holds them …
squid-protocol commentedon Nov 6, 2026
#7929 merged: a partial slice of [c:0cdd5f1d] "Runtime: the CICS container store carries COMP-5 bytes in the program's z/OS order under
zos_comp5(PUT FROM, GET INTO / SET); fixture with two programs passing a COMP-5 group through a channel"; left: comparator reversal of the CONTAINERS end state done; left: a two-program PUT / LINK CHANNEL / GET fixture run in Java, reversal of the START CHANNEL copy. (promoter-bot)det: run a COMP-5 group through LINK CHANNEL between two translated p…
det: run START/RETRIEVE and TS/TD queue areas over a COMP-5 group in …
census: re-survey after the zos_comp5 container slices; no COMP-5 gap…
squid-protocol commentedon Nov 6, 2026
Acceptance met: all four slices merged (#7933, #7865, #7936, #7943). Re-survey shows no COMP-5/overlap gap row; the 3 census programs translate whole (8 -> 11 of 39). Remaining siblings (foreign CALL, CEE*/DSNTIAC, AIBTDLI) are not needed by any burned-estate program and stay listed in the issue body.