Tool phân tích target bằng static graph; repo explorer này index toàn bộ hàm Python của chính harness. Bản phát hành công khai phải lấy từ source snapshot sạch, không từ lịch sử Git cũ.
01 · logic_atlas.resolve_scope → tracked_filesscripts/logic_atlas.py:46 · Khóa scope trong target và chỉ đọc Git-tracked regular file.
- Điều kiện
- Reject path escape/symlink
- Đầu ra
- File inventory theo ngôn ngữ
- Khi lỗi
- Bad scope error
- Rủi ro
- Untracked code không được lập graph
02 · classify → Python Pyanscripts/logic_atlas.py:69 · Python call graph tĩnh qua pin Pyan.
- Điều kiện
- max_files=400; uvx phải có
- Đầu ra
- python-calls.dot + HTML/SVG
- Khi lỗi
- unavailable/too_large/partial
- Rủi ro
- Dynamic dispatch/callback không chắc chắn
03 · _run_frontend → dependency-cruiserscripts/logic_atlas.py:136 · JS/TS import graph, không thực thi target config.
- Điều kiện
- --no-config; unresolved thành unknown
- Đầu ra
- frontend-dependencies.json
- Khi lỗi
- Partial nếu unresolved/Vue/Svelte
- Rủi ro
- Event→HTTP/API chưa được nối
04 · syntax_map.extract → frontend functionsscripts/syntax_map.py:42 · JS/TS/JSX/TSX function, arrow variable và direct call trong cùng file.
- Điều kiện
- Member/dynamic call để unknown; chạy cả khi thiếu npx
- Đầu ra
- frontend-symbols.json + HTML/SVG
- Khi lỗi
- Partial nếu syntax/unknown/Vue/Svelte
- Rủi ro
- Chưa nối event, HTTP hoặc cross-file call
05 · syntax_map.extract → native/backendscripts/syntax_map.py:42 · Rust/Go/Java/PHP/C# symbol và same-file call.
- Điều kiện
- Bỏ symlink/file >1 MB
- Đầu ra
- language-syntax.json
- Khi lỗi
- Unknown call giữ nguyên
- Rủi ro
- Cross-file/cfg/reflection không được giải
06 · atlas_render.write_graphscripts/atlas_render.py:121 · Xuất HTML/SVG/PDF offline; HTML có full catalog node/cạnh/unknown.
- Điều kiện
- SVG preview tối đa 120 node
- Đầu ra
- *-map.{html,svg,pdf}
- Khi lỗi
- Truncated SVG gắn partial
- Rủi ro
- Catalog static không diễn giải end-to-end
07 · repo_explorer.index → renderscripts/repo_explorer.py:38 · Index mọi hàm, biến và call của chính harness, không cắt 120 node.
- Điều kiện
- Syntax parse; unknown hiển thị
- Đầu ra
- repo-explorer.html + 5 SVG
- Khi lỗi
- Parse error được liệt kê
- Rủi ro
- Static call chưa là runtime trace
08 · model_rescue_eval.evaluatescripts/model_rescue_eval.py:148 · Smoke MAP/PLAN/REVIEW với fixture tổng hợp qua gateway model tiết kiệm.
- Điều kiện
- Schema + plan_check + unsafe verdict grader
- Đầu ra
- reports/model-eval/*.json
- Khi lỗi
- Contract fail trả 2
- Rủi ro
- Không phải end-to-end executor/owner test
09 · public_snapshot.buildscripts/public_snapshot.py:44 · Đóng source mới không kèm lịch sử Git/report cũ.
- Điều kiện
- Exclude reports/log; reject symlink
- Đầu ra
- tar.gz + SHA manifest
- Khi lỗi
- Path không an toàn abort
- Rủi ro
- Vẫn cần secret/license/manual content review
10 · Gitleaks allowlist → scan source snapshot.gitleaks.toml:6 · Quét source extract; kiểm số byte scan khác 0.
- Điều kiện
- Không loại cả root/public snapshot
- Đầu ra
- Gitleaks finding report
- Khi lỗi
- 0 byte scan là false green, block release
- Rủi ro
- 0 secret pattern không chứng minh không có dữ liệu nhạy
11 · LICENSE + release gateLICENSE:1 · Source dự kiến phát hành theo MIT.
- Điều kiện
- Không push nhánh/lịch sử cũ
- Đầu ra
- Candidate public source snapshot
- Khi lỗi
- Thiếu review thì chưa publish
- Rủi ro
- External tool licenses và data phải rà riêng