Diario di sviluppo

Cosa è stato fatto

Sulla pagina libro: nome ed email, poi il link alle prime cinque. La password e l’orario arrivano dopo. Il lettore pieno è ancora avanti.

Aggiornato il 5 ottobre 2026.

  1. Fase 0 · Fatto

    Foundation

    Struttura, auth, migrazioni, diario.

  2. Fase 1 · Fatto

    Authors

    CRUD, DNA, pagina pubblica, prompt.

  3. Fase 2 · Fatto

    Books

    Scheda, Story Bible, personaggi, luoghi, archi, domande, cronologia, canone.

  4. Fase 3 · Fatto

    AI config

    Provider, chiavi cifrate, modelli, compiti, registro.

  5. Fase 4 · Fatto

    Generation

    Piano, bozza, critica, revisione, traduzione. Nessuna pubblicazione automatica.

  6. Fase 5 · Fatto

    Memory

    Recap uscita, ricapitolo globale, stati, loop, timeline, canone.

  7. Fase 6 · active

    Reader

    Lead, prime cinque via email, password e orario. Restano progresso e lettore pieno.

  8. Fase 7 · Dopo

    Scheduling

    Cron, job, pubblicazione programmata.

  9. Fase 8 · Dopo

    Analytics

    Eventi e metriche di lettura.

  10. Fase 9 · Dopo

    Editorial

    Insight, senza riscrittura automatica.

  11. Fase 10 · Dopo

    QUINTA+

    Entitlement e Stripe, dopo il loop di lettura.

Lettore · 5 ottobre 2026

Prima le cinque pagine, poi la password

Sulla pagina libro basta nome e email. Il link nelle mail apre le prime cinque e conferma l’indirizzo. Se non aprono entro 24 ore, il lead si cancella.

  • Il form compare solo se l’Uscita 1 è pubblicata con cinque pagine.
  • In locale le email finiscono in storage/mail. Dopo la lettura: spiegazione, password e orario di ricezione.
  • Pulizia: php bin/prune-leads.

Memoria · 5 ottobre 2026

Dopo l’approvazione, la storia ricorda

Un Five approvato aggiorna ricapitolo, personaggi, domande aperte, cronologia e canone. La bozza non tocca la memoria.

  • Approva lancia l’aggiornamento. Se fallisce, l’uscita resta approvata e si può riprovare.
  • Il ricapitolo dell’uscita e quello globale entrano nel contesto della generazione successiva.
  • Sull’Uscita 1 già pubblicata: Aggiorna la memoria.

Generazione · 4 ottobre 2026

Si scrive in una lingua, si traduce dopo

Il Five nasce nella lingua del libro. Italiano, francese e spagnolo sono versioni di lettura dello stesso canone.

  • The Last Room resta in inglese. Dopo la bozza, dalla scrivania si traduce in it, fr ed es.
  • Se il canone cambia, le traduzioni si azzerano e vanno rifatte.
  • Il lettore non vede ancora le pagine. La traduzione resta in scrivania.

Generazione · 4 ottobre 2026

Il piano arriva prima della pagina

Un’uscita si prepara in scrivania: piano, bozza, critica. Una persona approva. Il lettore non la vede ancora.

  • Da Libri, Uscite. La prima Five di The Last Room parte da Genera il piano.
  • La critica restituisce punteggi, non un parere libero. Sotto la soglia si può rivedere, al massimo due volte.
  • Se la chiamata fallisce, il piano e il testo già salvati restano. Riprova riparte dallo stato precedente.
  • Approva non pubblica. Pubblica segna l’uscita, e il testo resta in scrivania finché non esiste la pagina di lettura.

Intelligenza · 4 ottobre 2026

Il fornitore si cambia senza toccare il racconto

La scrivania tiene provider, chiavi e modelli. Una chiamata chiede un compito, non il nome di un’azienda.

  • Provider compatibili con OpenAI, e Anthropic. La chiave si cifra con APP_KEY e non torna in chiaro.
  • Ogni modello può coprire pianificazione, scrittura, critica, memoria o analisi. Un compito ha un solo modello.
  • La prova di connessione e ogni chiamata finiscono nel registro, senza la chiave.
  • La generazione delle pagine resta spenta.

Libri · 3 ottobre 2026

Un libro si configura dalla scrivania

The Last Room di James Black è il primo libro vero. La presentazione si traduce. Il romanzo resta in inglese, finché non si decide altrimenti.

  • Scheda /admin/books: titolo, autore, stato, lingua del testo, tono, uscita quotidiana.
  • Story Bible interna, più personaggi, luoghi, archi, domande aperte, cronologia e fatti canonici.
  • Pagine pubbliche /book/the-last-room e /it/book/the-last-room. Le prime cinque pagine sono ancora avanti.
  • Aperto: scrivere il romanzo in una lingua sola, oppure generarlo subito in tutte.

Autori · 3 ottobre 2026

La pagina pubblica si traduce

I testi che legge il pubblico stanno nella scheda autore, lingua per lingua. L’inglese resta la fonte del prompt.

  • Tabella author_translations. Italiano, francese e spagnolo. Un campo vuoto mostra l’inglese.
  • Indirizzi /it/author/adele-march, /fr/author/…, /es/author/…. L’inglese resta su /author/…
  • Il DNA non si traduce: serve solo a compilare il prompt di stile.
  • Aperto: quando si scrive un libro, decidere se nasce subito in tutte le lingue o in una sola.

Autori · 3 ottobre 2026

La pagina autore non è più una scheda

James Black e gli altri si presentano come voci da seguire. Il libro sta sopra la biografia.

  • In testa: nome, genere, luogo, la frase pubblica, e Segui.
  • Sotto, la storia in scrittura, a tutta copertina. Poi la voce, presa dal DNA, e una frase-firma.
  • La disclosure resta, in fondo, senza il riquadro di avviso.
  • Niente follower, voti o pagine scritte: quei numeri non esistono ancora.

Homepage · 3 ottobre 2026

Prima le storie, poi il meccanismo

La homepage non apre più spiegando l’email. Apre sulle storie, e l’attesa di domani.

  • Sotto il titolo: quattro aperture. The Last Room di James Black, e le voci di Adele March, Ruth Pell e Ivo Keller.
  • I titoli oltre The Last Room nascono dalle frasi già scritte per quegli autori. I libri veri arrivano con la Fase 2.
  • L’email è una riga, non il prodotto. La disclosure sull’intelligenza artificiale sta dopo gli autori.
  • Niente conteggi di lettori inventati, niente countdown finto.

Homepage · 3 ottobre 2026

Autori artificiali e email del giorno

La homepage, nelle quattro lingue, spiega chi scrive e come arriva la lettura.

  • Gli autori sono identità di finzione scritte da un’intelligenza artificiale, e la pagina lo dice.
  • Il meccanismo: scegli il libro, scegli l’ora, e ogni giorno un’email porta le cinque pagine di quel libro.

Scrivania · 3 ottobre 2026

Etichette della scheda autore in italiano

La modifica di un autore, l’elenco e la scrivania usano etichette italiane. Le pagine pubbliche restano in inglese.

  • Scheda /admin/authors/{id}/edit: identità, DNA, ritratto, prompt compilato.
  • Menu: Scrivania, Pannello, Autori, Diario, Libreria, Esci.
  • Gli errori di validazione di questa scheda sono in italiano. Login e registrazione restano in inglese.

Homepage · 3 ottobre 2026

Homepage in quattro lingue

La homepage si legge in inglese, italiano, francese e spagnolo. Il resto del sito resta com’è.

  • Inglese su /, italiano su /it, francese su /fr, spagnolo su /es.
  • Il selettore è nella homepage. La scelta è nell’indirizzo, non in un cookie.
  • Testi in resources/lang. Stesse chiavi in tutte le lingue.
  • Autori, login, scrivania e diario non sono stati tradotti.

Fase 1 · 3 ottobre 2026

Autori e Author DNA

Un autore ora è un’identità pubblica più un DNA strutturato. Il prompt di stile si ricompila da quei campi e non è la fonte di verità.

  • Tabelle authors e author_styles, con slug, stato, disclosure e ritratto.
  • Scrivania /admin/authors: crea, modifica, DNA, anteprima del prompt compilato.
  • Pagine pubbliche /authors e /author/james-black. Gli inattivi non sono visibili.
  • Template versionato in resources/prompts/author_dna_compiler.txt. Stesso DNA, stesso prompt.
  • Ritratti solo JPEG, PNG o WebP, con nome generato. Il DNA non finisce sulla pagina pubblica.
  • Disclosure obbligatoria: gli autori restano fittizi.
  • Seed: James Black, Adele March, Samuel Adeyemi, Ruth Pell, Ivo Keller.
  • Il conteggio follower aspetta la Fase 6. I libri aspettano la Fase 2.
  • 3 ottobre, sera: database locale collegato. Migrazioni e seed eseguiti. Login admin e pagina di James Black verificati.

Fase 0 · 3 ottobre 2026

Fondamenta del progetto

QUINTA ora ha uno scheletro PHP installabile su un hosting normale, con autenticazione e questa pagina come diario vivo.

  • Front controller in public/index.php, router proprio, PDO e viste PHP. Nessun framework applicativo.
  • Configurazione via .env, chiave applicativa e README di installazione.
  • Migrazioni SQL per utenti, profili, impostazioni, audit e tentativi di login.
  • Registrazione lettore, login, logout, ruolo admin e scrivania /admin.
  • Sessioni con cookie HttpOnly e SameSite, CSRF sui form, password con le API native di PHP, rate limit sul login.
  • Tailwind compilato in public/assets, così il server non ha bisogno di Node per funzionare.
  • Seed locale: un admin e una lettrice di prova.
  • Homepage editoriale di attesa. La libreria vera arriva con la Fase 6.
  • Questa pagina, /diario, da aggiornare a ogni fase.
  • Verifica locale del 3 ottobre: homepage, diario, validazione e CSRF ok. Migrazioni e login admin ancora in attesa della password MySQL.

Dipendenze

  • PHP 8.2+ con pdo_mysql, curl e sodium
  • MySQL 8+
  • Composer: vlucas/phpdotenv
  • Composer dev: phpunit/phpunit
  • npm, solo in sviluppo: tailwindcss

Migrazioni ora

  • schema_migrations — creata dal migrator
  • users
  • user_profiles
  • app_settings
  • audit_logs
  • login_attempts
  • authors
  • author_styles
  • author_translations
  • books
  • book_translations
  • story_bibles
  • book_characters
  • book_locations
  • book_arcs
  • book_open_loops
  • book_timeline_events
  • book_canon_facts
  • ai_providers
  • ai_models
  • ai_model_purposes
  • ai_generations
  • releases
  • release_plans
  • release_pages
  • release_reviews
  • release_status_events
  • release_page_translations
  • release_recaps

Migrazioni previste

  • Fase 6 — user_book_follows, user_author_follows, reading_progress
  • Fase 7 — jobs, job_runs
  • Fase 8–9 — analytics_events, editorial_insights
  • Fase 10 — plans, subscriptions