Deep-dives into Abstract Syntax Tree analysis, deterministic patch generation, compiler verification gates, and Git write contracts.
COMPILER INTERNALS6 min read
Why package.json presence is not proof of affected usage
Exploring why naive dependency manifest scanners produce 90% false positive alert fatigue, and how parsing call expressions into an Abstract Syntax Tree distinguishes merely installed libraries from active breakages.
How AST symbol tracing identifies affected call sites
A technical walkthrough of import alias resolution, property access inspection, and destructured parameter evaluation using ts-morph to pinpoint the exact line numbers needing migration.
Why deterministic patching matters over AI guessing
Why prompting generic LLMs to rewrite entire source files causes formatting churn and hallucinated bugs, compared to bounded, rule-driven AST transformations that preserve your project's indentation and comments.
Why safe automation stops at the Draft PR instead of auto-merging
Examining our foundational architectural invariant: developer agency must remain sovereign. Why automated tools should never merge code or push directly to default branches.