ENGINEERING & ARCHITECTURE NOTES

Technical Writing

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.

package.json presence !== reachable CallExpressionTechnical Note
AST MATCHING7 min read

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.

ts.isCallExpression(node) && matchPropertyAssignment(node, 'coupon')Technical Note
STATE INTEGRITY5 min read

Why migration baselines require exact commit SHAs

How Git branch head drift creates patch corruption, and why pinning an immutable 40-character baseline commit SHA prevents divergent proposals.

HEAD_SHA = 7a3f89d1b0924e3c881023a9d20c56b7104e6721Technical Note
DETERMINISTIC CODEGEN6 min read

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.

DeterministicPatchGenerator: minimal unified diff (+1, -1)Technical Note
VERIFICATION HARNESS8 min read

How MY OWL verifies migrations before creating a Draft PR

A detailed breakdown of our 4-gate safety harness: AST syntax validity parsing, TypeScript compiler diagnostics, call-site boundary constraints, and dry-run test execution.

GateHarness: [SyntaxValid, TscDiagnosticCheck, ScopeBoundary, TestRunner]Technical Note
SECURITY INVARIANTS5 min read

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.

ControlledWrite: { branch: 'apiproof/*', draft: true, autoMerge: false }Technical Note