You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Mainframe fact channel: unit of work and error handling: SYNCPOINT/COMMIT points, HANDLE CONDITION handlers #3453
Commit and rollback points and error handlers only feed risk-signal counts. The engine can't say where a program's unit of work ends, or which condition goes to which handler, which is the information needed to preserve transactional behaviour in a migration.
Evidence
About 410 EXEC CICS HANDLE ABEND/CONDITION and DFHRESP(...) checks, and about 67 EXEC CICS SYNCPOINT / EXEC SQL COMMIT / ROLLBACK, across CBSA and CardDemo.
Proposal
A per-file channel: commit and rollback points (verb, line, owning unit); HANDLE CONDITION pairs (condition → handler paragraph); HANDLE ABEND handlers (the LABEL already feeds reachability); and RESP checks tied to the command they check.
Acceptance (ground truth, as for every channel since #3210)
An independent draft reader in tests/tools/cobol_answer_key.py. It must not import the engine; test_draft_readers_never_import_the_parsers_they_grade enforces this.
A new answer-key section, drafted for all three pinned corpora (zopeneditor, CBSA, CardDemo).
A blind census of that section with tests/tools/cross_verify.py census, with every disagreement ruled against the source.
A new scored field in tests/tools/ground_truth_ledger.py, so mainframe-ground-truth.yml fails CI on any regression.
The channel follows gitgalaxy/core/how_to_add_a_fact_channel.md: extractor, *_data table, delta restore, galaxy_ir.EngineFile reader and SCOPE update.
Activity
Mainframe fact channel: units of work and error handling, + TD trigge…
uow_handlers: RESP codes tested by number are checks too (#3453 follo…
uow_handlers: RESP codes tested by number are checks too (#3453 follo…