Wayfinder / Case study / Recovered specification

Source-derived document; review findings and open questions with the application owner.

Overview

In this document

Application overview

CARDDEMO/CARD-DEMO is evidenced as a heterogeneous legacy or simulated mainframe-oriented application suite. The source material includes COBOL, CICS, BMS, VSAM, JCL, sequential-file utilities, and optional DB2, IMS, MQ, assembly, REXX, GSAM/BSAM, Control-M, and UNIX components README.md; CARDDEMO.CSD; E0001 E0010 E0017 E0038 E0044. The evidence establishes source artifacts, declarations, mappings, and intended operations, but does not establish successful compilation, linkage, deployment, connectivity, execution, production use, ownership, data correctness, or one integrated end-to-end runtime.

The clearest recorded online flow begins with CICS sign-on transaction CC00. COSGN00C validates security data in USRSEC, redisplays errors, exits on PF3, and routes authenticated administrators to COADM01C and other users to COMEN01C using XCTL and a commarea [COSGN00C.cbl; COSGN00.bms; COSGN00.CPY] E0028 E0030 E0034. Recorded functional areas include account viewing and updating, card listing and search, transaction processing, bill payment, reporting, administration, and user maintenance. These areas use BMS maps, terminal input and output, paging, and VSAM browse or update operations through programs including COACTVWC, COACTUPC, COCRDLIC, COCRDSEC, COBIL00C, and COACCT01. Complete screen behavior, action keys, commarea structures, state transitions, and response handling are not available E0013 E0026 E0038.

Account-view processing is reported to read cross-reference, account-master, and customer-master information. Account-update processing validates input and commarea values and may lock and rewrite account and customer records, with paths for missing records, concurrent updates, and customer-update failure. The exact validation rules remain uncertain because CSLKPCDY is absent E0025 E0029. Bill-payment processing reportedly checks account existence, positive balance, duplicate transaction identifiers, and user confirmation before creating a transaction and changing a balance. Identifier generation and uniqueness, concurrency controls, commit behavior, and the treatment of non-confirmed payments are unproven.

Transaction programs reportedly validate account and card relationships, limits, expiry, and references, update balances or account data, and may write rejects to DALYREJS. CBTRN02C visibly performs substantive validation and posting. However, claims that CBTRN01C posts transactions are contradicted by the visible absence of WRITE, REWRITE, and DELETE operations in that source [COTRN00C.cbl] [COTRN01C.cbl] [COTRN02C.cbl] [CBTRN01C.cbl] [CBTRN02C.cbl]. Atomicity, commit or rollback, reconciliation, and recovery behavior are not established.

Named information domains include customers, accounts, cards, transactions, cross-references, categories, statements, reports, authorization and fraud records, security data, backups, exports, and rejects. Catalog evidence reports 209 entries under AWS.M2.CARDDEMO, comprising 160 NONVSAM, 13 DATA, 13 INDEX, 10 CLUSTER, and 7 GDG components; LISTCAT completed with condition code 0 [LISTCAT.txt]. Physical layouts and keys remain disputed or incomplete. Reported examples include 300-byte account, 150-byte card, 350-byte transaction, and 500-byte customer records, while a migration format reports 500-byte transactions. A ten-byte account ZIP conflicts with a five-byte screen field. Copybook alignment, field meaning, encoding, lineage, retention, and CVV protection remain unresolved [ACCTFILE.jcl] [CARDFILE.jcl] [TRANFILE.jcl] [XREFFILE.jcl] [CVACT01Y.cpy] [CVTRA05Y.cpy] E0002 E0036.

The suite references CICS, BMS, commareas, VSAM, DB2 SQL and binding, IMS PSB/DBD access, GSAM/BSAM, MQ GET and PUT1, JCL, IDCAMS, RACF, JES/TSO, SDSF, FTP, sorting, PDF conversion, and Control-M or UNIX tooling. Queue names, endpoints, interface contracts, transformations, encodings, external ownership, and dataset identities are unknown E0022 E0035. Batch intent includes initialization, loading and replacement, posting, interest and fee calculation, statements, reports, imports, exports, indexing, backups, cleanup, and scheduled workflows. REPROCT.ctl confirms a REPRO from FILEIN to FILEOUT, but not filtering or validation. Export layout, file organization, partial-update handling, EOF ordering, abend behavior, restart, rerun, and compensation are not established E0007 E0040 E0045.

Confidence is further limited by conflicting inventories, hashes, source ranges, counts, relationships, job orders, names, and configuration values. Optional authorization processing combines MQ, IMS, DB2, and VSAM, but cross-system atomicity is unproven E0009 E0011. Security references include USRSEC, RACF, and user-maintenance programs, but effective authorization, auditing, credential protection, encryption, masking, queue permissions, and identity propagation are unverified. The available evidence therefore supports a partial source-level overview only; execution-based characterization is required to determine which artifacts build, bind, deploy, connect, and operate together.

Automated evidence review

Application overview — advisory review

Overall assessment

The overview is appropriately cautious and generally aligns with the supplied evidence. It correctly distinguishes source-level indications from demonstrated runtime capability and identifies major uncertainties around buildability, integration, data definitions, security, and recovery. However, several statements need qualification or correction before the section is considered reliable. The overview also includes more detailed processing and data claims than are necessary for an application overview, increasing the risk of presenting inferred behavior as established fact.

Supported or substantially supported

  • The characterization of CARDDEMO/CARD-DEMO as a heterogeneous mainframe-oriented or simulated suite is supported by the cited COBOL, CICS, BMS, VSAM, JCL, sequential-file, and optional DB2/IMS/MQ-related artifacts.
  • The limitation that the evidence demonstrates artifacts, declarations, mappings, and intended operations—not successful compilation, deployment, connectivity, production use, or integrated execution—is well supported and should remain prominent.
  • The CC00 sign-on flow, including USRSEC validation, error redisplay, PF3 handling, and routing through XCTL and a commarea, appears to be the clearest documented online path. It should still be described as source-indicated behavior rather than a confirmed operational journey.
  • The identification of unresolved data-layout, key-width, copybook, interface, ownership, and runtime questions is appropriate.
  • The statement that CBTRN01C cannot be treated as a confirmed posting program because visible source lacks WRITE, REWRITE, and DELETE operations is a useful corrective observation. The conclusion should be limited to the supplied extract; absence from an incomplete or mismatched source extract does not prove that no posting occurs elsewhere.

Unsupported, overstated, or potentially misleading claims

  1. Catalog arithmetic is inconsistent.
    The stated 209 entries do not reconcile with the listed categories: 160 + 13 + 13 + 10 + 7 = 203. This must be resolved or reported as “209 total, with category counts that currently reconcile to 203.”

  2. “Optional” components require evidence.
    DB2, IMS, MQ, assembly, REXX, GSAM/BSAM, Control-M, and UNIX should be called “referenced,” “present in some artifacts,” or “apparently optional” unless the evidence explicitly establishes that they are optional components rather than alternative implementations, examples, or unrelated extracts.

  3. Functional capabilities may be overstated.
    Phrases such as “account updating,” “bill payment,” “transaction processing,” “reporting,” and “fraud records” should distinguish between named programs or intended functions and demonstrated capabilities. For example, “the source describes account-update logic” is safer than “the application updates accounts.”

  4. Processing semantics need tighter wording.
    “Positive balance,” “duplicate transaction identifiers,” “locking,” “concurrent updates,” “customer-update failure,” and “posting” should be attributed to particular source routines and extracts. The draft should not imply that these rules are system-wide or operationally enforced.

  5. Data-domain claims are partly inferential.
    The named domains are reasonable inventory labels, but their existence, completeness, physical implementation, and use are not all established. “Artifacts reference customer, account, card, and transaction data” is more defensible than asserting complete information domains.

  6. The phrase “one integrated end-to-end runtime” is useful but broad.
    Consider specifying that no evidence confirms a single consistent build, dataset catalog, middleware configuration, and execution path across the cited artifacts.

Contradictions and citation problems

  • The draft alternates between CBTRN01C/CBTRN02C and COTRN01C/COTRN02C. These may be distinct names or typographical errors; the identity of the transaction programs must be confirmed.
  • Several citation labels and filenames appear misaligned: for example, <span class="prsd-reference" title="Evidence E0026 retained privately">E0026</span>, <span class="prsd-reference" title="Evidence E0007 retained privately">E0007</span>, <span class="prsd-reference" title="Evidence E0040 retained privately">E0040</span>, and <span class="prsd-reference" title="Evidence E0045 retained privately">E0045</span>. Citation integrity should be checked before relying on the claims.
  • The overview states that LISTCAT completed with condition code 0, but successful catalog listing does not establish that all listed datasets are correct, populated, usable, or part of the same application baseline.
  • The section presents conflicting record sizes and field widths appropriately as unresolved, but should make clear whether these are alternate layouts, migration formats, stale artifacts, or direct contradictions.

Gaps and unresolved questions

The overview should explicitly retain or add the following questions:

  • Which source inventory and hash set is authoritative?
  • Are the cited programs and copybooks from one release or multiple variants?
  • Which transaction and batch programs actually compile, link, and execute together?
  • What are the authoritative commarea layouts, map versions, VSAM keys, and dataset names?
  • Are DB2, IMS, MQ, and VSAM paths mutually exclusive, sequential, or jointly required?
  • What are the transaction boundaries, restart points, and recovery guarantees?
  • Which security controls are implemented versus merely referenced?
  • Are sensitive fields stored, displayed, transferred, or logged in protected form?
  • Which capabilities are intended demonstrations or test utilities rather than production functions?

Retain the cautious opening and the execution-evidence limitation. Reduce detailed behavioral assertions in the overview, qualify them by source artifact, correct the catalog arithmetic and citations, normalize program names, and move the longer processing, security, and batch-risk discussion into dedicated sections. This would make the overview a defensible source-level characterization rather than an implied operational assessment.