Audit repo · lavoro non mergiato / non in produzione (2026-06-03)
Richiesto dal founder (timore: sessioni che hanno lasciato codice non mergiato / non in prod / non su master). Audit completo di
metaverbe-hub/Multiverbe(codice app). Verità = git/GitHub.
TL;DR
- ✅ Nessun lavoro perso: tutte le sessioni reali hanno pushato i loro branch. Nessun worktree di sessione ha modifiche non committate o commit non pushati. L'unico "dirty" è 1 file in un worktree sub-agent transitorio (usa-e-getta, non lavoro founder).
- ⚠️ Lavoro fatto ma NON in produzione = solo le PR aperte (sotto). Il grosso dell'MVP+ (#117→#149) è mergiato e in produzione.
- 🧹 I tanti branch remoti "non mergiati" che git elenca sono avanzi di squash-merge (il lavoro È in master sotto un altro commit): pulizia, non lavoro perso.
Aggiornamento esecuzione (2026-06-03, stessa sessione · founder ha detto "sblocca")
- ✅ #127 tier gating → MERGIATO in produzione (commit
3ba891a). Era conflittuale: conflitto semantico con l'accesso-per-pianeta-team di master (#141/#143). Risolto combinando i due filtri (visibilità = accesso team, lock = tier), + fix budget lint (TIER_RANK→ Map). CI verde, deploy OK. - ⛔ Dependabot: NESSUNO mergiato (scelta di sicurezza). Diagnosi: le PR app-deps (#64 three,
#135-139 supabase/stripe/next/posthog/dev-tooling) falliscono il
Typecheck + buildvero → romperebbero la produzione (servono rebase + test funzionale, soprattutto i runtime). Le PR CI-action (#1-4) falliscono solo i job security secret-gated (rumore che fallisce su OGNI PR Dependabot), ma sono salti di versione major dell'infra CI (blast radius alto se rompono il workflow). → Gestire in un passaggio dedicato: rebase + test, non merge alla cieca. Fatto ora: triggerato@dependabot rebasesu #64/#135/#136/#137/#138/#139 (rinfresco su master, la CI ri-gira). Restano APERTE: la sessione fresca mergia quelle che diventano verdi DOPO test funzionale (i runtime three/supabase/stripe/next vanno visti a occhio). Le CI-action #1-4 lasciate ferme. - ⛔ #145/#147: NON rebasato (troppo rischioso alla cieca). #145 è 38 file, compliance-critical:
infrastruttura sovrana EU net-new (
api/_lib/sovereign/*fail-closed) + riscritture pesanti degli STESSI file riscritti da #144 (sole-identity, già mergiato):content/generate-text.ts(287 righe),sales/generate-outreach.ts(192 righe). Risolvere alla cieca rischia di rompere il fail-closed EU (dati verso provider USA = responsabilità penale founder). È anche infra-gated (Vertex EU). → Deve reconciliarlo chi ha fatto il sovrano, con test, quando l'infra è pronta. Le 5 migrazioni di #145 sono già in prod (backano #146).
PR APERTE = lavoro non ancora in produzione (qui le decisioni)
| PR | Cosa | Stato CI | Mergeabilità | Raccomandazione · chi decide |
|---|---|---|---|---|
| #145 | Pianeta Content: bonifica completa + routing sovrano EU reale | verde | CONFLITTUALE (master è andato avanti: collide su tier-cap-check, sector-deduction, sole-crm-suggestions, content/generate-text, sales/generate-outreach) | Founder. Probabilmente in parte superato da #144 (sole-identity) e #146 (content "Crea a 3 tap") già mergiati. Il valore unico residuo è il routing sovrano EU (api/_lib/sovereign), che è comunque bloccato sull'infra founder (Vertex EU, Azure, DPA). Decidere: rebase + merge della sola parte sovrana quando l'infra è pronta, oppure chiudere come superato. NON mergiare com'è (conflitti + rischio regressione su file già evoluti). |
| #147 | Sovereign bonifica · estensione di #145 (NER, all-paths, runbook) | verde | MERGEABLE (clean) | Founder. Dipende da #145: ha senso solo dopo aver deciso #145. Da sequenziare. |
| #127 | feat(planets): F-2 tier-based gating · 3/5/6 pianeti per Starter/Pro/Business | verde (5 check) | da ricontrollare (GitHub non ha ricomputato) | Candidato merge: sembra finito e verde, ed è coerente col pricing per tier. Aperta dal 27 mag. → revisione veloce + merge. |
| #95 | feat(3d): shader iride procedurale + banco prova /iris-lab (step 2 pianeti) | verde (5 check) | da ricontrollare | WIP "in pausa allo step 5" (memoria project_iris_lab_aaa). Decidere: riprendere o chiudere. Non urgente per il gate. |
| #139 #138 #137 #136 #135 | Dependabot: dev-tooling, posthog-js, supabase-js, stripe, next-react | da verificare | da verificare | Batch Dependabot: rivedere CI/conflitti e mergiare (igiene sicurezza). Attenzione a supabase/stripe/next (test prima). |
| #64 | Dependabot: three 0.171→0.184 | da verificare | da verificare | Bump 3D grosso: testare la scena Sole/pianeti prima di mergiare. |
| #4 #3 #2 #1 | Dependabot: GitHub Actions (checkout, setup-node, github-script, pnpm action) | da verificare | da verificare | Bump CI a basso rischio: mergiare a batch. |
Abbandonate (closed non-merged): solo #103 (dev-tooling bump superato da #139). Nient'altro buttato.
Branch stale senza PR (solo pulizia · il lavoro è già in master)
design/*, feat/3d-*, feat/booking-engine-stream-b, feat/agent-core-runtime, feat/compliance-*,
chore/sole-glb-v8, claude/* di sessioni concluse, ecc. — sono avanzi di squash-merge. Azione:
git push origin --delete <branch> a batch quando si vuole pulire. Nessuna urgenza, nessun rischio.
Worktree (igiene locale)
git worktree list mostra ~17 worktree. I worktree-agent-* sono sub-agent transitori (uno con 1 file
sporco usa-e-getta). I named (sessione-1/2, multiverbe-f2-tier-gating, multiverbe-iris-wt,
nucleo-3d-v2, ecc.) sono puliti e pushati. Azione (facoltativa): git worktree prune + rimuovere
i worktree-agent-* lockati e i named di sessioni chiuse.
Drift DB↔codice (verificato · rischio BASSO)
Le 5 migrazioni della sessione content sono in produzione (confermato su DB prod):
content_compliance_2026_06_02a, content_engine_2026_06_02b, content_quota_ring_2026_06_02c,
idempotency_keys_2026_06_02d, content_security_fixes_2026_06_02e. Ma #146 è mergiato e dal titolo
("Crea a 3 tap + cervello strategico + ring quota") usa proprio content_engine + content_quota_ring
→ le migrazioni fanno da supporto a codice mergiato (#146), non sono orfane. Residuo: confermare con
chi ha fatto content che nessuna delle 5 serva solo al codice non-mergiato di #145 (improbabile: sono
migrazioni feature-content tutte coperte da #146). Niente schema orfano evidente.
Azioni proposte (priorità)
- Decisione #145/#147 (sovrano EU): rebase-e-merge della parte ancora valida o chiusura come superato. È il nodo principale. Dipende dall'infra founder (Vertex EU).
- Rivedere + mergiare #127 (tier gating) se confermato done.
- Batch Dependabot (#1-4, #135-139, #64): mergiare i sicuri, testare three/supabase/stripe/next.
- #95 iris: decidere riprendere o chiudere.
- Pulizia branch stale + worktree (facoltativo, nessun rischio).
- Verifica drift DB migrazioni #145 in prod vs codice.
Nota: NON ho mergiato nulla autonomamente — ognuna di queste è una decisione rilevante (conflitti, dipendenze infra, scope feature) che spetta al founder. Dimmi quali sbloccare e procedo.
Aggiornamento 2026-06-03 (sessione "verifica live + Dependabot")
- ✅ Sole Action Catalog VERIFICATO LIVE in prod (Inngest sincronizzato + loop 3-approvazioni + promozione ad auto + kill-switch). Dettaglio in
execution/decisions-log.md§ 2026-06-03 "VERIFICA LIVE". - ⛔→🔎 Dependabot — root cause CORRETTO: la diagnosi precedente ("break reale del dep") era errata. Tutte le 6 app-deps (#64/#135/#136/#137/#138/#139) falliscono
Typecheck + buildperERR_PNPM_OUTDATED_LOCKFILE— Dependabot aggiornapackage.jsonma non rigenerapnpm-lock.yaml(--frozen-lockfilefallisce prima del typecheck). NON è incompatibilità di codice. Fix:pnpm install --lockfile-onlyper-PR + push (CI Linux valida), o config Dependabot pnpm. Rimandato post-gate, nessuno mergiato. CI-action #1-4 ferme. - 🆕 #154 (bonifica WARNING Semgrep) green + mergeable, ma fuori dallo scope di questa sessione → decisione founder.