Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Siblings of #6072: code gaps holding the ladder tail (zECS ZECS001, GenApp lgsetup): harness, det runtime, oracle

Abierto
#6,839 8 comentarios 0 reacciones 0 asignados Ver en GitHub

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

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

claim:melek enhancement legacy-modernization priority: high scope:core testing

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) on credit/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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de squid-protocol/gitgalaxy

Todos los issues de squid-protocol/gitgalaxy

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.