Files
0pt/AGENTS.md
T
adminandClaude Sonnet 5 a14911b263
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
docs(compliance): record dated provenance for evasion-stack keep decision
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>
2026-08-11 11:32:13 +02:00

3.2 KiB
Raw Blame History

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

  1. git pull (Gitea: git.siax.io/sax3l/0pt — det är canonical remote, ej GitHub).
  2. Läs CLAUDE.md (kontraktet), docs/architecture/ARCHITECTURE.md (vad koden verkligen gör, inkl. kända luckor S1–S12), docs/compliance/ (status).
  3. 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 tillbaka next/font/google eller @vercel/*.
  • Secrets: aldrig i repo. Infisical (vault.siax.io), env via process.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).