Commit Graph

5 Commits

Author SHA1 Message Date
Claude
2423896232
fix(ci): add import diagnostics + pin pytest-cov + verbose error output
Add diagnostic steps to CI:
- Print installed test dep versions after pip install
- Verify app.main import chain before running pytest
- Show --tb=short for better error visibility

Pin pytest-cov==5.0.0 to prevent breaking transitive dep updates.

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
2026-04-17 05:46:10 +00:00
Claude
6f4421123e
fix(ci): pin test deps to prevent breaking updates + restore architecture_brief
Root cause: pytest/pytest-asyncio/aiosqlite minimum version pins (>=X)
allowed pip to install latest versions that may have breaking changes.
The first CI run (a319feb) passed because it ran before the update;
all subsequent runs failed with exit code 4 (collection error).

Fix: Pin upper bounds on test dependencies:
- pytest>=8.0.0,<8.4.0
- pytest-asyncio>=0.24.0,<0.26.0
- aiosqlite>=0.20.0,<0.21.0
- httpx>=0.28.1,<0.29.0

Also restore architecture_brief.py to CI pipeline (was removed
during debugging, now restored since issue was deps not script).

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
2026-04-17 04:48:46 +00:00
Claude
6d77e7b0b4
ci(dealix): temporarily remove architecture_brief from CI to isolate test failure
The backend pytest step fails with exit code 4 (collection error).
Removing architecture_brief step to isolate whether the script
interferes with the pytest working directory or Python environment.

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
2026-04-17 04:34:16 +00:00
Claude
f5c5aafbb0
feat(dealix): wire all Tier-1 APIs to real database — Sprints A-G
Sprint A — Executive Room real data:
  Rewrote executive_roi_service.py (20→158 lines) to aggregate from 7 live
  services: deals (revenue/pipeline/win_rate), approval SLA (pending/warning/
  breach from _dealix_sla), connector health (IntegrationSyncState), compliance
  posture (saudi_compliance_matrix), contradictions (contradiction_engine),
  strategic deals, evidence packs.

Sprint B — Approval Center live:
  Wired approval_center.py to query real ApprovalRequest table with SLA data
  from payload["_dealix_sla"]. Approve/reject endpoints update real DB records
  with reviewed_at timestamp.

Sprint C — Saudi Compliance live:
  Wired saudi_compliance.py to call saudi_compliance_matrix service methods
  (get_matrix, get_posture, get_risk_heatmap) with real AsyncSession + tenant_id.

Sprint D — Contradiction + Evidence Pack DB:
  Wired contradiction.py and evidence_packs.py to real database via
  contradiction_engine and evidence_pack_service. All CRUD operations
  now persist to PostgreSQL with proper tenant isolation.

Sprint F — Operating Plane:
  Created CODEOWNERS file mapping sensitive paths to @VoXc2.
  Added architecture_brief.py step to CI pipeline (runs before pytest).

Sprint G — OWASP LLM:
  Added OWASP LLM Top 10 review + architecture brief validation to
  release-prep.md (steps 10-11).

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
2026-04-16 13:44:35 +00:00
Sami Assiri
378ea5f742 chore: snapshot Dealix salesflow phase2 for audit worktree
Made-with: Cursor
2026-04-04 18:04:21 +03:00