ARCLUX 🐳 — a codebase intelligence tool that refuses to guess published: false ARCLUX, a codebase intelligence tool built by developer Mikatoshi, provides dependency graph and impact analysis with a rule that every reported fact traces back to real parsed code, avoiding AI guesses. The tool's 18 structural detectors include one for ambiguous symbol resolution, which can cause AI coding assistants to silently pick incorrect definitions. ARCLUX uses a breadth-first walk over the dependency graph to trace direct and transitive consumers of a module. If you've ever stared at a 15,000-file monorepo wondering "what actually breaks if I touch this file," you know the feeling: you either click through imports by hand, or you trust a tool that's quietly guessing. ARCLUX is my answer to that — a dependency graph and impact analysis tool, CLI + web dashboard, built on one non-negotiable rule: every fact it reports has to trace back to real parsed code. An import statement. An export declaration. A resolved path. Not a probability. Not an embedding similarity score. A fact. There's a wave of AI-powered "codebase intelligence" tools right now — semantic search, RAG over your repo, agents that summarize what a function does. Those are legitimate, useful tools solving a real problem. ARCLUX solves a different one: can a machine tell you, with zero ambiguity, exactly how your code is structurally connected? No LLM in the loop, no "probably." Just parse → index → graph → impact → detect, every step traceable and reproducible. php repository - parser - graph - detectors - engine - report | - rules framework conventions - impact consumer/dependent tracing This is the core of "what breaks if I touch this file." No heuristics, no scoring — just a breadth-first walk over the real dependency graph, starting from whoever directly imports the module and expanding outward until every transitive consumer is accounted for. // Copyright 2026 Mikatoshi // // Licensed under the Apache License, Version 2.0 the "License" ; // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 import type { Repository } from "../repository/Repository"; export interface ConsumerTraceResult { direct: string ; transitive: string ; notFound: boolean; } export function traceConsumers repository: Repository, moduleId: string : ConsumerTraceResult { const startModule = repository.getModule moduleId ; if startModule { return { direct: , transitive: , notFound: true }; } const direct = ...startModule.importedBy ; const visited = new Set