Translator consumes engine record layouts (fact_ownership.md follow-up): POINTER width as a parameter, shared stand-in copybooks, retire the duplicate layout computation
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
Direzione di ricerca
Start with gitgalaxy/tools/cobol_to_java/det/layout.py, the engine's GalaxyIR layout path, and core/copy_libraries.py. Then examine the offsets entries in tests/cobol_mainframe/fact_crosscheck_ledger.json and the layout guidance in docs/language_status/fact_ownership.md. Completion requires parameterizing POINTER width, sharing stand-in copybooks, switching translator layout use, and reducing the listed offset disagreements to zero while all relevant equivalence cases pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Why
docs/language_status/fact_ownership.md:82 (record layouts / offsets) left a follow-up: "revisit having the translator consume engine layouts once #4457 / #4458 are fixed and POINTER width is a parameter: the engine would then match the translator everywhere on these corpora." #4457 and #4458 closed on 2026-10-05; the follow-up was never picked up. Today both sides compute every record layout; the translator uses its own (gitgalaxy/tools/cobol_to_java/det/layout.py), the engine's go to analysis (record_data, via GalaxyIR).
Where the two sides still differ (fact cross-check ledger tests/cobol_mainframe/fact_crosscheck_ledger.json, 2026-10-19)
586 offsets disagreements, all definitional, no engine-wrong layout left:
- 380
translator-uses-mq-stand-ins(#4892): the translator expands its shipped IBM MQ stand-in copybooks (CMQV, CMQODV, CMQMDV, CMQGMOV, ...); the engine doesn't see them. - 210
pointer-width: POINTER is 4 bytes on z/OS (engine, answer keys) and 8 in the GnuCOBOL storage the proofs run on (oracle_assumptions.mdC9).
Plus small definitional ones elsewhere (translator-uses-stand-in-copybookCEEIGZCT #4884, refusals by name).
Work
- POINTER width as a parameter of the engine's layout computation (default z/OS 4; the translator asks for its storage's width), so one computation serves both.
- Stand-in copybooks as a shared library: the engine resolves the same shipped stand-ins (MQ, CEEIGZCT) the translator uses, through
core/copy_libraries.py, flagged as stand-ins in the facts. - Translator consumes engine layouts (through GalaxyIR / the port ticket, like COPY resolution since #4468) for offsets, lengths, OCCURS strides, REDEFINES; keep the translator's own computation behind a check mode for one release so any difference fails loudly.
- Update
fact_ownership.md: layouts owned and computed by the engine; the gate keeps checking until the translator's copy is deleted.
Acceptance
- Fact cross-check:
offsetsdisagreements for the two causes above go to 0 (ledger lowered in the same PR, per its two-way ratchet). - Re-proof: every CICS / estate / golden crucible port and equivalence case passes byte-for-byte with the translator on engine layouts.
- Builds on the shared preprocessor (#5648) if it has landed (the expanded text both sides lay out should be the same text); can start with steps 1-2 before it.
Part of the CICS→Java path (Training Montage).
🤖 Generated with Claude Code
- Lingua principale
- Python
- Stelle
- 57
- Fork
- 11
- Merge medio
- 1h 43m
- PR unite (30g)
- 985
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di squid-protocol/gitgalaxy
-
bug claim:nyx core-engine data-integrity needs:doom-corpus priority: medium scope:core
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
squid-protocol/gitgalaxy#5636 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
claim:nyx core-engine enhancement lane:nyx priority: high scope:core
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
squid-protocol/gitgalaxy#5648 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug claim:nyx core-engine metrics needs:doom-corpus priority: low scope:core
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
squid-protocol/gitgalaxy#5640 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug claim:nyx core-engine metrics needs:doom-corpus priority: medium scope:core
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
squid-protocol/gitgalaxy#5639 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug claim:nyx core-engine metrics needs:doom-corpus priority: medium scope:core
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
squid-protocol/gitgalaxy#5638 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di squid-protocol/gitgalaxy
Issue simili
-
bug documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
awslabs/visual-asset-management-system#514 ·
I maintainer di solito rispondono entro 1 giorno
-
backend bug spec:REQ-053
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
nolte/kamerplanter#2547 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
EleutherAI/lm-evaluation-harness#4425 ·
I maintainer di solito rispondono entro 1 giorno
-
Gemini: respect PLANNING_DISABLED=1 in lifecycle context hooksForse già presa @AmariAugustin l’ha presa oggi. Apertabug good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
OthmanAdi/planning-with-files#329 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
wr.dynamodb.read_items returns [{}] for a single partition value that does not existForse già presa @auraseb l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
aws/aws-sdk-pandas#3520 ·
I maintainer di solito rispondono entro 2 giorni