- Uncomment STIR/SHAKEN check in fcc-lookup.ts — shows self-reported
implementation status from RMD filing
- Add toggle: "Do you originate calls or only terminate?"
- Terminate only → green, signing cert not required, file RMD as
partial implementation
- Originate or both → red, must have own STI certificate as of
June 2025
- Toggle integrates with pending-question system (CTA waits for answer)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Phase 3-5:
- API: POST /api/v1/fcc-carrier-registration (order creation with pricing)
- API: GET /api/v1/fcc-carrier-registration/:id (status)
- API: GET /api/v1/fcc-carrier-registration/state-fees (formation fees)
- Checkout: fcc_carrier_registration order type with Stripe line items
- Payment handler: dispatch worker + send confirmation email
- Pipeline handler: 8-step CRTC-style pipeline (formation → CORES → 499 →
DC Agent → State PUC → RMD/CPNI/CALEA/BDC → add-ons → final review)
- Job server dispatch map entry
- Service page CTA updated to link to order page
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Phase 1-2 of the new registration product:
- Migration 075: fcc_carrier_registrations table with full pipeline status,
service wizard answers, entity choice, pricing, idempotency tracking
- Order page with 5-step wizard:
1. Service wizard (voice/broadband/wholesale + delivery method + infra needs)
2. Registration checklist (auto-determined + add-ons with dynamic pricing)
3. Entity choice (existing FRN search OR new formation with nexus guidance)
4. Contact & officer info
5. Review & payment with engagement clickwrap
Still needed: API endpoint, checkout integration, worker pipeline handler.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Updated across 61 static HTML files (nav links), bundles catalog,
service page title/description/heading, and llms.txt.
URL stays /services/telecom/ipes-isp (no redirect needed).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
set_value doesn't work for child tables like portal_users. Use
updateResource (PUT /api/resource/Customer) which handles it correctly.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- OfficerStep searches entity_cache for matching corporations when loaded
- Shows clickable suggestions with RA name and address to auto-fill Officer 1
- Pre-fills contact_name/email/phone from entity data (helps data-only filers)
- Corp search endpoint: state param now optional (searches all states)
- Corp search returns registered_agent and principal_address fields
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Wizard "Finish" button now submits intake data to the API
- New PUT /api/v1/compliance-orders/:id/intake endpoint saves intake data,
updates entity, re-dispatches worker, and unpauses batch siblings
- Shows success screen with portal link after submission
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Batch invoice creation now calculates actual total from line items
- Fixed JS syntax error: `className = "..." style="..."` was invalid JS
(style= outside string literal caused Unexpected identifier 'style')
- Portal menu: set hide_standard_menu=1 to remove duplicate sidebar items
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CORES scraper sometimes returns empty address depending on server IP.
Now falls back to Headquarters Address from the FCC 499 filer detail
page, which is more reliable.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- GET /api/v1/compliance-orders/my-orders?email= returns all orders
grouped by batch, with USAC delegation status
- /account/orders page shows order history with:
- Entity name, FRN, batch ID, date, payment status
- Itemized services with pricing
- USAC delegation callout with confirmation button
- Auth-gated (requires login)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Intake email now has "I've completed the delegation →" button
instead of "reply to this email"
- Button links to order success page with action=usac_delegation
- New API: POST /api/v1/compliance-orders/:id/usac-delegation
Records confirmation timestamp in intake_data and logs it
- Removed "reply to this email" from intake email
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds financial_connections with balances permission and prefetch
to Stripe Checkout sessions when payment_method is ACH. This uses
Plaid to verify the customer's bank account balance before accepting
payment, reducing ACH return risk.
- permissions: ["payment_method", "balances"]
- prefetch: ["balances"]
- verification_method: "instant"
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. BDC Yes/No buttons now have "Change answer" undo — clicking
Yes or No is reversible without re-running the check
2. intake_data JSON.parse wrapped in try/catch with error logging
instead of silently returning empty object
3. All CTA price displays use .toFixed(2) for consistent formatting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. CRITICAL: Add compliance_batch to stripe session tableMap —
session IDs weren't being stored for batch orders
2. CRITICAL: Fix batch orders using order_number instead of batch_id
when storing stripe_session_id
3. MAJOR: Tax deductibility note only shows for compliance orders,
not CRTC/formation/bundles
4. MAJOR: Identity verification fallback changed from localhost:4321
to performancewest.net with warning log
5. MEDIUM: Fix discount rounding — last service absorbs remainder
to prevent cent loss across batch orders
6. LOW: Validate at least one paid service in batch orders
7. Standardize support email to info@performancewest.net everywhere
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sends next-steps email with services list, USAC delegation
instructions for 499-A, and multi-year catch-up note.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>