2.6 KiB
2.6 KiB
AGENTS.md — 0pt
Operativ brief för AI-agenter (Claude Code / opencode / liknande) som arbetar i detta repo. Läs
CLAUDE.md+docs/compliance/innan du gör ändringar.
Vad det här är
0pt = SIAX Clouds Data OS: företags-/kontakt-/fordonsdata, enrichment, entity-resolution, provenance per fält, adaptive router, orderflöde med 50/50-escrow. Next.js 16-webapp + FastAPI-engine + Python-skrapmotor i samma träd.
Första steget
git pull(Gitea:git.siax.io/sax3l/0pt— det är canonical remote, ej GitHub).- Läs
CLAUDE.md(kontraktet),docs/architecture/ARCHITECTURE.md(vad koden verkligen gör, inkl. kända luckor S1–S12),docs/compliance/(status). - Kontrollera senaste CI-run (Gitea Actions) om du ska verifiera "grön".
Viktiga förhållanden
- Bypass-stacken (
services/scrapers/*,waf_bypass.py, data-stack-compose,adaptive_router.py) är medvetet behållen per användarbeslut — rör den inte, och nämn alltid "medvetet användarbeslut" om den dyker upp i compliance-rapporter. - Auth:
/api/0pt/*fail-closed i kod (Zitadel via middleware), men live-instansen svarade 2026-08-10 anonymt 200 (lucka S1 — rotorsaksanalys ej klar). Påstå aldrig att produktionen är skyddad innan en anonym request fått 401. - Tenant-id får aldrig tas från request-body — idag gör handlers det (S2); nya
handlers ska läsa
x-0pt-verified-tenant-headern. - Sanning: repot har en stark anti-fabricering-konvention (docs korrigerar README). Om något påstås vara byggt men inte finns: skriv "inte byggt", fabricera inte.
- Skyddade sökvägar:
.gitea/workflows/**+.gitignore— ändringar går via PR. - Fonts: självhämtade via
@fontsource-variable/*— lägg aldrig tillbakanext/font/googleeller@vercel/*. - Secrets: aldrig i repo. Infisical (
vault.siax.io), env viaprocess.env.*. - Docker: multi-stage, icke-root (
USER node), ingen tsx i prod, healthcheck mot/api/health.
Grindar (kör före push)
pnpm run typecheck && pnpm run test && pnpm run build # blocking
pnpm run lint # advisory
Commit & push
- Conventional Commits. Push direkt till
mainär OK för icke-skyddade filer, men om du rör skyddade sökvägar: branch → PR. - Lämna aldrig en förgrenad
origin/github.com-remote som sanningskälla — Gitea är primärt (Simon-direktiv 2026-07-14).
Vid osäkerhet
Fråga Simon (simon@siax.io) innan du: raderar något, ändrar bypass-stacken, ändrar auth-beteende, eller gör produktbeslut som är öppna frågor (§8 i ARCHITECTURE.md).