Authority Research Note
COBOL Dynamic CALL: Runtime Dispatch Terminates Provability
A dynamic CALL uses a variable to select a program name at runtime. This prevents deterministic call graph resolution from source artifacts alone. Deterministic guarantees terminate when invocation targets cannot be proven.
What this construct does
Instead of CALL 'PROGNAME', the program executes CALL WS-PROGNAME. The invoked program may vary based on inputs, files, tables, or external state.
Why provability terminates
If the target cannot be enumerated from the artifact set, the call graph cannot be proven complete. A complete call graph is required for deterministic dependency guarantees.
Governance consequence
When dynamic dispatch is present, an authority cannot assert completeness of dependency analysis. Proceeding requires either resolving the target set deterministically or treating the call site as a boundary with restricted guarantees.
Evidence and verification
- Legacy Lens records the call site and the rule classification.
- Legacy Lens does not guess the runtime target.
- Hash-bound evidence shows the boundary without asserting behavior.
Verified authority record
View a verified bundle where dynamic CALL appears: Download authority record (PDF)