# CODEX STOP RULES Codex must stop or pause expansion when these conditions occur. ## Hard stop conditions Stop implementation and report if: - backend cannot import; - frontend cannot build due to own changes; - migrations cannot be generated or applied due to unclear schema conflict; - API contract conflict is found; - architecture invariant would need to be broken; - dependency choice conflicts with ADRs; - secrets or API keys are accidentally introduced; - external service is required for a Sprint 1 must-have. ## Soft stop conditions Pause expansion and finish cleanup if: - tests fail after the intended module is implemented; - a feature starts requiring a non-Sprint-1 module; - implementation requires more than one new abstraction not already documented; - generated code duplicates existing logic; - TODO comments are being used to hide incomplete logic. ## What Codex must do at stop Report: - exact blocker; - files affected; - commands run; - failing output summary; - recommended fix; - whether rollback is needed. ## What Codex must not do - Do not continue building unrelated modules while the build is broken. - Do not silence errors by weakening tests. - Do not replace real functionality with permanent mock logic. - Do not change the architecture to make one test pass. - Do not introduce a new dependency without ADR-compatible justification.