Commit Graph

6 Commits

Author SHA1 Message Date
Dealix Builder
80e1fc3533 feat(launch): legal pages + onboarding flow + error pages + master runbook
LAUNCH-CRITICAL FIX
The index.html nav linked to /privacy.html and /terms.html but neither
existed → 404s on every visit to those nav links. This was a hard launch
blocker for any commercial use of Dealix in Saudi.

NEW PAGES (8)

Legal & Compliance:
- landing/privacy.html — PDPL-aligned Arabic privacy policy with 13 sections
  covering scope/data collected/lawful bases (Art. 5/6)/purposes/sharing/
  international transfers/retention (3-tier)/security (Art. 19-20)/
  data subject rights (Art. 4-9)/cookies/breach response/contact
- landing/terms.html — Saudi B2B terms of service with 15 sections
  covering acceptance/service description/account/acceptable use/data
  ownership/AI features/pricing+billing (4 tiers)/pay-per-result terms/
  SLA per tier/IP/liability limits/termination/disputes (SCCA Riyadh)

Onboarding flow:
- landing/signup.html — 60-second signup with consent checkbox, plan
  selector (5 plans incl. Pay-per-Result featured), POSTs to /api/v1/leads
- landing/welcome.html — 5-step onboarding checklist with progress bar
  (subscribed → ICP → WhatsApp → Gmail → first Daily Run)
- landing/payment-success.html — post-Moyasar success page with txn details,
  next-steps card, ZATCA invoice note, Customer Portal CTA
- landing/payment-cancelled.html — graceful failure page with common reasons
  + bank transfer alternative

Error pages:
- landing/404.html — branded not-found with quick-link nav back
- landing/500.html — server error with auto-generated reference ID for
  support tracking + status page link

Sitemap & robots:
- landing/sitemap.xml — 27 URLs with proper changefreq + priority weights
- landing/robots.txt — allow legal pages, disallow internal pages

Master runbook:
- docs/LAUNCH_MASTER_RUNBOOK_AR.md — 10-step launch plan covering DNS,
  Railway, env vars (full list), DB migrations, domain mapping, Moyasar,
  WhatsApp WABA, email deliverability (SPF/DKIM/DMARC), observability,
  beta day. Includes manual smoke-test bash recipes + KPIs for first 30
  days + rollback plan.

VERIFICATION
- 33 landing HTML pages total (was 25)
- All 8 new pages: valid DOCTYPE + closing </html>, Arabic RTL, mobile-friendly
- pytest: 477 passed, 2 skipped (unchanged)
- index.html nav links no longer 404

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 15:06:41 +03:00
Dealix Builder
e34cc729aa feat(dealix): py3.10/3.11 compat shim + 54 unit tests for business/innovation/ai
PROBLEM
The codebase used Python 3.11+ stdlib features (`from datetime import UTC`,
`from enum import StrEnum`) in 22 files, breaking local dev on Python 3.10
(Windows users) and any pytest run that imports the affected modules.

SOLUTION
1. New `core/_py_compat.py` providing UTC + StrEnum shims that:
   - On 3.11+ re-export the stdlib names (zero overhead)
   - On 3.10 fall back to `timezone.utc` and a (str, Enum) backport

2. All 22 affected files patched to import from the shim:
   - core/utils.py, core/config/models.py
   - api/routers/admin.py
   - auto_client_acquisition/{ai/model_router, agents/{intake,icp_matcher},
     v3/{memory,agents,compliance_os,market_radar},
     personal_operator/{operator,memory,launch_report},
     innovation/{proof_ledger_repo,command_feed_live}}.py
   - autonomous_growth/agents/sector_intel.py
   - dealix/{trust/{approval,tool_verification,policy},
     observability/cost_tracker,
     contracts/{evidence_pack,event_envelope,audit_log,decision},
     classifications/__init__,
     governance/approvals}.py

3. Three new test suites for previously-untested layers (54 tests):
   - tests/unit/test_business_suite.py — gtm_plan, launch_metrics,
     market_positioning, pricing_strategy, proof_pack, unit_economics,
     verticals (28 tests covering plan recommendation, performance fee,
     ROI math, account health grading, vertical playbook structure)
   - tests/unit/test_innovation_suite.py — aeo_radar, command_feed,
     deal_rooms, experiments, growth_missions, proof_ledger, ten_in_ten
     (18 tests covering deterministic reproducibility, card type taxonomy,
     pending-approval invariant, kill-mission visibility)
   - tests/unit/test_ai_model_router.py — ModelTask + get_model_route +
     estimate_model_cost_class + requires_guardrail (8 tests covering
     enum integrity, route round-trip, guardrail bool contract)

VERIFICATION
- ast.parse green on all 22 patched files
- pytest tests/unit/ → 477 passed, 2 skipped (provider smoke needs API keys)
  on Python 3.10.12 venv with project requirements installed
- No behavior change on 3.11+: the shim re-exports stdlib symbols

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 14:50:04 +03:00
Sami Assiri
16e8ba2383 docs(ops): Railway existing-project checklist and troubleshooting
Made-with: Cursor
2026-05-01 14:36:09 +03:00
Sami Assiri
832469956b docs: note Dealix API CI green on GitHub
Made-with: Cursor
2026-05-01 14:08:59 +03:00
Sami Assiri
58ee025b45 docs(ops): beta gates checklist, Railway bind, Actions env setup; dependabot dealix; SECURITY policy; verification log
Made-with: Cursor
2026-05-01 14:06:42 +03:00
Sami Assiri
f79c69ff25 ci(dealix): root GitHub workflows, ai-company track, full Dealix API tree
Made-with: Cursor
2026-05-01 14:03:52 +03:00