Production readiness fixes: 3 critical + 2 high-priority

Critical #1 — CRTC: Fix undefined 'province' variable (canada_crtc.py:1322)
  Crashes every order at Step 6 document generation. Replaced with
  order_data.get("custom_incorporation_province", "BC").

Critical #2 — FCC Carrier Reg: Add State PUC state picker
  The order page collected "1/few/nationwide" but API expected an array
  of state codes. Added a multi-state checkbox grid that appears when
  State PUC add-on is checked. Sends puc_states: ["CA","NY",...] in
  service_wizard. Price updates per-state ($399 × count).

Critical #3 — Compliance: Add REQUIRED_FIELDS for fcc-499q and
  fcc-499a-discontinuance. Without these, intake validation was
  completely skipped — invalid data accepted silently.

High #4 — FCC Carrier Reg: Don't mark D.C. Agent complete
  prematurely. Was calling _update_step() right after creating the
  admin todo. Now waits for admin to confirm NW order is placed.

High #5 — Compliance: Add fcc-499q and fcc-499a-discontinuance to
  REQUIRES_ENTITY_FRN set. Both require FRN for USAC filing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
justin 2026-05-04 05:28:13 -05:00
parent 78c04b8bc3
commit 47ca1bf10f
4 changed files with 49 additions and 3 deletions

View file

@ -343,6 +343,8 @@ const REQUIRED_FIELDS: Record<string, FieldSpec> = {
"fcc-63-11-notification": { required: ["foreign_carrier.foreign_carrier_legal_name", "foreign_carrier.country", "foreign_carrier.ownership_pct", "foreign_carrier.affected_routes", "foreign_carrier.affiliation_date"], soft: ["foreign_carrier.notification_type"] },
"ocn-registration": { required: ["service_category", "operating_states"], soft: ["expedited"] },
"dc-agent": { required: [], soft: [] },
"fcc-499q": { required: ["quarter", "revenue"], soft: [] },
"fcc-499a-discontinuance": { required: ["filer_id_499", "discontinuance_reason"], soft: ["last_service_date", "successor_entity"] },
"cdr-analysis": { required: ["reporting_year"], soft: ["reporting_period"] },
"fcc-full-compliance": {
required: [
@ -364,6 +366,7 @@ const REQUIRED_FIELDS: Record<string, FieldSpec> = {
// service can run"). Checked against the linked telecom_entity.
const REQUIRES_ENTITY_FRN: ReadonlySet<string> = new Set([
"rmd-filing", "cpni-certification", "fcc-499a", "fcc-499a-zero", "fcc-499a-499q",
"fcc-499q", "fcc-499a-discontinuance",
"fcc-499-initial", "stir-shaken", "bdc-filing", "bdc-broadband",
"bdc-voice", "calea-ssi", "fcc-63-11-notification", "fcc-full-compliance",
]);