Skip to content

det: async CICS siblings — waiting FETCH/TIMEOUT scheduler, FREE CHILD, START CHANNEL, RUN CHANNEL symbol names #4950

Closed

Description

@squid-protocol

Sibling gap of #4884 (class: async CICS API — RUN/FETCH/FREE CHILD/channels). Found in the #4884 class sweep (PR #4948), which covers FETCH ANY/CHILD NOSUSPEND (always NOTFINISHED, enforced DIFFERS in compare_events) and RUN TRANSID CHANNEL.

member status why not in #4948
FETCH (waiting, no NOSUSPEND) and FETCH TIMEOUT refused needs a scheduler that completes children while the parent runs (harness redesign)
FETCH NOSUSPEND that IBM could answer NORMAL DIFFERS (never equal) same scheduler
FREE CHILD refused refusal message says "FREE", not "FREE CHILD"
START ... CHANNEL refused started task's channel copy is a separate mechanism
RUN ... CHANNEL with a symbol in the name refused IBM's allowed symbol set not yet sourced

Acceptance: a child scheduler that lets IBM-possible completions happen (or a documented ASSUMED ordering per IBM's Async API docs) so FETCH can stop being DIFFERS; FREE CHILD modelled or refused with the right name; START CHANNEL modelled; RUN CHANNEL name set sourced from IBM. Register X18 updated; no proof loosened.

Siblings: #4884

Remaining slices (as of 2026-10-18)

Done so far: 5 merged PRs (#5376, #5283, #5302, #5067, #5013).

Drafted 2026-10-18 by a Sonnet triage pass from this issue, its comments and the bodies of its "Part of" PRs; (verify) items were not checked against main. Tick boxes as slices merge; edit freely.

Activity

  1. added 6 commits that reference this issue on Oct 12, 2026
  2. squid-protocol commented on Oct 13, 2026

    @squid-protocol
    OwnerAuthor

    PR #5013 (merged) adds the async child scheduler. Remaining members of this class, from its sibling-gap list (checklist; tick as fixed):

    • cics-crucible scheduler: runners don't dispatch RUN children at waits (no childprogs) and don't hand a START CHANNEL copy to the started task
    • Child region-resource commands (R1: ENQ/DEQ/counters/SQL in a dispatched child) are refused rather than interleaved with the parent
    • Container-command names (PR det/CICS: container and channel names use IBM's PUT CONTAINER character set (Part of #4950) #5067) (PUT/GET CONTAINER, LINK/XCTL CHANNEL) still refuse names channelName rejects; move them to IBM's character set
    • asynccc ASYNCPNT (waiting FETCH CHILD with CHANNEL) has no case — not a burned estate, so only if a burned program needs it

    Not this mechanism: CBSA CRECUST stops at CEEDAYS reading 2 bytes past its picture field (L1/LE-model decision; see #4884 / #5003). #4952 (CRECUST case) should report that hole, never prove.

  3. squid-protocol commented on Oct 14, 2026

    @squid-protocol
    OwnerAuthor

    Sibling gap from #5067 (same class, not covered there), added to this checklist:

    • Case-file channel / container names (equivalence_cics._CICS_NAME) are not checked against IBM's PUT CONTAINER character set (A-Z a-z 0-9 $ @ # / % ? ! : | " = , ; > . - _; & < ¬ disputed per RUN TRANSID), as both runtimes now do
  4. 6 remaining items

  5. squid-protocol commented on Oct 20, 2026

    @squid-protocol
    OwnerAuthor

    Closing: both checklist items are done (#5283 covered the channel/container name check; the crucible child-schedule item is frontier and parked until a crucible case needs it, per #5615). Any new async CICS gap gets a fresh issue. (Owner decision 2026-10-20.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature, sensor, or structural signatureera:4Era CICS TS 3+, Enterprise COBOL: channels, JSON, async (2005+) (era_tags.py)legacy-modernizationCOBOL refractor, dead-code extraction, and JCL forgingneeds:crucibleNeeds the crucible repo checkoutsneeds:dockerNeeds Docker toolchain/oracle containerspriority: mediumscope:coreBlocks a burned-estate program's next evidence rung, or the 4th-estate one-shot trialtier:era-coreChurn tier 1: an era's core CICS/COBOL functionality (#5121 era table)

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions