Propose initialized partial COMMAREA copies
ProprietaryReplace an approved whole-area character MOVE with a received-length guard, default receiver initialization and equal-length source and destination slices. Require exact source and COPY snapshots and an explicit variable-length interface that approves space padding and all downstream uses of the receiver. Prove the unchanged actual count on every arrival and a concrete short-read witness in the original copy. Reject counts below the approved positive minimum or above the receiving capacity through an existing terminal exit. Never silently truncate oversized input. Require at least one admitted partial copy and complete ordinary unaliased layouts. Limit the PIC X receiver to 256 bytes. Preserve existing zero-length paths that already remove zero. Otherwise zero takes the approved rejection path. Prove the complete guard truth set, initialization writes and equal byte slices before and after replacement. Preserve all bytes outside the selected standalone MOVE sentence and retain its period. Unknown arrivals, unsupported layouts and unproven exit behavior prevent changes. Application team review remains required.
io. moderne. mainframe. security. ProposeCommareaPartialCopyRequired
Exact approved source path.
Exact program ID. Retain quotes for literal IDs.
Lowercase SHA-256 of the complete approved UTF-8 source without a byte order mark.
JSON mapping every ordinary data COPY name to its approved lowercase SHA-256.
One-based line of the direct whole-area MOVE selected by the contract.
Root-first dotted declaration of the incoming LINKAGE area.
Root-first dotted declaration of the unchanged actual received byte count under the approved entry contract.
Root-first dotted declaration of the ordinary PIC X receiver. Its complete extent must be at most 256 bytes for the default-initialization proof.
Smallest admitted incoming byte count. Every integer through the maximum is admitted by the entry contract.
Largest admitted incoming byte count. It must fit the declared incoming area and the proven numeric comparison domain.
Smallest positive count whose bytes cover every required field under the approved variable-length interface. Smaller counts take the approved exit. Existing zero-length paths may remove zero before this site.
VARIABLE_BYTES_WITH_SPACE_PADDING approves copying exactly the actual received bytes and initializing every remaining receiver byte to a space. It must approve all downstream uses of that padded record. Reject oversized input without truncation.
Existing terminal paragraph approved for insufficient or excessive lengths before initializing or copying. Preserve required messages, cleanup and transaction behavior. An optional IN or OF section qualifier is supported.
Provenance of the approved variable-length interface, actual entry counts, padding policy and existing rejection path at these exact snapshots.
mod run . --recipe= io. moderne. mainframe. security. ProposeCommareaPartialCopy \
-P sourcePath= security/ cbl/ VPCC001. cbl \
-P programName= VPCC001 \
-P sourceSha256=0000000000000000000000000000000000000000000000000000000000000000 \
-P copybookSnapshots= '{}' \
-P copyLine=15 \
-P commarea= DFHCOMMAREA \
-P receivedLength= DFHEIBLK. EIBCALEN \
-P receiver= WS-COMMAREA \
-P minimumEntryLength=0 \
-P maximumEntryLength=16 \
-P minimumAcceptedLength=4 \
-P copyPolicy= VARIABLE_BYTES_WITH_SPACE_PADDING \
-P approvedExit= LENGTH-ERROR \
-P contractSource= 'mainframe-fixtures fictional partial-copy 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.