*Problem* A developer merges a one-line "performance improvement" into a shared pricing library — changing `calculateFee` to return integer cents instead of dollars. TypeScript compiles clean. The package's own CI is green. The PR looks safe. Three hours later, the billing service is charging customers 100× the correct amount. The notification service is printing receipts with absurd totals. Nobody caught it because the type signature never changed — only the unit of the return value did. This is the class of bug that static analysis cannot see. In large TypeScript monorepos, this scenario plays out constantly. Teams have no fast, reliable way to answer: "If I change this function, what downstream consumers will break, and by how much?" Manual code review doesn't scale. Grep-and-hope doesn't scale. The blast radius is invisible until production. *Solution* NexusGuard is a blast-radius analysis and bounded self-healing system for TypeScript monorepos, built around IBM Bob as its reasoning engine. It works in three deterministic + one probabilistic layer: *1. Deterministic graph* — `ts-morph` builds a precise symbol-level dependency graph. Import edges, reference edges, and HTTP route edges are all tracked. No LLM is involved at this stage, so no hallucinations are possible about what depends on what. *2. IBM Bob semantic reasoning* — For each candidate consumer, IBM Bob receives numbered evidence snippets and must produce a verdict (BROKEN / AT_RISK / SAFE / UNCERTAIN) with an exact verbatim quote from the evidence. A 10-rule validator (V1–V10) rejects any claim with a fabricated file, line, or quote before it reaches the report. Surviving hallucinations in the final report: zero, by construction. *3. Oracle confirmation* — `tsc` and `vitest` independently confirm findings. A compiler error upgrades a finding to CONFIRMED_BY_COMPILER. A test regression upgrades it to CONFIRMED_BY_TEST. The UI always shows which findings are confirmed and which are LLM-grounded. *4. Bounded self-healing* — When the user asks to heal, IBM Bob proposes minimal search/replace edits for broken consumers. A ScopeGate and DenyList enforce: only broken consumer files (never tests, configs, or the producer itself), no `@ts-ignore` or `as any`, at most 3 attempts, at most 30 changed lines. `tsc` and `vitest` must pass before the fix is committed to a new branch. *Target users* Engineering teams working in TypeScript monorepos — especially those with shared libraries consumed by multiple services. *IBM Bob integration* Bob IDE runs the analysis through purpose-built MCP tools in a custom "NexusGuard" mode. Every tool call is visible in Bob's panel. The dashboard mirrors live state via SSE. Bob Shell provides a headless path for CI and evals. *What makes it creative and unique* The combination of deterministic graph discovery + oracle-confirmed semantics + test-gated self-healing, applied specifically to the class of bug that compilers cannot see, is not a pattern found in existing tools. The score is a deterministic formula, not a vibe. Every claim is grounded or rejected.
Category tags: