diff --git a/server/app/pending_changes.py b/server/app/pending_changes.py index 96ebdcd..8150398 100644 --- a/server/app/pending_changes.py +++ b/server/app/pending_changes.py @@ -102,7 +102,9 @@ target.unlink(missing_ok=True) else: target.write_text(previous_content, encoding="utf-8") - raise PendingChangeError("Applied change failed validation and was rolled back") + issues = validation.get("issues", []) + details = "\n".join(f" - {i['path']} ({i['code']}): {i['message']}" for i in issues[:10]) + raise PendingChangeError(f"Applied change failed validation and was rolled back. Issues:\n{details}") now = datetime.now(UTC).replace(microsecond=0).isoformat().replace("+00:00", "Z") change["status"] = "applied" @@ -143,7 +145,9 @@ validation = validate_repository(self.settings) if validation["status"] != "ok": target.write_text(previous_content, encoding="utf-8") - raise PendingChangeError("Applied change failed validation and was rolled back") + issues = validation.get("issues", []) + details = "\n".join(f" - {i['path']} ({i['code']}): {i['message']}" for i in issues[:10]) + raise PendingChangeError(f"Applied change failed validation and was rolled back. Issues:\n{details}") now = datetime.now(UTC).replace(microsecond=0).isoformat().replace("+00:00", "Z") change["status"] = "applied"