system-prompts-and-models-o.../salesflow-saas/.github/workflows/ci.yml
Sami Assiri 1652bc7fb7 feat(dealix): 8-gate NIST AI RMF service reality protocol — all fixable failures resolved
FIXES:
- audit.py: BEGIN EXCLUSIVE transaction — atomic hash chain, race condition eliminated
- executive.py: add audit.total_log_entries field to command-center response
- pricing.py: cross-log deal_quote_linked with deal_id as resource_id (≥3 audit entries per deal)
- .github/workflows/ci.yml: GitHub Actions CI pipeline (NEW)

GATE RESULTS:
- Gate 1 Truth Registry:      PASS — 36 services classified
- Gate 2 Contract Tests:      PASS — hash chain integrity confirmed
- Gate 3 Trust/RBAC:         PASS — all roles enforced
- Gate 4 Durable Execution: ⚠️  PARTIAL — DB persists; LangGraph = Pilot
- Gate 5 Tenant Isolation:  ⚠️  PARTIAL — app-layer confirmed; DB RLS = Target
- Gate 6 Release Readiness: ⚠️  PARTIAL — CI created; cloud CD = Target
- Gate 7 Telemetry:         ⚠️  PARTIAL — audit chain covers; OTel = Target
- Gate 8 Services Reality:   PASS — core loop proven end-to-end

OVERALL: 61% Live | 77% Live+Partial
STATUS: OPERATIONAL — Core business OS live and tested

Closes: audit race condition, command-center field mismatch, evidence drill-down, CI gap
Arabic Protocol Doc: DEALIX_SERVICE_REALITY_AND_TESTING_PROTOCOL_AR.md (428 lines)
2026-04-17 16:15:17 +00:00

54 lines
1.4 KiB
YAML

name: Dealix CI — Service Reality Protocol
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
test:
name: 8-Gate Reality Protocol
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
working-directory: backend
run: |
pip install --upgrade pip
pip install flask flask-cors requests pytest
- name: Initialize database
working-directory: backend
run: python -c "from app.core.database import init_db; init_db()"
- name: Start backend server
working-directory: backend
run: |
python main.py &
sleep 3
curl --retry 5 --retry-delay 1 http://localhost:8000/api/health
- name: Run existing unit tests
working-directory: backend
run: pytest tests/test_audit.py tests/test_lead_flow.py tests/test_approval_flow.py -v
- name: Run 8-Gate Reality Protocol
working-directory: backend
run: python tests/reality_protocol.py
- name: Upload protocol results
if: always()
uses: actions/upload-artifact@v4
with:
name: reality-protocol-results
path: backend/tests/