API de orquestração do motor SinapLint (Core_SinapUm).
Motor remoto: SINAPLINT_ENGINE_URL não configurada
/health/ — status do serviçoPOST /auth/register/ — criar conta (recebe api_key + project_id)POST /auth/login/ — obter TokenGET /me/ — Authorization: Token … → dados do tenant e API key/analyze/ — motor SinapLint (X-API-KEY + project_id)POST /api/sinaplint/saas/public/analyze/ — demo sem login (repo_url)GET /me/projects/ — projetos monitorados (sessão Token)POST /me/projects/ — criar projeto com repositório (name + repo_full_name ou URL)POST /api/me/projects/<id>/structural-analysis/ — structural (run.sh) via Core ou subprocess no Django (Token). JSON opcional: {"branch":"master"}DELETE /me/projects/<id>/ — apagar projeto do tenant (Token)POST /api/sinaplint/saas/v1/ci-report/ ou POST /api/ci-report/ — ingestão CI (X-API-KEY + JSON do runner)SINAPLINT_RUNNER_BASE_URL, após /analyze/ bem-sucedido dispara POST …/runner/run (k3s) quando há repo_url ou repo_full_name no projeto.POST /api/sinaplint/saas/v1/analyze/ — mesmo que /analyze/ (SaaS)/admin/ — Django admin