Chapter 05 · Azure App Onboard Prereq
Subchapter 5.10
references/remediation-protocol.mdMarkdown4 KBView on GitHub
🛑 Hard Halt? Skip remediation. Set
overallHealth: "blocked", write artifacts, go to Step 7. 🔶 Major Migration? If user chose “Attempt migration,” enter loop. Warn changes may need review.
⛔ Fix ONLY Azure-deployment blockers: missing dependencies causing build/startup failure, missing entry point, startup crashes, Azure-required configuration (port binding, env var externalization, managed-DB client TLS/SSL — e.g. W-MYSQL-SSL). Everything else → postDeployRecommendations[].
If any ❌ FAIL, 🔧 Fix, or ⚠️ WARN with fixPhase: "prereq" exist:
⛔
fixPhase: "prereq"is a remediation trigger regardless of severity. If left unfixed → deploy-time failures. Warnings withfixPhase: "scaffold"/"deploy-gate"/"post-deploy"are NOT included.
🔄 Re-evaluation complete — ✅ N issues resolved, ❌ M remaining. If M > 0, loop back.ask_user: “I’ve fixed {N} files. Want me to install, build, and test? (Yes / Skip)”. ⛔ General prior consent (e.g., “fix my issues”, “yes”, “go ahead”, “fix them”) does NOT constitute consent to run install/build/test. The user must answer THIS specific question. If they say Skip, proceed to Step 7 without running commands. Max 3 build-fix attempts.⛔ Re-evaluation = full 3-axis re-scan, NOT just reading fixed files. After ANY successful remediation, update all 3 artifacts per prereq-artifacts.md:
context.json: readiness.status: "fixesApplied", updated verdicts, fixes[], updated statusSummaryprereq-output.json: Rewrite completely via create tool. Recompute overallHealth from updated verdicts.readiness-report.md: Append “Post-Fix Re-evaluation” section.⛔ Re-derive verdicts from findings — do NOT carry forward pre-fix values. Per axis: worst finding verdict wins. Then: any axis FAIL → "blocked", else any WARN → "readyWithCaveats", else "ready".
⛔ Write components to BOTH prereq-output.json.components[] AND context.json.components[]. context.json.components[] is authoritative for downstream.
⛔ fixesApplied requires re-evaluation evidence — verify 🔄 Re-evaluation complete was printed.
Set readiness.status per component: All PASS → ready | Fixes applied + re-eval passed → fixesApplied | Unresolved FAILs → needsFixes.
Update context.json: append "prereq" to completedPhases, set currentPhase: null, update lastModifiedUtc.
⛔
overallHealthMUST be one of:"ready","readyWithCaveats","blocked". ⛔repo.lastScanCommitis required — rungit rev-parse HEAD.