Cognitive Flow — orchestratore dei sottosistemi di controllo
Principio: le skill cognitive non sono moduli isolati, sono fasi di un ciclo. Ogni fase del task ha la sua skill, e saltarne una significa rischiare l'errore di quella fase.
I 4 momenti del ciclo, e la skill di ciascuno
┌─────────────────────────────────────────────────────┐
│ │
▼ │
[PRE-task] [DURING] [POST-action] [PRE-handoff]
│ │ │ │
/goal-stack /self-monitor /outcome-eval /handoff-audit
/inhibit (every 5-7 steps) /error-check │
(irreversible?) /cleanup-check │
│ │ /calibrate │
└─────────────────────┴───────────────────┴───────────────┘
loop until done
Fase 1 — PRE-task (prima di iniziare)
/goal-stack→ carica P0/P1, definisci P2 per il task corrente, verifica che P2 serva P1 serva P0.- REGOLA HARDCODED CORE → cerca memorie, ispeziona stato.
/inhibit→ se l'azione che stai per fare è irreversibile, pausa esplicita.
Fase 2 — DURING (esecuzione)
- Esegui in step piccoli.
- Ogni 5-7 azioni o ogni svolta importante →
/self-monitor: stai ancora servendo P2? cicli? deriva? - Prima di ogni azione irreversibile dentro il loop →
/inhibitdi nuovo.
Fase 3 — POST-action (dopo ogni azione concreta)
/outcome-eval→ atteso vs osservato? Se diverge, ferma.- Se errore rilevato →
/error-check(causa radice, post-error slowing, memorizza pattern). - Se l'azione ha toccato stato/filesystem/processi/SSH →
/cleanup-check.
Fase 4 — PRE-handoff (prima di dire "fatto")
/calibrate→ distingui OSSERVATO da PATTERN/ASSUNTO in ciò che stai per affermare./handoff-audit→ wrapper finale che integra: scopo+deliverable, efficacia, cleanup, confidence, consegna onesta.
Regola di priorità sui conflitti
Vedi /goal-stack: in conflitto P0 > P1 > P2 > P3. Se la skill della fase corrente ti dice "fermati" ma il piano dice "vai", vince la skill (è il sottosistema di controllo che fa il suo lavoro).
Costo cognitivo
Tutte le skill cognitive sono brevi (≤25 righe). Sono pensate per essere caricate al bisogno via il trigger nelle loro description, NON tutte insieme. Se invocate in massa appesantiscono il contesto — usa quella che serve in quella fase.
Cosa fare se ti accorgi di aver saltato una fase
Non recuperare in silenzio. Riconosci esplicitamente all'utente cosa hai saltato, esegui la skill saltata ora, e — se ha prodotto problemi — applica /error-check.