Analyze complete version records read from temporary storage

Proprietary

Prove that a selected READQ TS accepts a complete designated key and timestamp record only after checking the actual response and returned length. Require exact reader, COPY and generated-always schema snapshots and a complete ordinary DISPLAY record with every CHAR primary-key field and a PIC X(26) version field. Require an exact known input maximum, disjoint operands and explicit item selection. Inspect up to eight adjacent terminal IF checks over the original response and returned length. Every continuing outcome must have a NORMAL response and the complete record size. Contradictory checks do not establish a successful receipt. Report source evidence without edits or vulnerability findings. This point proof does not establish database origin, queue trust, item ownership, freshness, encoding compatibility, authorization or the safety of a later UPDATE. LENGTH OF can supply exact sizes for complete fixed DISPLAY records. A declared size never proves the current contents or the actual received length.

io.moderne.mainframe.security.AnalyzeTsqVersionRecords

Required

Exact approved reader path.

Exact program ID. Retain quotes for a literal ID.

Lowercase SHA-256 of the complete approved UTF-8 reader without a byte order mark.

JSON object mapping every ordinary data COPY name to its approved lowercase SHA-256. The independently validated system SQLCA is excluded.

Root-first dotted name of the complete ordinary DISPLAY record passed to INTO.

JSON object mapping every uppercase primary-key column to its received record leaf. Names are root-first dotted names.

Root-first dotted name of the PIC X(26) field designated for the saved timestamp. This mapping does not establish its database origin.

One-based selected EXEC CICS READQ TS line.

Exact unquoted uppercase schema and table name.

Exact unquoted uppercase generated row-change timestamp column.

Exact path of the approved complete enforced CREATE TABLE snapshot.

Lowercase SHA-256 of the complete approved schema snapshot.

Provenance of the approved record layout and complete deployed schema. This input does not establish queue trust, item identity or database origin.

mod run . --recipe=io.moderne.mainframe.security.AnalyzeTsqVersionRecords \ -P sourcePath=security/cbl/VSRRGOOD.cbl \ -P programName=VSRRGOOD \ -P sourceSha256=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \ -P copybookSnapshots='{}' \ -P recordName=SAVED-RECORD \ -P keyFields='{"TENANT":"SAVED-RECORD.SAVED-TENANT","ID":"SAVED-RECORD.SAVED-ID"}' \ -P versionField=SAVED-RECORD.SAVED-VERSION \ -P readLine=16 \ -P tableName=VTEST.GENERATED_ITEM \ -P versionColumn=VERSION_TS \ -P schemaSourcePath=security/ddl/VSRVALW.ddl \ -P schemaSha256=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \ -P contractSource='mainframe-fixtures fictional received record contract'

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.