code_query
Query source code to trace variable references, analyze procedural flow, map field lineage, or discover dataflow dependencies across compiled programs and copybooks.
Instructions
Query parsed code knowledge. Select query_type to control behavior:
trace_variable: Trace all references to a variable in a parsed source file — shows where it is read, written, or passed, grouped by section/paragraph.impact: Query the compiled knowledge graph for downstream impact — returns affected programs, copybooks, or datasets grouped by dependency depth, with evidence and uncertainty markers.procedure_flow: Query parsed procedure/section PERFORM flow for one source file — returns section-level and paragraph-level flow, optionally focused on one procedure.field_lineage: Query compiled field-lineage artifacts — returns deterministic and inferred matches for one field, optionally narrowed to a copybook or qualified name.dataflow_edges: Query field-level dataflow edges — MOVE/COMPUTE/ADD assignment, EXEC SQL host-variable, and CALL USING parameter edges. Filter byfrom/to, or setfield+transitive: trueto follow chains across the full graph.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query_type | Yes | Query type: trace_variable, impact, procedure_flow, field_lineage, or dataflow_edges | |
| path | No | [trace_variable/procedure_flow/dataflow_edges] Path to source file in raw/ (e.g. 'PAYROLL.cbl') | |
| variable | No | [trace_variable] Variable name to trace (e.g. 'WS-TOTAL-SALARY') | |
| node_id | No | [impact] Canonical node ID or logical name (e.g. 'copybook:DATE-UTILS' or 'DATE-UTILS') | |
| kind | No | [impact] Optional node kind: program, copybook, dataset, job, or step | |
| max_depth | No | [impact/dataflow_edges] Maximum traversal depth (default: 10) | |
| language | No | [impact/field_lineage] Compiled language artifact set to read (default: 'cobol') | |
| procedure | No | [procedure_flow] Optional procedure/section/paragraph name to focus traversal from (e.g. 'A100-INIT') | |
| procedure_kind | No | [procedure_flow] Optional procedure kind filter: section or paragraph | |
| field_name | No | [field_lineage] Field name to query (e.g. 'CUSTOMER-ID') | |
| qualified_name | No | [field_lineage] Optional qualified field path (e.g. 'CUSTOMER-REC.CUSTOMER-ID') | |
| copybook | No | [field_lineage] Optional copybook canonical id or logical name (e.g. 'copybook:CUSTOMER-A' or 'CUSTOMER-A') | |
| from | No | [dataflow_edges] Filter: only edges whose source field matches (e.g. 'EMP-SALARY') | |
| to | No | [dataflow_edges] Filter: only edges whose target field matches (e.g. 'WS-TOTAL-SALARY') | |
| field | No | [dataflow_edges] Starting field for transitive traversal (requires transitive: true) | |
| transitive | No | [dataflow_edges] Follow edges transitively from `field` (default: false) | |
| direction | No | [dataflow_edges] Traversal direction when transitive: true — downstream (default), upstream, or both |