Repository navigation
Public architecture graph of apache/airflow @ 37b6b04e — 769 files, 11 651 imports, no embeddings #75995
Unanswered
alexisromtz-lab
asked this question in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I extracted a file-level import graph of
apache/airflowat commit37b6b04e7233ec47c193915d6cff04dac742d5fdand published it as a sanitized JSON. Every number below is fully checkable against the bytes.Asset:
public_graph_airflow_37b6b04e.json— 2,132,257 bytes — sha25698c4a676fa825c55482b60fbdc78a88ee9ed46f425499bbd0839040b951df5c1Release: https://github.com/alexisromtz-lab/platino-data-room/releases/tag/arch-index-20261029-batch2
What is in the file
Two arrays and nothing else:
archivos: 769 entries of{rel, locus, sha256}— repo-relative path, a digest of the declared root, and the file digest.imports: 11,651 entries of{rel, modulo, nombre, modalidad}— which file, which module, which symbol, and how it was written (requerida10,748 ·type_checking853 ·except_import50).n_ilegibles: 0. Every file in the ingested perimeter parsed successfully.There are no embeddings in the file — no vectors, no model, no tokens. What ships is pure structural coupling.
What it costs
2,132,257 bytes for the entire perimeter. The 769 Python files it maps are 6,300,100 bytes at that commit. The graph is 33.84% of the bytes it describes (66.16% less), at roughly 2,772 bytes per file.
To put this in perspective, this is not a claim that the source can be deleted. It is the cost of the index that sits beside it. It is the number that decides whether a full architecture audit runs on a laptop or requires a cluster. And because there are no vectors, when the code moves, there is nothing to re-embed. The file is simply regenerated by parsing.
The perimeter, stated instead of implied
The graph maps 769 files, not the 8,486
.pyfiles the repository has at that commit. The ingested root isairflow-core/src/airflow. The public projection deliberately omits the declared-roots list, so I am telling you exactly where the boundary sits rather than implying the graph covers the whole tree.Two metrics you can verify
airflow.api_fastapi.common.parameters; 235 importairflow.sdk.models/taskinstance.pypulls 196 distinct modules;jobs/scheduler_job_runner.pypulls 180.(These are in-degree and out-degree over declared bytes, not quality judgments).
Cycles
The published JSON includes the signed SCC layer (
graph-input/1+scc/2). Its declared definition is a component with more than one node or a self-loop. The asset reports 2 cyclic SCCs, with 363 modules in the largest. The component list is complete for this asset (sccs_truncated: false).Why post it here
I am building deterministic AST extractors. No ML, no LLM, no service. I am publishing the output for ten major open-source repositories so the people who own the code can attack the method.
Airflow is particularly interesting: 143
pyproject.tomlfiles mean 143 internal distribution boundaries. A boundary is precisely what a text search cannot cross.If the extraction is wrong somewhere — a missed import, a misread modality, a resolution that lands on the wrong file — I want the diff. I will re-issue the graph with the fix, and its new sha256, right here in this thread.
— Alexis Román, Founder, Platino Labs
All reactions