Daily Evolution (consiliul automat zilnic)
Ce face
În fiecare zi, fără să-l declanșezi tu, un consiliu de 5 lentile rulează în background pe Grok și răspunde la o singură întrebare fixă:
“What is today’s single highest-ROI improvement to Wednesday/Nevermore?”
(Care e singura îmbunătățire cu cel mai mare ROI azi pentru sistem.)
E aceeași structură ca LLM Council-ul manual — 5 advisors (Contrarian / First Principles / Expansionist / Outsider / Executor), peer review anonimizat A-E, chairman synthesis — dar diferă în trei locuri:
- Întrebarea e fixă, generată din contextul curent al workspace-ului (scratchpad
_infra/config/scratchpad.md+ master tasklist + ultimele 5 lessons dinwednesday_memory.db). - Toate cele 11 chemări rulează pe Grok grok-4.3, nu pe Claude sub-agents. Doctrina de cost Phase 334+: folosește modelul cel mai ieftin care livrează 95%+ din rezultat. Council-ul manual rămâne pe Claude pentru calitate; daily-ul rulează masiv, deci pe Grok.
- Output-ul e scurt și actionable: doar The Recommendation + The One Thing to Do First. Fără tabele de telemetry sau debate text — toate verbatim-urile sunt în transcript, dar artefactul operator-facing e o pagină scurtă.
Logged ca Episodes row în SQLite (session_id='EVOLUTION_COUNCIL'), idempotent — nu rulează de două ori în aceeași zi decât cu --force.
Când îmi folosește
- Vrei să vezi ce-ar prioritiza sistemul înainte să te apuci de altceva.
- Te uiți la lista de task-uri și nu știi de unde să începi.
- Vrei un al doilea unghi pe priority queue-ul tău — fără să întrebi.
- Vrei să verifici dacă scratchpad-ul tău reflectă încă realitatea (dacă recomandarea consiliului e complet decuplată de scratchpad, ceva e drift).
NU e pentru:
- Decizii cu mize specifice (“ar trebui să adopt X?“) → ăla e job de council manual.
- Întrebări factuale.
- Generare de content / task-uri creative.
Cum îl declanșez
În practică nu îl declanșezi tu — rulează automat (planificarea cron e setată pentru a-l invoca; manual operator activation per memoria proiectului). Dar dacă vrei să-l forțezi:
python3 _infra/scripts/wednesday_daily_evolution.py --forceFără --force se va opri cu exit code 4 dacă a rulat deja azi.
Exit codes utile pentru debugging:
0— succes1— dispatch Grok eșuat (advisorii)2— chairman synthesis eșuat3— scriere pe disk eșuată4— already ran today
Triggere prin Wednesday:
arată-mi daily evolution-ul de azice a zis consiliul azi?force daily evolution run
Exemplu real
2026-05-27. Operatorul tocmai închisese o rulare Darwinian de 6h30m care produsese un rubric champion (5bd890b79487, fitness 0.981 — vs seed 0.506). Scratchpad-ul descria run-2 ca COMPLETED și menționa promote subcommand-ul ca next step.
Daily Evolution s-a aprins peste noapte. Cinci verdicte:
- Contrarian — “Champion-ul a baked în exclusion list care drop-uiește exact slice-ul dominant de utilizare (erotic/roleplay/casual). Plus, evolver-ul tratează 6h30m ca atomic. Adaugă guardrail + atomic checkpoint.”
- Executor — “Run promote subcommand pe
5bd890b79487acum. Un singur command, <3 minute, totul devine reboot-survivable.” - Outsider — “Scrie un usage guide plain-English. Restul e plumbing intern.”
- Expansionist — “Lansează imediat o nouă rulare cu champion-ul ca substrat pe dossierele de income.”
- First Principles — “Promote subcommand-ul în sine trebuie să fie gate-ul: hash check + atomic swap + boot test + scratchpad write.”
Peer reviewers au votat B (Executor) ca strongest majoritar, cu First Principles ca runner-up (atomic gate). Chairman-ul a sintetizat:
Recommendation: Promote champion
5bd890b79487acum prin existing subcommand, apoi verifică imediat hash + cold restart + 5-line test pentru exclusion list. One Thing:python -m darwinian promote 5bd890b79487+ hash check + boot test + scratchpad write.
Full transcript: _raw/reviews/Council_Debates/2026-05-27-daily-evolution.md. Short verdict: _raw/reviews/Daily_Evolution/2026-05-27.md.
Output / unde aterizează
Două fișiere, ambele scrise atomic la finalul rulării:
-
Transcript complet —
_raw/reviews/Council_Debates/YYYY-MM-DD-daily-evolution.md- Frontmatter cu
session_id,chairman,advisors,peer_reviewers,runtime_split,status: DELIVERED - Framed Question + context snapshot
- Round 1: 5 advisor analyses verbatim
- Round 2: 5 peer reviews (referențiază răspunsurile prin litere)
- Chairman Verdict (the short artifact)
- Frontmatter cu
-
Verdict scurt —
_raw/reviews/Daily_Evolution/YYYY-MM-DD.md- Doar
# Daily Evolution: YYYY-MM-DD+ Recommendation + One Thing to Do First - Format Quartz-friendly pentru publicare pe sabin.uk
- Doar
Plus o row în SQLite Episodes (table wednesday_memory.db) cu outcome: COMPLETED și state_vector = primul rând non-heading din verdict (pentru search ulterior cu Karlie).
Limitări
- Întrebarea e fixă. Nu poți să întrebi “Daily Evolution: care e prioritatea pe income tracks?“. Pentru asta folosești council manual.
- Context = doar scratchpad + tasklist + 5 lessons. Dacă scratchpad-ul tău e stale, consiliul răspunde la o realitate stale. Verifică State Drift Gate (din boot Wednesday) dacă recomandarea pare complet ruptă de prezent.
- Toate verdictele sunt Grok. Asta e by design (cost), dar dacă întrebarea cere arhitectură subtilă, recomandarea poate fi mai shallow decât council-ul manual pe Claude. Nu e contra-indicat — e doar trade-off de cost.
- Idempotent pe day. Dacă vrei o a doua rulare în aceeași zi (ex: după ce ai aplicat recomandarea de dimineață și vrei un re-prompt), folosește
--force. Asta scrie peste fișierul existent — pierzi prima versiune dacă nu o backup-ai. - Non-blocant pentru boot. Chiar dacă rulul de azi a picat, Wednesday boot-uiește normal. Surface-ul e via dashboards (
Daemon_Health.md) dacă picul a fost recurent.