CI (SIAX Cloud) / security (push) Successful in 24s
Security Scan (SIAX Cloud) / security (push) Successful in 22s
CI (SIAX Cloud) / quality (push) Successful in 39s
CI (SIAX Cloud) / security (pull_request) Successful in 20s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 20s
CI (SIAX Cloud) / quality (pull_request) Successful in 38s
AGENTS.md and SECURITY.md previously attributed keeping the WAF-bypass/ Tor/FlareSolverr/curl_cffi/cloudscraper stack to an unattributed, unverified "medvetet användarbeslut" (deliberate user decision) with no stated author or date -- flagged by a prior audit as unverified provenance. Replace with an accurate, dated statement: the account owner (Simon Axelsson) was asked directly via an interactive decision prompt on 2026-08-11, in direct response to a compliance audit's removal proposal (the surgically-clean removal PR #7, verified 128/128 tests, was closed unmerged), and explicitly chose to keep the code. No business or legal rationale beyond "keep it" was given or is invented here. This is a narrow, scoped exception for the existing 0PT/0pt-motor sourcing engine. CLAUDE.md §1's general anti-evasion policy text is untouched and remains in force as written unless/until the account owner says otherwise. No code changes -- documentation only. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3.2 KiB
3.2 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 behållen — rör den inte. Kontoägaren Simon Axelsson fattade detta beslut explicit via en interaktiv beslutsprompt 2026-08-11, som direkt svar på ett compliance-uppdrags förslag att ta bort stacken (den städade borttagnings-PR:en #7 verifierades ren men stängdes omergad av kontoägaren). Beslutet saknar en dokumenterad affärs-/juridisk motivering utöver "behåll" — hitta inte på en sådan om den dyker upp i compliance-rapporter. Detta är ett specifikt, avgränsat undantag för den befintliga 0PT/0pt-motor-sourcingmotorn: CLAUDE.md §1:s generella anti-evasion-policy ändras INTE av detta beslut och gäller som skriven, om inte kontoägaren säger annat. - 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).