# BIONIC SOVEREIGN — Instructiuni Memorie Claude (9 parti)
# Sursa de adevar pentru cum construim site/app/joc. Copiaza fiecare PARTE ca intrare in Claude.ai Memory.
# Verificat pe VPS la data scrierii: servicii online, pipeline build_site->8 agenti->materialize->critic Opus->preview.

## PART 1 — CINE & CUM PORNESTE O SESIUNE
Adrian, dev independent (Belgia), lucreaza EXCLUSIV de pe iPhone prin Termius SSH + Claude.ai. Limba: romana, direct, fara "Sigur/Desigur/Excelent". Vrea coechipier care spune sincer daca se poate sau nu, pune intrebari ca sa scoata maximul, executa fara explicatii inutile.
La inceputul fiecarei sesiuni: nu presupune din memorie — verifica terminalul real cu engine bash, confirma scurt ce e online si ce pipeline avem, abia apoi raspunde. Nu inventa capabilitati; daca un tool lipseste in sesiune, spune. Onestitate obligatorie: nu pretinde ca ceva e gata fara verificare. Backup inainte de orice editare.

## PART 2 — TOOLS & CONECTORI
VPS: 46.225.225.131 (CPX62, 32GB), shell prin conectorii engine MCP: "Claude engine VPS / Engine 2 / engine3" — toate expun bash_exec/github_push/vps_health si sunt DUPLICATE; foloseste UNUL singur. bash_exec ruleaza ca root.
Din chat, build-ul si mediile se fac prin Orchestrator MCP (port 3005): build_site, generate_video, deploy_build, generate_image, ruflo_build/ruflo_status, model_check, vault_search, vps_health, github_push.
GitHub push EXCLUSIV prin Orchestrator/engine github_push (GitHub MCP e read-only/401). Netlify: Claude genereaza HTML, Adrian face upload manual (DNS pica din sandbox). Preview propriu (Cloudflare) MERGE: orice e in /root/builds/<slug>/ e live la https://preview.bionicsovereign.dev/<slug>/.
Transfer fisiere pe VPS: MEREU heredoc (linii scurte). NICIODATA base64 pe o singura linie uriasa — se corupe prin engine.
Porturi cheie: build-service 3021, runner 3026, instant-context 3022, memory-v2 3019, model_check 3011, media-service 3031, orchestrator 3005, dashboard 3007, Ollama 11434/proxy 11500, Qdrant 6333, Neo4j 7474/7687.

## PART 3 — PIPELINE DE BUILD (site/app/joc) — FLUX CANONIC
Build-ul porneste cu tool-ul build_site (orchestrator) + task. Lanseaza in fundal cei 8 agenti reali (/root/bionic-agents/agent_flow.py): ARHITECT -> DESIGNER -> FRONTEND -> BACKEND -> LOGICA -> AGENT_BUILDER -> QA_DEBUG -> DEPLOY.
materialize.py scrie fisierele reale in /root/builds/<slug>/ (html->index.html, css->style.css, js->script.js + _PLAN.md + _QA.md).
IMEDIAT dupa materializare ruleaza AUTOMAT criticul Opus: /root/bionic-design-critic.sh <slug> opus — enforcer design-system + auto-heal fonturi + accept/rollback (cu backup). REGULA STRICTA: niciun build nu se livreaza fara pasul critic Opus.
Rezultat live: https://preview.bionicsovereign.dev/<slug>/. Deploy productie = deploy_build sau manual de Adrian.
Alternativa rapida one-shot (fara 8 agenti): POST localhost:3021/build {"task":"..."} -> bionic-build.sh (genereaza cu design-system + critic Opus) -> preview; status la GET /build/status/<slug>.
Timp realist: 8 agenti + critic ~7-9 min (criticul Opus ~6 min). Config: CRITIC_MODEL=sonnet pentru viteza/cost; BUILD_NO_CRITIC=1 ca sa sari peste critic.

## PART 4 — DESIGN-SYSTEM (mereu folosit)
Path: /root/bionic-design-system (+ GitHub adryanmoldokkr32-pixel/bionic-design-system). Framework-agnostic (CSS variables + JS ES modules), intra in orice pagina.
Fisiere: tokens.css (sursa unica: OKLCH, scara tipografica fluida, spatiere 8px, easing), base.css (reset/.btn/.magnetic/cursor/[data-reveal]/grain), components.css (.hero .rail .product .cinema .features .feat .cta .collection .play + g1-g5 mesh-uri warm), fonts.css (Fontshare: Clash Display + Satoshi). JS: index.js (initSystem()), interactions.js (initCursor/initNav/initMagnetic/initTilt/initRail/initReveal), hero.js (point-cloud Three.js).
Tokeni reali: bg oklch(0.16 0.012 55), ink oklch(0.965 0.010 85), accent ember oklch(0.745 0.165 48), gold oklch(0.855 0.130 82); --font-display Clash Display, --font-body Satoshi.
Wiring: <link> tokens+base+components+fonts; la final three.min.js r128 + gsap 3.12.5 + ScrollTrigger (cdnjs); <script type=module>import{initSystem} from './js/index.js'; initSystem()</script>. css/ si js/ se copiaza langa index.html (criticul o face automat).

## PART 5 — REGULI DE DESIGN 0.01% (ALWAYS / NEVER)
ALWAYS: OKLCH; ritm vertical pe 8px; DOAR transform+opacity pe GPU; easing expo-out cubic-bezier(.16,1,.3,1); titluri Clash Display, corp Satoshi; spatiere generoasa; profunzime + contrast; copy premium in romana; accesibilitate (aria, focus-visible, prefers-reduced-motion); IntersectionObserver pauza la animatii; DPR<=2.
SEMNATURA premium obligatorie pe site-uri: hero 3D real (Three.js point-cloud/lichid care reactioneaza la deget/pointer) pe <canvas>; butoane MAGNETICE care se misca spre deget ca o bula de apa (.magnetic + initMagnetic, micro-blob); carduri cu tilt (.tilt); rail orizontal de produse (.rail); reveals la scroll (GSAP ScrollTrigger + [data-reveal]); bara de progres + nav constient de sectiune; cursor custom pe desktop; grain subtil; bloc cinematic (.cinema: poster + Ken-Burns + play).
NEVER: font Inter; gradient purple; card-in-card; text gri pe fundal colorat; animatie bounce; orice animatie care nu e transform/opacity.

## PART 6 — IMAGINI & VIDEO
Imagini reale (foto, logo, hero, fundal, 8K): tool generate_image -> media-service 3031 (POST /generate {"prompt"} -> {ok, url public}) -> lant fallback Gemini 2.5 Flash (Nano Banana) -> Cloudflare Flux.2 dev -> Flux.2 klein -> Flux.1 schnell -> SDXL -> Leonardo Phoenix. URL public: preview.bionicsovereign.dev/media/<file>. REGULA: NICIODATA nu desena foto cu cod/canvas/Perlin — cheama generate_image.
VIDEO REAL — FUNCTIONAL (Remotion pe CPU, fara GPU): proiect /root/bionic-remotion (compozitie CinematicAd: Ken-Burns pe stills AI + title reveal + letterbox + grain + accent ember). Comanda: /root/bionic-video.sh <slug> "titlu" "subtitlu" "prompt-imagine" [n] [landscape|vertical|square] — genereaza stills prin media-service, randeaza MP4 h264 1080p in /root/builds/<slug>/video.mp4 -> live la preview.bionicsovereign.dev/<slug>/video.mp4. ~2 min pentru un clip de 14s. Orientari: landscape 1920x1080, vertical 1080x1920 (TikTok/Reels), square 1080x1080 (dimensiunile vin din props prin calculateMetadata). Render direct: node /root/bionic-remotion/render.mjs <props.json> <out.mp4> (chromiumOptions gl=swangle, concurrency 8 (env REMOTION_CONCURRENCY; 16 core dar 8=optim), bundle cache in .bundle, ~50s/clip 14s 1080p, chrome-headless-shell in cache).
REALIST: clipuri scurte 1080p/1440p cinematice. 8K video AI live NU e realist pe CPU — "reclama 8K cinematic" = stills AI 8K + miscare Remotion (Ken-Burns/parallax/grain). FONTURI: Clash Display (titlu) + Satoshi (corp) self-hosted in /root/bionic-remotion/public/fonts (FontFace + delayRender). MUZICA: pad ambiental procedural royalty-free cu ffmpeg (/root/bionic-audio.sh), muxat automat (bionic-video.sh arg 7 music=ambient|none, default ambient). TOOL CHAT: generate_video in Orchestrator (title, subtitle, image_prompt, orientation, shots) -> apeleaza bionic-video.sh in fundal, MP4 la preview ~2-4 min. VIDEO IN SITE: /root/bionic-site-video.sh <slug> [orientare] [prompt] face un loop BARE (fara titlu) injectat ca fundal in .hero (fallback sectiune full-bleed); in bionic-build.sh opt-in cu BUILD_VIDEO=1 (default neschimbat).

## PART 7 — RUTARE MODELE & ANTI-BLOCAJ
ROSTER 8 agenti pe tiers: heavy = claude-sonnet-4-5 -> qwen3-32b -> llama-3.3-70b -> gpt-oss-120b; medium = qwen3-32b -> llama-70b -> gpt-oss-20b -> llama-8b; light = llama-8b -> local deepseek-coder-v2:16b -> local phi4. ARHITECT/BACKEND/LOGICA/QA_DEBUG = heavy; DESIGNER/FRONTEND/AGENT_BUILDER = medium; DEPLOY = light. (DESIGN+FRONTEND sunt medium -> de-aia criticul Opus la final e esential pentru design.)
Cand se foloseste Claude Code CLI (claude --print) pentru generat fisier, RULEAZA MEREU cu reteta anti-blocaj (altfel se blocheaza la timeout, 0 output): CLAUDE_FLOW_HOOKS_ENABLED=false MAX_THINKING_TOKENS=0 + --permission-mode dontAsk + --disallowedTools "Bash Edit Write Read MultiEdit NotebookEdit Glob Grep WebFetch WebSearch Task TodoWrite" + --system-prompt de generator pur (doar codul) + < /dev/null + --output-format text. Criticul Opus foloseste MAX_THINKING_TOKENS=10000 (trebuie sa rationeze).
Local: model_check INAINTE (cap RAM 30GB). Nu rula deepseek + qwen32b local simultan.

## PART 8 — REGULI OPERATIONALE STRICTE (telefon-first)
Ce pot face modelele din terminal fac ele; Claude monitorizeaza si intervine la erori. Fara editare manuala — tot prin VPS/Claude.
Backup *.bak.timestamp INAINTE de orice editare; editari cu inlocuire literala + assert count==1; apoi syntax-check (python ast / bash -n / node --check); apoi pm2 restart; apoi verificare health.
La eroare x3 -> caut in vault + GitHub, instalez cu rollback.
Proiect nou -> nota in memorie cu stack, repo, URL, status.

## PART 9 — BRIEF OBLIGATORIU + TRIGGERS
Inainte de ORICE build, 7 intrebari (nu incep pana nu am raspuns la toate): 1) ce face produsul in 1 fraza; 2) user tinta (varsta, nivel, device); 3) ce e pe piata si de ce al nostru e mai bun; 4) must-have vs nice-to-have; 5) vibe design + referinte + culori; 6) are nevoie de auth/DB/backend; 7) deadline sau explorare.
Triggers: "verifica" -> rulez tool-urile, raportez status real. "next/continuam" -> execut imediat. "eroare/401/500" -> caut in log-uri/ERRORS-LOG intai. "rezumat" -> nota de compresie. Build site/app/joc -> build_site (8 agenti + critic Opus) sau /build one-shot.

## PART 6b — REZILIENTA FOTO + VIDEO STUDIO (update 2026-06-04)
- Providere foto (media_router IMAGE_CHAIN): gemini PRIMUL (cota separata 500/zi, cruta Cloudflare); HF mutat ULTIM (da 402 Payment Required acum); Pollinations = paywall x402 (inutilizabil free). Cloudflare = workhorse, 6 modele OK (flux1-schnell, leonardo-lucid/phoenix, sdxl, sdxl-lightning, dreamshaper).
- Rotatie provider per cadru in bionic-video.sh + bionic-site-video.sh: PROVIDERS=(cf-flux1-schnell cf-leonardo-lucid gemini-flash-image cf-leonardo-phoenix) -> distribuie sarcina ca sa nu se epuizeze unul, calitate sus.
- Pt MAI MULTE alternative reale: adauga cheie Together.ai / fal.ai (free credits) -> wire _gen_* nou + entry in IMAGE_CHAIN.
- Pagina Video Studio: /root/bionic-studio.sh (REGENERABIL) scaneaza /root/builds/*/{video,hero}.mp4, detecteaza orientarea cu ffprobe, genereaza /root/builds/video-studio/index.html (dark OKLCH, Clash+Satoshi, galerie autoplay + sectiune "cum lucrez" + comenzi). LIVE: preview.bionicsovereign.dev/video-studio/. Re-ruleaza scriptul dupa fiecare video nou.

## PART 6c — REZILIENTA v2 (3 surse independente + blocare inteligenta) 2026-06-04
- 3 INFRASTRUCTURI independente in IMAGE_CHAIN: Cloudflare (6 modele) + Gemini (cota zilnica 500) + AI Horde (comunitate, fara cota). HF ramane ultim (402).
- AI Horde = backstop independent, apelat prin CURL (Cloudflare blocheaza urllib prin TLS-fingerprint -> 403). Async submit+poll. Anonim ("0000000000") merge cand Horde nu e aglomerat; sub incarcare refuza ("heavy demand"). FIX fiabil: cheie gratis de la aihorde.net -> pune in /root/bionic-memory-v2/.env ca AIHORDE_KEY (codul o citeste automat).
- Blocare inteligenta dupa eroare (generate_image): 429/quota -> 6h, 402/payment -> 24h, alta eroare -> 5min. Nu mai irosim apeluri pe surse epuizate.
- Rotatie per cadru (bionic-video.sh + bionic-site-video.sh): PROVIDERS=(cf-flux1-schnell cf-leonardo-lucid cf-leonardo-phoenix cf-sdxl gemini-flash-image) = 5 modele; orice video <=4 cadre foloseste modele DISTINCTE.
- Auto-refresh: ambele scripturi ruleaza /root/bionic-studio.sh la final -> pagina Video Studio mereu la zi.

## PART 6d — BUGFIX Cloudflare binar (2026-06-04)
- _gen_cloudflare accepta acum PNG/JPEG/WEBP (inainte DOAR PNG -> modelele care intorc JPEG, ex. cf-leonardo-phoenix, dadeau "utf-8 codec can't decode 0xff" si cadeau pe flux). Catch pe UnicodeDecodeError + magic JPEG(0xffd8ff)/WEBP(RIFF).
- Confirmat prin stress-test 5 imagini: cf-flux1-schnell, cf-leonardo-lucid, cf-sdxl livreaza distinct; dupa fix si cf-leonardo-phoenix / cf-sdxl-lightning / cf-dreamshaper livreaza fiecare al lui. => 6 modele CF reale + gemini (blocat 6h cand 429) + AI Horde (cheie gratis pt fiabil).
