ZMIG inventories user exits, BAdIs, enhancements and standard modifications, has an LLM draft a migration verdict for each, and lets a consultant validate every card before it reaches the report.
A self-contained report inventories Z objects, exits, BAdIs and usage, exporting JSON (optionally AES-256 encrypted).
Loads the extract, builds the object graph and runs dead-code and impact-radius analyses.
For each enhancement, an LLM classifies it, estimates effort and lists risks — strict JSON, validated against enums.
A consultant walks each draft and validates, corrects or skips it before anything ships.
A self-contained HTML dossier (prints to PDF) with a SHA-256 integrity seal over the source.
A server-rendered FastAPI UI — no frontend framework, no build step. Upload an extract, run the evaluation, review the drafts.
Decision support, not decisions — and honest about its limits.
Cards stay in ai_draft until a consultant promotes them. The report excludes drafts and says so on its cover.
Every source is hashed (SHA-256) at extraction and re-checked at report time; the dossier shows a match percentage.
Usage evidence, dynamic calls and cross-reference completeness are declared as limits in the methodology section.
Anthropic Claude by default, xAI Grok via an OpenAI-compatible client. Strict JSON, validated against enums, with one retry.
You need Docker Desktop (or any Postgres 14+), Python 3.10+, SAP GUI access to the audited system, and an Anthropic and/or xAI API key.
git clone https://github.com/sergio-gracia/ecc-s4h-migrator-auditor.git cd ecc-s4h-migrator-auditor # Python env + deps python -m venv venv && .\venv\Scripts\activate pip install -r requirements.txt # Database (port 5433 if 5432 is taken) docker run -d --name mig-db -e POSTGRES_PASSWORD=migpass \ -e POSTGRES_DB=mig -p 5433:5432 postgres:16 # Environment $env:DATABASE_URL="postgresql://postgres:migpass@localhost:5433/mig" $env:ANTHROPIC_API_KEY="sk-ant-..." # Run the web app... uvicorn app:app --reload # → http://localhost:8000 # ...or the whole stack docker compose up --build
Then run ZMIG_EXTRACTOR in SAP (SE38), upload the JSON, evaluate, review and export. Full steps in the README.