Siblings of #6072: code gaps holding the ladder tail (zECS ZECS001, GenApp lgsetup): harness, det runtime, oracle
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- devtools, testing-qa
Línea de trabajo
Start with the harness and translator code that handles XCTL, http_request.path schema validation, and the second WEB RECEIVE; the payload does not name their files or tests. Read the related work in P117 and sibling issue #6072 first. Done means the listed ZECS001 scenarios become reachable and the program can progress toward L4.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Siblings of #6072: the code gaps (harness, det translator, oracle) that hold the ladder's tail: zECS ZECS001 (L2) and GenApp lgsetup (L1). Consolidated 2026-10-28 (credit session) from P117 (tests/cobol_mainframe/port_blockers.json), the genapp-lgsetup entry of tests/equivalence/det_sweep_baseline.json (cites #5252, closed) and the ladder runs that ended "no PR" (6072-20261028T2037Z, 6072-20261028T2109Z). #6271, which P117 cites, is closed, so these gaps had no open owner.
Levels today (published evidence report, translator 616550df): ZECS000 L4, ZECS003 L4, ECS001 L4, ZECSPLT L4; ZECS001 L2 (82/119 paragraphs, 116/208 net branches); GenApp lgicdb01 L4 (its SQL-fault seam is PR #6947); lgsetup L1 (91/91 statements translated whole, no proving case). The #6072 zECS row's ZECS000 78.9 / ZECS003 90.5 figures are stale.
Class: what keeps a burned program's equivalence case from being written or judged (harness / det runtime / oracle)
| member | status | evidence |
|---|---|---|
A. Harness: a scenario's own datasets reached the Java side after the COBOL task had updated them (the stub writes the scenario's files/ copy in place, and run_java_cics copied the Java .in from it). The Java task ran against the COBOL task's end state. |
PR #6952 | tests/tools/equivalence_cics.py run_java_cics (#4622 copy). This is P117's "ZECS001 DELETE of a stored key and POST / PUT over an existing key diverge (204 Record not found; SYNCPOINT rollback); cause not diagnosed". It also made all 13 ZECS000 scenarios that state datasets (and 16 ZECS001, 3 ZECS003, 1 CardDemo COCRDLIC) compare against the wrong Java input: ZECS000's L4 rested on that. Affects 33 scenarios in 4 cases. |
B. det runtime: a FILE name no region can define (' FILE': ZECS000's ZF-FCT when RETRIEVE answers NOTFND) threw Hole: no store in the generated project, where CICS and the stub answer FILENOTFOUND. The translator also strip()ped the name, losing the leading blanks. |
PR #6952 (unmasked by A: ZECS000 control-record-first-write) |
det/program.py store(), det/cics.py name(), cics_task_faults.py; register X75 |
C. det translator: a typed item inside a group read past FROM (SEND TEXT FROM(WRITE-MSG-H) LENGTH(24) sends WRITE-MSG-High PIC 9(10), held as a typed field: Java sends 0000000000) |
PR #6954 | det_sweep_baseline.json genapp-lgsetup; also listed on #6882 (claimed by melek; taken here, noted there) |
D. Harness: VSAM variable-length READ returns the area length (32700), not the record's own, so a GET that hits a stored ZECS001 record drives ZF-DATA(1:ZF-LENGTH) past 32000 (libcob bound, X8 refusal) |
WIP branch credit/vsam-variable-length (parked, see owner question) |
P117 first sentence; reproduced 2026-10-28 (get-stored: "length of 'ZF-DATA' out of bounds: 32344"). Blocks 3000-EXIT, 3400-STAGE, 3500/3510, 3600-SEND-RESPONSE (10 paragraphs) |
| E. det runtime: SET ADDRESS OF a record longer than its storage (a POST body of 32000 / 40000 bytes) | open | P117 round 6; blocks 4400-WRITE-FILE segmented arms, 3500-READ-SEGMENTS |
| F. Second WEB RECEIVE (text/* SRVCONVERT pass) not modelled | open | P117; 540:true |
| G. Oracle: 4600 / 5400-REPLICATE: GnuCOBOL sends WEB CONVERSE FROM(CACHE-MESSAGE) with an empty body, then SIGSEGV (PROGRAM.cbl:2113) | open (oracle) | P117; blocks 8100-8300 |
| H. LINK ZECS002 (HLASM) from 1500-AUTHENTICATE (Authorization header over six bytes) | out of scope here: #5859 (churn) | P117 round 6; 1500-EXIT, 1600, 1610 |
| I. Stub FILENOTFOUND answers RESP2 0 where IBM documents RESP2 1 ("not defined to CICS") | open (oracle, low) | tests/equivalence/cics/ggcics*.c (7 sites); register X75 |
J. ttl=abc NUMERIC false arm (704:false) |
open | P117 round 7 |
K. Empty http_request.path rejected by the case schema (492:false) |
open | from the earlier body of this issue |
| XCTL COMMAREA from a WS group (752:true) | done | #6892 |
Acceptance: each open member either lands (a PR that names it here) or is stated as a refusal / infeasible outcome with its reason; the scenarios each fix unblocks go in the same PR or the next ladder slice.
Siblings: #6072, #6882 (lgsetup row), #5859 (ZECS002).
Owner question (blocks row D's payoff): MEDIATYPE padded with LOW-VALUES
Every ZECS001 GET that hits a stored record ends at 3600-SEND-RESPONSE: MOVE ZF-MEDIA TO WEB-MEDIA-TYPE, INSPECT WEB-MEDIA-TYPE REPLACING ALL SPACES BY LOW-VALUES, then WEB SEND ... MEDIATYPE(WEB-MEDIA-TYPE), so the 56-byte area is text/plain followed by X'00's. Register X37 refuses a MEDIATYPE that is not type/subtype of printable characters ("the format check is not defined"). IBM's WEB SEND (server) page says only "a 56-byte area ... up to 56 alphanumeric characters, including appropriate punctuation, but not spaces" and INVREQ RESP2 32 "Media type invalid"; it says nothing about padding with X'00'. zECS ships this code and runs in production, which suggests CICS accepts it, but that is inference, not documentation.
Ruling needed: may the stub (and det runtime) treat trailing X'00' in MEDIATYPE as padding (ASSUMED, a new register line under X37), or does X37's refusal stand? With "accept", the row D branch's seven GET scenarios (gethit, getbin, getnomedia, getnoseg, getlat; getseg / getseg2gone also need row E) can be proved, reaching 3000-EXIT, 3400-STAGE and 3600-SEND-RESPONSE. With "refuse", row D stays parked and those paragraphs go to the reviewed list as refused (X37).
Status (credit session 2026-10-28)
- Rows A+B: #6952 (ZECS001 82 -> 91/119 paragraphs, 116 -> 124/208 net branches, equal on 42 scenarios; ZECS000 now equal on its stated inputs). Row C: #6954 (lgsetup equal on 2/2, 1/1 paragraphs, 2/2 branches). Both: full non-Db2 det sweep equal (98/99 with lgsetup baselined; 99/99).
- Row D: mechanism written (stub
<file>.len,CicsTask.RECORD_LENGTHS,"lengths": "lines"seeds) oncredit/vsam-variable-length, not swept; held on the question above and on row E. - ZECS001 cannot reach L3 until H (ZECS002, #5859) lands as well; rows E, F, G, J, K remain open.
- Lenguaje dominante
- Python
- Estrellas
- 57
- Forks
- 11
- Merge medio
- 1 h 14 min
- PR fusionados (30 d)
- 967
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de squid-protocol/gitgalaxy
-
Siblings of #6839: COBOL -> lowered-HLASM boundary (linked coverage, START target, code page)Abiertoscope:sweep testing
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
squid-protocol/gitgalaxy#7011 ·
Los mantenedores suelen responder en 1 día
-
priority: high scope:core
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
squid-protocol/gitgalaxy#6974 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
claim:melek enhancement legacy-modernization priority: high scope:core testing
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
squid-protocol/gitgalaxy#6967 · 10 comentarios ·
Los mantenedores suelen responder en 1 día
-
enhancement legacy-modernization priority: low scope:frontier
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
squid-protocol/gitgalaxy#6926 ·
Los mantenedores suelen responder en 1 día
-
bug call-graph core-engine priority: high scope:core
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
squid-protocol/gitgalaxy#6904 ·
Los mantenedores suelen responder en 1 día
Todos los issues de squid-protocol/gitgalaxy
Issues similares
-
changelog investigate
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
ramnes/notion-sdk-py#433 ·
-
docs pkg:core
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
pydantic/pydantic-ai#11929 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
intake/intake-esm#789 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
MemMachine/MemMachine#1877 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
openedx/openedx-authz#579 ·
Los mantenedores suelen responder en 1 día