How it works
Facts first. Answers second.
Telikos is built so that every answer can be traced to a line of your source. That decides what reads your code, what a model may see, and what happens when the model is wrong.
Deterministic parsing comes first
Parsers for COBOL, JCL and procedures, copybooks and DB2 SQL read each artifact and record structural facts: programs and paragraphs, calls and performs, files and the datasets bound to them, SQL against tables, CICS commands, job steps and their DD statements, and the conditions that route data.
Each fact records the file, the line range and a hash of the content it came from, the method that extracted it, and a confidence. Your code is never executed. Parsing is plain text processing in Python.
No language model sees an artifact until these facts exist for it.
The graph and what is in it
A resolver links facts across artifacts: a JCL step to the program it runs, a program's file to the dataset its job binds, a dataset one job writes to the jobs that read it. Every link carries its own source locations and a confidence.
Ids are derived from what a thing is, so the same program has the same id in every ingestion and expert annotations stay attached to it.
What the graph holds
- Programs, sections and paragraphs
- Data items and record layouts
- Files and the datasets they are bound to
- Jobs, steps and procedures
- Copybooks
- DB2 tables and columns
- CICS transactions, maps and queues
- Condition sites: the IF and EVALUATE statements that route data
- Business rules, written by the model and reviewed by your experts
- Unknowns: what the estate references but Telikos cannot see
Some of the links between them
- CALLS
- PERFORMS
- EXECUTES
- DD
- READS
- WRITES
- SQL_SELECTS
- SQL_UPDATES
- COPIES
- BOUND_TO
- FEEDS
- MOVES_TO
What the model may see, and what it must do
- The model never reads the estate directly. It receives a bounded part of the graph and the source lines those facts point to, and nothing else.
- It answers in JSON that is validated against a schema. Free text is never parsed.
- Every statement must cite evidence it was given. A validator checks each citation and drops any statement that fails. A dropped statement is never shown as a fact.
- The model never writes queries. It chooses from a closed set of query templates, with candidate entities found without it.
- Summaries and rules the model writes enter your experts' review queue as pending, with the model, prompt version and input recorded.
- Answers can be composed with no model at all. The answer on the home page was: its composer is
deterministic.
Confidence and unknowns
Every fact and link carries a confidence that says how it was established, and every citation shows it.
| Source | Confidence |
|---|---|
| Parser structural fact | 0.95 |
| Resolver, unique match | 0.90 |
| Resolver, heuristic match | 0.60 |
| Resolver, ambiguous match | 0.30 |
| Model output | 0.80 at most |
| Expert confirmation or correction | 1.00 |
What Telikos cannot see
Telikos records every place where the estate refers to something it cannot find or resolve, why, and which artifact would close the gap. The list is ranked by how central the affected part of the estate is and how doubtful the item is, and it says which artifacts to ask for first. Here are real entries from a claims estate.
| Kind | Subject | Found in | Severity | What would close it |
|---|---|---|---|---|
| dynamic call unresolved | WS-EXIT-PGM | cobol/CLM0200.cbl:138 | Warning | Run-time parameters (PARM or SYSIN) for the calling job step |
| missing copybook | CLMMISS | cobol/CLMOLD.cbl:19 | Warning | Copybook CLMMISS |
| missing program | CLMSEC | cobol/CLMINQ.cbl:41 | Warning | Source for program CLMSEC |
| unresolved symbolic | REGION | jcl/CLMADHOC.jcl:10 | Warning | The scheduler or submission JCL that supplies this symbolic |
| orphan program | CLMORPH | cobol/CLMORPH.cbl:2 | Warning | Scheduler definitions or operator procedures that run it |
| dataset no producer | ACME.PROD.CLAIMS.INPUT | No single line: the dataset as a whole | Info | The job or system that creates this dataset |
6 of the 16 unknowns Telikos recorded for this estate. The last column is the resolver's suggestion for each kind of gap.
When the model is wrong
Your experts can confirm, reject or correct any fact, add a link the code cannot show, such as a dynamic call or a manual step, and leave notes.
A confirmation sets confidence to 1.00. A rejected fact disappears from every answer and map but is kept for the audit trail. A correction is stored beside the original and is not overwritten when the estate is ingested again. Every annotation is written to the audit log.
Re-ingestion
Each ingestion run records when every fact was first seen, last seen and removed. Removed facts are marked, not deleted. Every artifact version is kept, addressed by its content hash, so a citation always opens the lines it was made from.
When a run removes something an expert annotated, the annotation is flagged in the review queue instead of being lost.
A side-by-side comparison of two runs, with each change explained from the source diff, is planned and is not in the current version.
What Telikos is not
- Not a translatorIt does not rewrite COBOL into Java or anything else. It explains what you have.
- Not a general assistant over raw filesAnswers come from parsed facts and must cite them. Nothing is answered from a model's memory.
- Not a production toolIt reads source artifacts only. It needs no production data and no write access to anything.
- Not SaaSAll processing and storage stay inside your boundary, on a host you control.
See it on your own code
A pilot runs this pipeline on one flow you choose, inside your network, in three weeks.