diff --git a/scripts/workers/fax_sender.py b/scripts/workers/fax_sender.py index d0f4b1b..70cbafc 100644 --- a/scripts/workers/fax_sender.py +++ b/scripts/workers/fax_sender.py @@ -63,6 +63,12 @@ async def send_fax( Returns: dict with keys: success, log_id, device, status, error """ + # Guard: don't fax in dev/test + is_prod = os.getenv("NODE_ENV") == "production" or os.getenv("ENV") == "production" + if not is_prod: + LOG.info("[fax] DEV MODE — skipping fax to %s", recipient) + return {"success": True, "log_id": "dev-skip", "device": "dev", "status": "skipped", "error": None} + url = f"https://{PBX_HOST}/api/v2/virtual_faxes/{PBX_FAX_ID}/send" headers = { "app-key": PBX_API_KEY, diff --git a/scripts/workers/services/fmcsa_web_submitter.py b/scripts/workers/services/fmcsa_web_submitter.py index 0b8cd7a..8c88a80 100644 --- a/scripts/workers/services/fmcsa_web_submitter.py +++ b/scripts/workers/services/fmcsa_web_submitter.py @@ -64,6 +64,19 @@ async def submit_mcs150( submitted_at = datetime.now(timezone.utc) + # Guard: don't submit to FMCSA in dev/test + is_prod = os.getenv("NODE_ENV") == "production" or os.getenv("ENV") == "production" + if not is_prod: + LOG.info("[fmcsa] DEV MODE — skipping web submission for DOT %s", dot_number) + return { + "success": True, + "screenshot_path": None, + "pre_submit_screenshot": None, + "submitted_at": submitted_at.isoformat(), + "confirmation_text": "DEV MODE — submission skipped", + "error": None, + } + try: from patchright.async_api import async_playwright except ImportError: diff --git a/scripts/workers/services/mcs150_update.py b/scripts/workers/services/mcs150_update.py index 2a787fa..bd84eaf 100644 --- a/scripts/workers/services/mcs150_update.py +++ b/scripts/workers/services/mcs150_update.py @@ -186,8 +186,21 @@ class MCS150UpdateHandler: LOG.error("[%s] E-sign setup failed (proceeding anyway): %s", order_number, exc) # Step 5: Submit electronically (3x web → fax fallback) + # GUARD: Skip actual submission in dev/test environments + is_production = os.environ.get("NODE_ENV") == "production" or os.environ.get("ENV") == "production" filing_result = None - if pdf_path: + if pdf_path and not is_production: + LOG.info("[%s] DEV MODE — skipping actual FMCSA submission", order_number) + filing_result = { + "success": True, + "method": "dev_skip", + "attested_pdf": None, + "submitted_at": datetime.now().isoformat(), + "screenshot_path": None, + "fax_log_id": None, + "error": None, + } + elif pdf_path: try: import asyncio from scripts.workers.fax_sender import submit_filing