mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-17 23:09:35 +00:00
TASK-001 (prep) — Repository Extraction Script:
scripts/extract_dealix_repo.sh — automates git filter-repo extraction
of Dealix-only paths to new GitHub org. Preserves commit history.
Awaits founder decision on org name.
TASK-003 — Python Dependency Modernization:
backend/pyproject.toml — full project spec with pinned versions:
- fastapi, pydantic, sqlalchemy, asyncpg pinned
- OpenTelemetry packages now included
- pytest==8.3.4, pytest-asyncio==0.24.0 (stable)
- Dev group with ruff, mypy, testcontainers
Ready for uv sync to generate uv.lock.
TASK-004 — Node Dependency Hygiene:
frontend/package.json — pinned packageManager=pnpm@9.12.0
and engines.node >=20.10.0 <21.0.0
TASK-005 — Secrets Audit Infrastructure:
.pre-commit-config.yaml — gitleaks + detect-private-key + detect-aws
+ ruff auto-fix + truth-registry-validator local hook
docs/internal/rotation_log.md — rotation tracking template with
scan commands (gitleaks, trufflehog3) and forbidden practices
TASK-006 — Legal Foundation Tracker:
docs/internal/legal_status.md — tracks:
- Company incorporation options (MISA vs DIFC vs ADGM)
- IP assignment requirements
- Privacy Policy / ToS / DPA review status
- Trademark filing (KSA, UAE, Egypt, Jordan)
- PDPL / ZATCA / NCA / SDAIA regulatory status
- Professional indemnity + cyber + general insurance
TASK-010 (complete) — Truth Registry Tooling:
scripts/validate_truth_registry.py — validates TRUTH.yaml structure,
status values, and claims_registry.yaml alignment
.github/workflows/truth-validation.yml — CI workflow on changes to
truth registry or claims registry
TASK-101 — Release Readiness Gate (blueprint-spec):
scripts/release_readiness_gate.py:
- Required artifacts check (11 files)
- TRUTH.yaml field validation
- Forbidden claims scan in public docs
- Architecture brief sub-gate
Complements release_readiness_matrix.py (runtime checks).
Blueprint saved:
DEALIX_EXECUTION_BLUEPRINT.md — authoritative execution doc
Updated:
release_readiness_matrix.py — now 53/53 checks (was 41/41)
docs/execution_log.md — full task tracking
All 3 gates GREEN:
Architecture Brief: 40/40
Release Readiness Matrix: 53/53
Release Readiness Gate: PASS
Remaining P0 founder decisions (cannot be automated):
- TASK-001: GitHub org name + run extraction
- TASK-006: Entity incorporation + counsel engagement
https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
101 lines
2.1 KiB
TOML
101 lines
2.1 KiB
TOML
[project]
|
|
name = "dealix-api"
|
|
version = "0.1.0"
|
|
description = "Dealix — Sovereign Deal, Growth & Commitment OS"
|
|
requires-python = ">=3.12,<3.13"
|
|
readme = "../README.md"
|
|
license = { text = "Proprietary" }
|
|
|
|
dependencies = [
|
|
# Core framework
|
|
"fastapi>=0.115.0,<0.116.0",
|
|
"uvicorn[standard]>=0.32.0,<0.33.0",
|
|
"pydantic>=2.10.0,<3.0.0",
|
|
"pydantic-settings>=2.10.1,<3.0.0",
|
|
"pydantic-extra-types[phonenumbers]>=2.0.0",
|
|
"python-multipart==0.0.12",
|
|
|
|
# Database
|
|
"sqlalchemy==2.0.36",
|
|
"asyncpg==0.30.0",
|
|
"psycopg2-binary==2.9.10",
|
|
"alembic==1.14.0",
|
|
"pgvector==0.3.6",
|
|
|
|
# AI / LLM Providers
|
|
"litellm>=1.74.0,<2",
|
|
"instructor>=1.14.0",
|
|
"groq==0.12.0",
|
|
"openai>=2.8.0,<3",
|
|
|
|
# Async tasks
|
|
"celery>=5.4.0,<6",
|
|
"redis>=5.2.0,<6",
|
|
|
|
# Auth & Security
|
|
"pyjwt>=2.10.0",
|
|
"passlib[bcrypt]>=1.7.4",
|
|
"bcrypt>=4.2.0",
|
|
"python-jose>=3.3.0",
|
|
"slowapi>=0.1.9",
|
|
|
|
# Communication
|
|
"httpx>=0.28.1,<0.29.0",
|
|
|
|
# Arabic NLP
|
|
"pyarabic>=0.6.0",
|
|
|
|
# PDF + docs
|
|
"weasyprint>=60.0",
|
|
|
|
# Observability
|
|
"sentry-sdk>=2.0.0",
|
|
"prometheus-client>=0.21.0",
|
|
"prometheus-fastapi-instrumentator>=7.0.0",
|
|
"structlog>=24.0.0",
|
|
"opentelemetry-api>=1.27.0,<2",
|
|
"opentelemetry-sdk>=1.27.0,<2",
|
|
"opentelemetry-instrumentation-fastapi>=0.48b0",
|
|
"opentelemetry-instrumentation-sqlalchemy>=0.48b0",
|
|
|
|
# Utils
|
|
"tenacity>=9.0.0",
|
|
"python-dotenv>=1.0.0",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest==8.3.4",
|
|
"pytest-asyncio==0.24.0",
|
|
"pytest-cov==5.0.0",
|
|
"aiosqlite==0.20.0",
|
|
"factory-boy>=3.3.0",
|
|
"ruff>=0.7.0",
|
|
"mypy>=1.13.0",
|
|
"testcontainers>=4.8.0",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
asyncio_mode = "auto"
|
|
asyncio_default_fixture_loop_scope = "function"
|
|
filterwarnings = ["ignore::DeprecationWarning"]
|
|
markers = [
|
|
"launch: pre-release surface & scenario checks",
|
|
"slow: tests that hit external IO or long LangGraph paths",
|
|
]
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
target-version = "py312"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "W", "F", "I", "B", "C4", "UP"]
|
|
ignore = ["E501"] # line too long handled by formatter
|
|
|
|
[tool.mypy]
|
|
python_version = "3.12"
|
|
ignore_missing_imports = true
|
|
warn_return_any = false
|
|
warn_unused_configs = true
|