Wayfinder / Case study / Current-system documentation

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

Business Rules and Decisions

In this document

Scope and evidence status

The supplied evidence describes a partially reconstructed CardDemo mainframe system. It establishes artifacts and intended behavior, but not successful execution, complete topology, compiler semantics, sequencing, or production behavior. Conflicting evidence also leaves it unresolved whether all identified artifacts execute together. E0001 E0010 E0017 E0020 E0021 E0002 E0003 E0005 E0006 E0018

Observed business rules

Credential handling includes login validation and role-sensitive routing. Validated administrator credentials route to an administrative component, while validated non-administrator credentials route to a menu component. Authentication and security-related artifacts include a security file, RACF, and a security-data job; ownership, permissions, enforcement, masking, encryption, auditing, and network boundaries are not established. E0034 E0038 E0001 E0016 E0032 E0033 E0036

Input validation is an explicit processing concern. Validated transaction input is written to the transaction file, while failed validations are reported to a rejects file. Inference: this indicates an intended separation between accepted processing and rejection handling, but the complete validation criteria and whether rejection is atomic with processing are unknown. E0007 E0008 E0015 E0017

Account payment processing uses account data for lookup and balance validation, and the described journey includes confirmation before completion. The evidence does not establish balance rules, payment limits, calculation formulas, concurrency behavior, or whether confirmation guarantees persistence. E0029 E0013 E0018 E0029

Date handling includes a dedicated date-conversion program that invokes the CEEDAYS API. Date rules, accepted formats, timezone behavior, invalid-date handling, and the effect of conversion on interest, expiry, statements, or batch processing are unknown. E0035 E0013 E0021

The evidence identifies rules or intended controls for expiry, limits, duplicate handling, referential integrity, paging, retention, return codes, interest, fees, and deletion. It does not establish the values, formulas, ordering, enforcement points, or complete semantics of those controls. Fraud criteria, rates, checksums, filtering rules, and complete return-code meanings are specifically unknown. E0011 E0013 E0017 E0026 E0027 E0041 E0042

A category record references a transaction-type record, with deletion restricted by the stated foreign-key rule. This establishes a referential-integrity constraint in the described data model, but not whether the relevant database is deployed or enforced at runtime. E0011 E0010 E0018

Decisions and outcomes

The observed decision vocabulary includes add, update, delete, view, list, cancel, page, submit, approve, decline, accept, and reject. A fraud flow is described as choosing between inserting a new record and updating on a duplicate key. The evidence does not establish decision ownership, approval authority, rationale, precedence, or audit behavior. E0003 E0010 E0022 E0025 E0028 E0038

User maintenance decisions are represented by separate add, update, and delete flows. The add flow writes a security record, the update flow reads and rewrites one, and the delete flow reads and deletes one. Inference: these flows imply distinct lifecycle operations, but they do not prove authorization, transaction boundaries, rollback behavior, or successful completion. E0017 E0016 E0045

Administrative dispatch is selected after successful credential validation, while non-administrative dispatch follows the alternate route. Inference: routing appears to be a role-based decision, but the evidence does not establish how roles are assigned, whether RACF participates in this decision, or whether the application independently enforces authorization. E0034 E0036 E0016

Reporting includes a program that submits batch jobs through an extra-partition transient data queue, and a reporting procedure invokes another procedure. The evidence does not establish report authorization, parameter validation, job completion criteria, duplicate submission handling, or result delivery guarantees. E0025 E0042 E0039

Data and integration decisions

The transaction-type management capability is described as an optional extension that maintains data in both DB2 and VSAM. The evidence does not establish whether both stores are authoritative, how synchronization occurs, or what happens when one update succeeds and the other fails. E0010 E0039 E0045

The system includes decisions and interfaces involving CICS, BMS, XCTL, commareas, VSAM, MQ, IMS, DB2, JCL, transient data queues, REXX, FTP, sorting, and reporting tools. Contracts, keys, transformations, queue behavior, compatibility, and end-to-end sequencing remain unresolved. E0001 E0003 E0007 E0035 E0039 E0046

The evidence identifies customer and card cross-reference reads, account extraction, transaction-file operations, IMS segments, unloads, backups, indexing, and REPRO input/output files. Layouts, encoding, timestamps, index offsets, naming conventions, and a six-byte unload discrepancy remain unresolved, so these observations do not establish complete data rules. E0020 E0021 E0022 E0024 E0004 E0006 E0043 E0046

Batch and operational decisions

Batch behavior includes posting, waits, monthly processing, compilation, migration, backups, generation data groups, reporting, reruns, error handling, and internal-reader submission. A monthly flow identifies a wait step triggering file opening, and another flow passes a control block to an assembly wait program. Monitoring, alerting, restart, disaster recovery, ownership, atomicity, and completion guarantees are unknown. E0031 E0041 E0015 E0028 E0039 E0044 E0045

Compilation decisions distinguish batch, online, DB2-oriented, and BMS-oriented build jobs. BMS processing and a `NEWCOPY` operation are stated; the `NEWCOPY` behavior in the online compilation job is disputed. E0026 E0027

`COND=(4,LT)` is disputed under ordinary JCL interpretation. Consequently, the intended versus effective condition for subsequent job steps is unknown, and no conclusion about actual execution or bypass behavior is established. E0041 E0026

Risks and unresolved decisions

Potential hazards include destructive replacement or recreation, partial updates, ineffective conditions, malformed input, unstable paging, duplicate identifiers, inconsistent indexes, exposed credentials, FTP failure, critical VSAM errors, and abends. No incident is established by the supplied evidence. E0001 E0006 E0014 E0018 E0019 E0026 E0037 E0040 E0042

Unknown: Complete business-rule values, calculations, validation matrices, state transitions, authorization decisions, retention periods, recovery decisions, external contracts, deployment status, version alignment, and production suitability are not established by the supplied evidence. Conflicts concerning PF7, maps, copybooks, deployed artifacts, source coverage, and diagram meaning remain unresolved. E0009 E0011 E0014 E0017 E0020 E0021 E0025 E0036 E0039 E0047