Skip to content

V1 to V2 Migration

SHAURYASANYAL3 edited this page Jul 24, 2026 · 1 revision

Migration to V2 (The Brutalist Purge)

In v0.3.x, AgentWatch underwent a massive "Brutalist Purge". We deleted over 26,000 lines of code. If you are migrating from V1, here is what you need to know about the removed systems and why they are gone.

1. The Reasoning Auditor (Removed)

In V1, we attempted to monitor LLM behavior by using another LLM to audit the reasoning traces of the agent in real-time. Why it died:

  • It was inherently non-deterministic.
  • It added 1000ms+ latency to agent execution.
  • It was mathematically impossible to guarantee safety. V2 Solution: The StateLattice and Shadow Simulators, which provide deterministic, sub-millisecond guarantees without calling an external API.

2. Cost Tracking (Removed)

V1 had deep integrations with token cost APIs to track agent spending. Why it died:

  • APIs change token prices constantly, causing our internal calculators to break.
  • It is a solved problem (e.g., Helicone, LiteLLM). It is not AgentWatch's core domain. V2 Solution: We log raw token counts to the EventBus. The frontend can multiply those counts by static pricing if the user desires, but the core backend no longer manages financial state.

3. EU AI Act Governance Models (Removed)

We built heavy SQL schemas to track regulatory compliance for enterprise agents. Why it died:

  • Premature optimization. 99% of our users are developers running local CLI agents, not enterprise compliance officers. V2 Solution: YAGNI. We will build compliance reporting when users actually demand it.

4. Complex Memory Engines (Removed)

V1 had vector databases and semantic caching built directly into the agent adapters. Why it died:

  • Massive dependency bloat (embeddings, vector stores).
  • Memory should be handled by the Agent framework itself (e.g., LangChain, LlamaIndex), not the observability layer. V2 Solution: Adapters are now lightweight, stateless wrappers that simply emit telemetry.

Clone this wiki locally