Cum bootezi Wednesday

Comanda e literal două cuvinte: boot wednesday. Dar în spate se întâmplă o secvență de 10 gate-uri care decid dacă Wednesday intră în postură activă sau se oprește cu un motiv specific. Aici e ce face fiecare gate și ce înseamnă output-ul pe care îl vezi.

Ce este

boot wednesday = secvența canonică de pornire, identică pe toate runtime-urile (Claude, Grok, Gemini, Codex). E definită în CLAUDE.md la rădăcina vault-ului și executată literal la fiecare prompt nou de sesiune. Două variante alternative:

  • load wednesday — citește boot file-ul dar NU rulează self-check. Folosit pentru inspecție/debug.
  • wake wednesday — intră în postură activă fără să recitească boot file-ul. Doar dacă load a fost făcut deja în sesiune.

Default e boot wednesday. Restul sunt pentru cazuri speciale.

Cum funcționează — gate-urile pas cu pas

Gate 0 — Boot Scan (MCP detection)

mcp_sync.py --dry-run verifică dacă un alt runtime (Grok pe Mac, Claude pe laptop) a instalat MCP-uri noi de când Wednesday n-a mai bootat aici. Dacă da, auto-aplică sync-ul + raportează [NEW MCP] <name> cu status credențiale. Gândește-te la el ca la apt update automatizat între runtime-uri.

Gate 1-3 — Citire stare de bază

Citește în ordine: wednesday.md (boot file canonical), runtime_state.json (faza curentă + sesiunea ultim închisă), scratchpad.md (focus + open loops). Astea trei sunt creierul persistent între sesiuni.

Gate 3.5 — Task handoff

Verifică task_handoff.md. Dacă alt runtime a închis o sesiune mid-task (rate limit, schimbare de LLM), surfacea: [TASK HANDOFF] <task> — N steps pending. Tu zici “continue” sau “clear handoff”.

Gate 3.7 — Vault organization audit

Citește _raw/dashboards/Vault_Organization_Status.md. Dacă violation_count > 0, raportează. Vault-ul are reguli stricte de plasare (place() în vault_paths.py) și auditul rulează zilnic — orice fișier ratacit e prins aici.

Gate 3.8 — Agentic OS Health

Trei sub-check-uri:

  1. Agentic OS Scorecard — câți daemoni publică în bus vs câți tac (ratio).
  2. Daemon Health — daemoni silent de >48h.
  3. Bus anomaly — evenimente critical|error în ultimele 24h pe agent_event_bus.jsonl.

Nu blochează boot-ul, dar Wednesday vede starea reală a OS-ului ei înainte de prima interacțiune.

Gate 3.9 — Active Lessons

Citește wednesday-active-lessons.md — digest auto-generat al fiecărei lecții (“never repeat a documented failure”). Surfacea câte sunt active + ce e nou. Înainte de orice acțiune al cărei scope matchează o lecție, Wednesday e obligată să citească lecția completă. Doctrina darwiniană: greșeala documentată ≠ se repetă.

Gate 3.10 — Skill Surface Audit

sync-plugin-skills.py --dry-run — verifică dacă toate skill-urile din pluginul Cowork sunt symlinked în ~/.claude/skills/. Claude Code v2.1.147 nu indexează direct plugin-cache, deci dacă lipsesc, le surfacea ca missing.

Gate 4 — State Drift Gate (MANDATORY)

Cross-check de consistență între fișierele de stare:

  • Faza top din runtime_state.json vs faza ultimei sesiuni închise (±3 ok)
  • last_updated între runtime_state.json și scratchpad.md (≤14 zile)
  • Linia de focus din scratchpad menționează aceeași fază

Mismatch ≥3 faze sau ≥14 zile stale → STALE. Wednesday NU intră în postură activă. Îți cere clarificare. Asta previne să bootezi peste o stare corruptă.

Gate 5-6 — Verdict + handshake

Self-check verdict: clean / warn / blocked / stale. Dacă nu e blocked sau stale, intră activă cu handshake-ul scurt:

“Here. Active layers: ADHD support, body double, anxiety/depression, grooming. What do you need?”

De ce contează

Boot-ul nu e cosmetic. E gate-ul între “Wednesday ne știe starea” și “Wednesday inventează context care nu există”. Toate cele 10 verificări există pentru că, la un moment dat, una dintre ele a fost sărită și a costat ceva (vault drift necaught, session închisă cu state inconsistent, MCP expectat să existe dar lipsit). Fiecare gate e o lecție codificată.

Cum interacționez cu el

Operator: spui doar boot wednesday la începutul sesiunii. Atât.

Dacă vezi:

  • [VAULT AUDIT] N violations — vault-ul are fișiere greșit plasate
  • [TASK HANDOFF] ... pending — o sesiune anterioară te-a lăsat mid-task
  • [AGENTIC OS] ... ratio=X — starea daemonilor
  • [LESSONS] N active — câte lecții sunt în memoria activă
  • STALE — DOAR atunci Wednesday se oprește; restul sunt informative

Limite / gotchas

  • Stale ≠ broken — înseamnă “starea e veche, nu pot intra activă cu încredere”. Tu decizi: refresh / clear / continue.
  • MCP sync poate auto-aplica schimbări. Dacă vezi un MCP nou la boot, citește raportarea credențialelor.
  • Boot-ul citește ~15k tokens (target Phase 330). Dacă urcă peste ce ar trebui, e semn că scratchpad / runtime_state s-au umflat — closing gate-ul ar fi trebuit să le compacteze.

Unde sunt documentate

  • CLAUDE.md la rădăcina vault — adapter Claude (autoritativ)
  • _infra/core/wednesday/wednesday.md — boot file canonic
  • _infra/scripts/wednesday-state-gate.sh — verificare automată drift
  • _infra/scripts/mcp_sync.py — gate 0
  • _infra/scripts/sync-plugin-skills.py — gate 3.10