Skip to content

docs: grafo de dependencias y documentación funcional de los 38 programas COBOL - #282

Open
devin-ai-integration[bot] wants to merge 16 commits into
mainfrom
devin/1788815613-cobol-dependency-graph
Open

devin-ai-integration[bot] wants to merge 16 commits into
mainfrom
devin/1788815613-cobol-dependency-graph

Conversation

@devin-ai-integration

Copy link
Copy Markdown

Summary

Añade documentación estática de dependencias y funcionamiento de todo el sistema COBOL (solo documentation/; no toca fuentes).

documentation/dependency-graph/ — extractor y grafo global

  • extract_deps.py: analiza src/programs/**, src/copybook/** y src/jcl/** y emite deps.json (38 programas, 20 copybooks, 15 JCL, 194 aristas) con aristas tipadas: CALL, LINK/XCTL (CICS), COPY, SQL-INCLUDE, SQL (tabla DB2, nombres cualificados como SESSION.DBSTATS), FILE (SELECT…ASSIGN y EXEC CICS READ FILE(...)), EXECPGM (JCL). Detecta también SQL dinámico construido con literales ('SELECT … FROM POSHIST' en INQHIST) y CALL embebidos en copybooks (DBPROC → ERRPROC, marcados via_copybook). Cada arista lleva resolved para señalar destinos externos (DELAY, ILBOABN0, IDCAMS, copybooks inexistentes PORTREC/DB2STAT/SQLPOS).
  • render_graph.py: genera README.md (3 vistas Mermaid: flujo de control, acceso a datos, copybooks; índice de programas; no resueltos; leyenda) y graph.dot (Graphviz). Los IDs de nodo llevan prefijo por tipo (P_/C_/T_/F_/J_) para evitar colisiones como programa vs. job PORTADD o tabla vs. DDNAME ERRLOG.

documentation/programs/<grupo>/ — una ficha por programa (en español) + README por grupo con subgrafo Mermaid

  • batch (11), common (6), online (8), portfolio (8), test (2), utility (3).
  • Cada ficha: propósito, tipo, E/S (DDNAME, tablas, copybooks, LINKAGE), flujo paso a paso, reglas de negocio, manejo de errores/códigos de retorno, dependencias y diagrama Mermaid.
  • Cada README incluye "Discrepancias con deps.json" con hallazgos del código que el análisis estático no captura: código no alcanzable (PORTTRAN → AUDPROC), POSUPDT vacío, párrafos PERFORM no definidos, desplazamiento de 18 bytes entre ERR-MESSAGE y LS-ERROR-REQUEST en ERRPROC, etc.

Los 6 grupos fueron documentados en paralelo (PRs #276#281, ya integrados en esta rama). Todos los bloques Mermaid validados con @mermaid-js/mermaid-cli.

Regenerar: cd documentation/dependency-graph && python3 extract_deps.py && python3 render_graph.py.

Link to Devin session: https://app.devin.ai/sessions/8007b55b2ad142ccb74dd1da4577d5d1
Open in Devin Desktop: https://app.devin.ai/desktop/session/8007b55b2ad142ccb74dd1da4577d5d1?variant=devin
Requested by: @HoltzTomas

devin-ai-integration Bot and others added 16 commits September 7, 2026 21:13
Co-Authored-By: Tomas Holtz <tomiholtz@gmail.com>
Co-Authored-By: Tomas Holtz <tomiholtz@gmail.com>
Co-Authored-By: Tomas Holtz <tomiholtz@gmail.com>
…COBOL

Co-Authored-By: Tomas Holtz <tomiholtz@gmail.com>
docs(test): documentación y subgrafo de dependencias de programas COBOL
docs(utility): documentación y subgrafo de dependencias de programas COBOL
…OBOL

Co-Authored-By: Tomas Holtz <tomiholtz@gmail.com>
…s COBOL

Co-Authored-By: Tomas Holtz <tomiholtz@gmail.com>
…OBOL

Co-Authored-By: Tomas Holtz <tomiholtz@gmail.com>
Co-Authored-By: Tomas Holtz <tomiholtz@gmail.com>
…e table/file nodes

Co-Authored-By: Tomas Holtz <tomiholtz@gmail.com>
docs(common): documentación y subgrafo de dependencias de programas COBOL
docs(portfolio): documentación y subgrafo de dependencias de programas COBOL
Co-Authored-By: Tomas Holtz <tomiholtz@gmail.com>
docs(online): documentación y subgrafo de dependencias de programas COBOL
docs(batch): documentación y subgrafo de dependencias de programas COBOL
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant