About the Project

Inspiration

Legacy modernization is one of the most complex and long-running problems in enterprise IT. In real programs, planning is not a one-time activity-it spans weeks or months, involves multiple stakeholders, and requires continuous adjustment as assumptions prove wrong.

Most AI tools I evaluated were stateless: they produced a result, but forgot everything on the next run. This works for chat, but not for planning large-scale modernization involving millions of lines of code, hundreds of applications, and significant financial risk.

This project was inspired by a simple question:

What would an AI system look like if it had to plan like an experienced architect-over time, with memory, validation, and the ability to correct itself?


What I Built

I built an Autonomous Legacy Modernization Planner: a long-running AI system that orchestrates multiple planning tools, persists its state across executions, and self-corrects across cycles without human supervision.

Instead of prompt chaining, the system is built as a tool-driven architecture with structured inputs and outputs:

  • A decomposition engine breaks down legacy scope into workloads, dependencies, and data complexity.
  • A deterministic estimation model produces effort, cost, and duration baselines.
  • LLM reasoning (Gemini) is used in a bounded, advisory role, governed by policy.
  • A validation and drift detection layer evaluates outputs across cycles.
  • A self-correction control loop automatically modifies future tool behavior based on detected errors.
  • All decisions are stored in persistent memory, enabling pause, resume, and convergence.

Each execution cycle builds on the previous one rather than starting over.


Self-Correction Approach

Self-correction in this system does not mean the model critiques its own text. Instead, correction happens at the system level.

When validation detects high risk or drift between cycles, the system automatically:

  • Reduces or disables LLM influence
  • Tightens estimation bounds
  • Adjusts future tool invocation behavior

These corrective decisions are persisted and applied in subsequent cycles, enabling the system to converge toward stable, defensible plans.

Formally, the system follows a feedback loop:

[ \text{Detect} \rightarrow \text{Decide} \rightarrow \text{Adjust} \rightarrow \text{Persist} \rightarrow \text{Repeat} ]

This allows autonomous correction without human intervention.


What I Learned

This project reinforced several key lessons:

  • Autonomy is not about better prompts-it is about state, validation, and control.
  • LLMs are powerful but must be bounded and governed to be reliable in enterprise contexts.
  • Persistence and replayability are essential for long-running AI systems.
  • Deterministic logic and probabilistic reasoning must coexist, with clear precedence rules.

Most importantly, I learned that building autonomous systems requires thinking beyond model output and focusing on behavior over time.


Challenges Faced

The biggest challenges were architectural rather than algorithmic:

  • Designing clean contracts between tools so outputs could be validated and reused
  • Preventing error amplification across cycles
  • Ensuring the system could stop and resume safely without losing context
  • Balancing LLM flexibility with deterministic correctness

Solving these challenges required careful separation of concerns, strong schema discipline, and a policy-driven control plane.


Why This Matters

This project demonstrates that AI systems can move beyond one-shot responses and operate as autonomous planners-capable of learning from their own mistakes, adapting over time, and producing enterprise-ready artifacts.

It is a step toward AI systems that behave less like chatbots and more like long-running, accountable decision-making systems.

Built With

Share this project:

Updates