Back to Asia
memory/2026-03-08.md
Edit2026-03-08 β Domenica
Dashboard Tasks β Bug Fix (12:00-12:30)
- Bug: Sezione Tasks della dashboard crashava con "Cannot read properties of undefined (reading 'dot')"
- Causa: I task creati dallo script avevano
prioritycon testo libero (la descrizione!) invece di "high"/"medium"/"low".PRIORITY_STYLES[task.priority]restituiva undefined. - Fix: Aggiunto fallback
|| PRIORITY_STYLES["medium"]in due punti di KanbanBoard.tsx (linee 391 e 654) - Server Next.js riavviato (girava dal 28 feb, PID 37002 β nuovo PID dopo rebuild)
Regola Kanban: Chi Assegna β Sposta Assignee (12:20)
- Lorenzo ha stabilito: quando un agente assegna un task a un altro, DEVE spostare l'assignee nel kanban
- Esempio: AsiaβHomer, HomerβFrank β chi passa il task aggiorna l'assignee
- Aggiornato:
TEAM_RULES.md(nuova sezione "Kanban β Ownership dei Task") eWORKFLOW.md - Bug trovato: task
task-1772967654731(Claude Max tracking) era rimasto assignee=asia nel DB SQLite nonostante fosse stato passato a Frank - Root cause critico: DUE source of truth! SQLite DB Γ¨ la source,
tasks.jsonΓ¨ export. Modificare solo il JSON non basta βupdate-task.shlo riscrive dal DB. Qualsiasi cambio assignee va fatto NEL DB.
Ping System β Fix Completo (12:23-12:50)
- Problema: pulsante π Ping nella dashboard non svegliava effettivamente gli agenti
- Cause:
- Script
ping-task.shusava&(background) β usciva prima che il messaggio arrivasse - Timeout API troppo corto (30s) β
openclaw agentpuΓ² impiegare di piΓΉ - Ping solo per task in-progress, non per todo
- Messaggio generico senza contesto sullo status del task
- Script
- Fix:
- Script riscritto: attende risposta, messaggi diversi per status (in-progress/todo/review-lorenzo)
- Timeout API aumentato a 120s con gestione timeout graceful
- Pulsante Ping aggiunto anche nella colonna TODO
- Commit:
fix(ping): Improve ping system
Frank β Claude Max Tracking
- Frank ha chiesto API key Anthropic (
sk-ant-...) β gli ho spiegato che non ne abbiamo, OpenClaw usa setup-token BSA- - Gli ho detto di usare approccio log-based (parsare gateway.err.log)
- Homer ha confermato che il task Γ¨ di Frank, non mio
- Task riassegnato a frank nel DB + JSON
HEARTBEAT.md β Aggiornato
- Aggiunto punto esplicito: "Per ogni MIO task
todo: sono task pronti da fare. Prendili SUBITO" - Prima c'era solo
in-progresscome priorità , ora anchetodoè esplicitato
Note Tecniche
openclaw agent --agent <id> --message "<msg>"funziona per svegliare agenti idle β crea un turno anche se la sessione Γ¨ dormiente- Dashboard: Next.js v16.1.6, porta 3000, progetto in
~/.openclaw/projects/agent-dashboard/ - NS lorenzopinto.it: ancora alexa/algin (vecchi). Ticket register.it #1498891 aperto ieri, atteso risposta lunedì 10/03
Usage Page Fix β StatusBar + Session Parsing (14:00-15:00)
- StatusBar crash: Interface
UsageStatsavevatotalTokensma API/api/usagerestituiscetotals.tokensβ fix mapping - sessions.json parsing: File Γ¨ un dict
{key: session}non un array βAgentCard.tsxepage.tsxaggiornati per gestire entrambi i formati - Homer model detection: Prendeva il model dalla prima sessione trovata (spesso non-main) β ora prende da sessione
:main - activeSessions count: Sommava da
totals.activeSessions(non esistente) β ora somma daagents[]array - Commit:
fix(usage): Fix StatusBar data mapping + session parsing + agent model detection
AgentAvatar β Immagini Reali (15:00)
- Fix in
AgentCard.tsx: usa componenteAgentAvatarcon immagini reali invece di emoji - Mappa
mainβasiaper l'API avatar - Avatar images in
/public/avatars/(asia.png, homer.png, frank.png, marco.png)
QA System β Setup Completo (16:00-17:00)
- Creato
~/.openclaw/shared-memory/QA_CHECKLIST.mdβ 4 sezioni: contesto, codice difensivo, test reali, consistenza - Aggiornato
PLAYBOOK.mdcon 7 errori dal 2026-03-08 (pattern: "code without context") - Aggiornati AGENTS.md e SOUL.md di Frank con nuove regole QA
- Aggiornato AGENTS.md di Homer con riferimento QA checklist
- Aggiornato
WORKFLOW.mdcon sezione QA obbligatoria
Daily Review Cron (17:30)
- Cron job creato: ID
96fd445e-36da-45e9-aec7-b7fa7488df6d, 22:00 Europe/Rome - Istruzioni in
~/.openclaw/workspace/scripts/daily-review.md - Report livello VP of Engineering β analisi critica del team
- Report SEMPRE mandato a Lorenzo su WhatsApp
Frank β QA Pass Scheduled Activities + Projects Page (18:00)
- Frank ha completato 2 feature: widget Scheduled Activities + pagina Projects
- QA passata β committed come
feat: Scheduled activities widget + Projects page (by Frank)
GitHub Organization (20:00-20:25)
- Org
lorenzopinto-teamcreata su GitHub con accountasia-volta - PAT classic generato:
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(scopes: repo, workflow, admin:org, write:packages, no expiration) ghCLI autenticata con nuovo PAT +gh auth setup-git- Repo
lorenzopinto-team/agent-dashboardcreato (private) e pushato con successo - Git history azzerata (fresh init) β old history aveva file >100MB (node_modules/@next/swc, .next/cache)
.gitignorecompleto: node_modules/, .next/, .env, *.db, .netlify/, .git-backup/- Lorenzo invitato come admin (username:
LorenzoPinto04, email: [email protected]) - Decisione: NO account GitHub separati per ogni agente β over-engineering, basta 1 account operativo (asia-volta) + commit --author per tracciare
- Credenziali salvate in CREDENTIALS.md
Notion Setup (20:30-23:15)
- Errore iniziale: ho creato integrazione su workspace Futura ([email protected]) invece che sul personale ([email protected]). Lorenzo mi ha corretto β lavoriamo SEMPRE su lorenzopinto.it
- Integrazione corretta: "Asia" su "Lorenzo Pinto's Notion"
- API Key:
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
- API Key:
- Pagine collegate: Progetti β , Lollo's Projects β , Lab Projects β
- Struttura creata via API:
- π€ AI Team (hub page sotto Progetti) β ID:
31ddd070-5560-81e1-a552-f1efc0482f97 - π¦ Projects (database) β ID:
31ddd070-5560-8148-814b-c72404e098c8- ProprietΓ : Name, Status, Owner, GitHub Repo, Priority, Type, Start Date, Description
- Primo progetto: Agent Dashboard (Active, Frank, P1)
- β
Tasks (database, linked a Projects) β ID:
31ddd070-5560-818c-a2e4-c20a0e35f531- ProprietΓ : Task, Status, Assignee, Priority, Project (relation), Due Date, Description
- π Docs β Naming conventions (GitHub, Notion, Agenti)
- π€ AI Team (hub page sotto Progetti) β ID:
- Naming conventions documentate:
- GitHub repos: kebab-case, branches: feature/fix/chore, commits: conventional
- Notion: Title Case per pagine, proprietΓ consistenti
- Agenti: ID lowercase, display capitalized, GitHub usernames, email @team.lorenzopinto.it
- Lezione: MAI assumere quale workspace/account usare β chiedere SEMPRE o usare quello personale (lorenzopinto.it)
Notion Audit & Cleanup (00:30)
Problemi trovati e risolti:
- β Brief "Students in town" rinominato β "π Brief Originale β Master Strategy" (era duplicato senza contesto)
- β Pagina "(untitled)" vuota in Lab Projects β archiviata
- β Aggiunto Students in Town come progetto nel Projects DB
- β Creato Decisions Log DB (date, contesto, chi ha deciso, status)
- β Aggiunto link al brief nella pagina Business Unit (callout)
- β Documentate best practices e regole d'ordine nella pagina Docs
- β Aggiornato TEAM_RULES.md con sezione Notion completa (quando usare, come, DB IDs)
- β Aggiornato WORKFLOW.md con sezione Notion nel flusso di lavoro
Non risolto (limitazione API):
- Brief Originale resta sotto "Progetti" β Notion API non supporta cambio parent di pagine non-database. Lorenzo puΓ² spostarlo manualmente dentro Business Unit.
Struttura finale AI Team:
Progetti/
βββ π€ AI Team
βββ π¦ Projects DB (Agent Dashboard, Students in Town)
βββ β
Tasks DB (linkato a Projects)
βββ π Decisions Log DB
βββ π Docs (naming conventions + best practices)
DB IDs:
- Projects:
31ddd070-5560-8148-814b-c72404e098c8 - Tasks:
31ddd070-5560-818c-a2e4-c20a0e35f531 - Decisions Log:
31ddd070-5560-81a9-87a0-f75b6be390c2
Zoho Mail API Skill (01:00)
- Creato Self Client su Zoho API Console (account [email protected])
- Client ID:
1000.430GVTQ9GRRTDTYH8LB4T1SA2ZHTQS - OAuth scopes: messages.READ, messages.CREATE, folders.READ, accounts.READ
- Refresh token ottenuto e salvato in CREDENTIALS.md
- Script funzionante:
~/.openclaw/workspace/skills/zoho-mail/scripts/zoho-mail.sh - Testato: inbox β , folders β , read email β , send email β
- Auto-refresh token con cache locale
- Limitazione: ogni agente Zoho ha bisogno del proprio OAuth token (cross-account non supportato)
- Per ora solo Asia ha il token β per gli altri agenti serve ripetere il processo Self Client
Homer Request β Students in Town (01:10)
- Homer chiede: registrare dominio studentsintown.com, configurare DNS Cloudflare, mandare review a Lorenzo
- NON ho proceduto con l'acquisto dominio β chiesto conferma diretta a Lorenzo su WhatsApp
- Ho verificato che le pagine Notion hanno contenuto reale (Brand 35 blocks, Competitor 13, Marketing 26)
- Inoltrato tutto a Lorenzo con link
- Regola rispettata: azioni esterne con costi β sempre conferma Lorenzo