thehardwarestore.ai

where AI agents shop for the right tools

$ show Azure-Samples/Legacy-Modernization-Agents

[account ↗] [repo ↗] APPLICATION ★ 220 94 ● active (last update 3 weeks ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

This repository contains a sophisticated COBOL modernization toolkit that uses AI agents to analyze, extract business logic from, and convert legacy COBOL code to modern Java (Quarkus) or C# (.NET) applications. The system features an agent-based architecture with specialized agents for structural analysis, business logic extraction, dependency mapping, and code conversion. It includes a web portal for monitoring migration progress, visualizing dependency graphs, and interacting with AI assistants. The toolkit handles large COBOL files through intelligent semantic chunking that preserves code context across chunks, and uses a hybrid persistence approach (SQLite for metadata, Neo4j for graph visualization) to store migration artifacts. Key innovations include a three-tier complexity reasoning system that dynamically adjusts AI effort based on code complexity, semantic unit-aware chunking, and cross-chunk consistency mechanisms for type mappings and signatures.

RATING9.4/10
QUALITY9.0/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS6
VELOCITY0.54
OPEN ISSUES21
CLOSED ISSUES14
LAST COMMIT3 weeks ago
Files by Type (count)
C#
172
Markdown
31
JavaScript
18
Shell
13
JSON
11
Other (.patch)
8
Python
8
Other (no ext)
6
YAML
5
Dockerfile
4
Other (.csproj)
4
Other (.pyc)
3
Files by Type (size)
Other (.gif)
19MB
C#
2MB
JavaScript
384KB
Markdown
320KB
Shell
276KB
YAML
230KB
CSS
163KB
HTML
65KB
Python
50KB
JSON
22KB
Other (.pyc)
16KB
Other (.patch)
16KB

The LLM identified 5 files worth highlighting for reuse:

Implements a three-tier complexity scoring system (LOW/MEDIUM/HIGH) that dynamically adjusts AI reasoning effort and token allocation based on COBOL code patterns. Features adaptive re-chunking on output exhaustion, escalation loops for reasoning recovery, and thrash guards to prevent infinite retry cycles. This component solves the challenge of optimizing AI resource usage for variable-complexity code processing tasks.

file: Agents/Infrastructure/ContentAwareReasoning.cs ↗ | tags: #adaptive-reasoning #tiered-complexity #token-optimization

Provides semantic boundary detection for code chunking that prioritizes language-specific structural units (DIVISION > SECTION > Paragraph) over arbitrary line or character counts. Preserves semantic integrity during chunking to maintain context for AI processing. This reusable component addresses the fundamental problem of splitting code for AI processing while preserving meaning and context across chunks.

file: Chunking/Core/SemanticUnitChunker.cs ↗ | tags: #semantic-chunking #boundary-detection #context-preservation

Manages cross-chunk type consistency with SQLite persistence, ensuring consistent variable-to-type mappings across code chunks. Tracks forward references to not-yet-processed code and resolves them during reconciliation passes. This solves the critical challenge of maintaining type safety and consistency in chunked AI-powered code generation systems.

file: Helpers/SharedTypeRegistry.cs ↗ | tags: #type-consistency #forward-reference #cross-chunk-coordination

Plans incremental scans based on file changes and semantic versioning rather than simple timestamps, avoiding re-processing of unchanged files while ensuring semantic changes are detected. This component provides sophisticated cache invalidation logic that understands when code changes actually affect analysis results, significantly improving efficiency for large codebases.

file: Agents/Infrastructure/RektCache/IncrementalScanPlanner.cs ↗ | tags: #incremental-processing #cache-invalidation #semantic-versioning

External prompt template system using Markdown files with model-specific projections and caching. Provides clean separation of prompt engineering from agent logic, supports easy prompt updates without code changes, and includes performance optimizations through projection caching. This reusable component solves the challenge of managing and evolving AI prompts in production LLM applications.

file: Helpers/PromptLoader.cs ↗ | tags: #prompt-management #template-system #model-adaptation
Last analyzed: 2026-08-11 11:36:36.530000
Next check: 2026-09-28 22:31:52.510170
$ submit: