netgescon-day0/docs/ai/restart/HANDOFF-NUOVO-AMBIENTE-DAY0.md

8.0 KiB

Handoff Nuovo Ambiente Day-0

Data: 2026-03-11 Baseline commit Day-0: 5d3f5c6 Repository: michele/netgescon-day0

1) Stato confermato

  • CTI Panasonic NS1000 implementato con endpoint:
    • POST /api/v1/cti/panasonic/incoming
    • POST /api/v1/cti/panasonic/call-ended
    • GET /api/v1/cti/panasonic/lookup
  • Post-it: auto-creazione su incoming, auto-chiusura su call-ended con esito, durata_secondi, chiusa_il.
  • Script disponibili:
    • scripts/ops/netgescon-panasonic-csta-test.sh
    • scripts/ops/netgescon-cti-listener.sh

2) Ambienti reali

  • Sviluppo interno:
    • path: /home/michele/netgescon/netgescon-day0
    • web: php artisan serve --host=0.0.0.0 --port=8000
    • URL: http://127.0.0.1:8000
  • Staging online:
    • path: /var/www/netgescon
    • web server: nginx
    • porta: 80
    • URL: http://<IP_SERVER_200>/

Dotfiles sensibili copiati in Day-0 (11/03/2026)

  • .env (copia sviluppo da /home/michele/netgescon/netgescon-laravel/.env)
  • .env.staging.reference (copia staging da /var/www/netgescon/.env)
  • .env.online.dev.reference
  • .env.online.staging.reference

Snapshot completo env/dotfiles per entrambi gli ambienti:

  • storage/backups/env-sync/20260311-203948/dev
  • storage/backups/env-sync/20260311-203948/staging

Nota: questi file sono esclusi da Git tramite .gitignore.

3) Comandi pronti (operativi)

3.1 Avvio sviluppo locale

cd /home/michele/netgescon/netgescon-day0
php artisan serve --host=0.0.0.0 --port=8000

3.2 Deploy rapido staging

cd /var/www/netgescon
php artisan migrate --force
php artisan optimize:clear
sudo systemctl reload nginx

3.3 Ascolto payload HTTP grezzo (super minimale)

ncat -kl 8099

Fallback se ncat non presente:

while true; do nc -l -p 8099; echo; echo "-----"; done

3.4 Sniffing CSTA grezzo

sudo tcpdump -i any -nn -s0 -A host 192.168.0.101 and port 33333

Se non vedi traffico:

sudo tcpdump -i any -nn -s0 -A port 33333
sudo tcpdump -i any -nn "tcp port 33333"
sudo tcpdump -i any -nn -s0 -A host 192.168.0.101 and \(port 33333 or port 33334 or port 33335\)
sudo ss -lntp | grep -E ':33333|:8099|:80'

3.5 Simulazione chiamate da terminale

Incoming:

curl -sS -X POST "http://127.0.0.1:8000/api/v1/cti/panasonic/incoming" -H "Content-Type: application/json" -H "X-CTI-Token: <TOKEN_REALE>" -d '{"phone":"+393331112233","direction":"in_arrivo","called_extension":"101","event_id":"evt-001","note":"test incoming"}'

Call-ended:

curl -sS -X POST "http://127.0.0.1:8000/api/v1/cti/panasonic/call-ended" -H "Content-Type: application/json" -H "X-CTI-Token: <TOKEN_REALE>" -d '{"phone":"+393331112233","event_id":"evt-001","outcome":"risposta","duration_seconds":83,"ended_at":"2026-03-11T10:20:00+01:00","note":"test call-ended"}'

Lookup:

curl -sS "http://127.0.0.1:8000/api/v1/cti/panasonic/lookup?phone=+393331112233" -H "X-CTI-Token: <TOKEN_REALE>"

4) Prompt pronto da dare al nuovo agent

Copia/incolla questo messaggio al nuovo agent:

Sei il nuovo agent operativo su NetGescon Day-0. Esegui attività complete (modifica codice + verifica + commit/push), non fermarti alla sola analisi.

Contesto:
- Repo: michele/netgescon-day0
- Branch: main
- Baseline: 5d3f5c6
- Staging online: /var/www/netgescon via nginx su porta 80
- Sviluppo: /home/michele/netgescon/netgescon-day0 su porta 8000

CTI Panasonic già presente:
- POST /api/v1/cti/panasonic/incoming
- POST /api/v1/cti/panasonic/call-ended
- GET /api/v1/cti/panasonic/lookup

Obiettivo immediato:
1) Validare end-to-end dev+staging (incoming crea post-it, call-ended chiude con esito/durata)
2) Adattare mapping payload PBX reale se necessario
3) Aggiornare documentazione operativa
4) Riportare report finale con comandi, output chiave e id record verificati

File guida da leggere subito:
- docs/ai/restart/START-HERE-NETGESCON-DAY0.md
- docs/ai/restart/HANDOFF_AGENT_OPERATIVO_20260311.md
- docs/ai/restart/AGENT-OPERATIVO-COMANDI-DAY0.md
- docs/ai/restart/CTI-PANASONIC-NS1000-SETUP.md
- docs/NETGESCON-MODIFICHE.md
- docs/NETGESCON-GIT-AUTOCHANGELOG.md

Vincoli:
- Non rompere flusso PostIt/Filament esistente
- Non revertare modifiche utente non richieste
- Validare sempre con test/route/query prima del commit

Richiesta DB fondamentale:
- Voglio stessi dati tra sviluppo e staging (DB condiviso), con cartelle/app distinte.
- Prima backup, poi allineamento configurazioni `.env`, migrate una sola volta, verifica dati CTI su entrambi gli ambienti.

4.1 Primo messaggio esatto (versione operativa consigliata)

Sei il nuovo agent operativo di NetGescon Day-0. Lavora in modalità esecutiva completa (codice + test + commit/push), senza fermarti alla sola analisi.

BASELINE E CONTESTO
- Repo: michele/netgescon-day0
- Branch: main
- Baseline commit: 5d3f5c6
- Documento guida principale: docs/ai/restart/HANDOFF-NUOVO-AMBIENTE-DAY0.md
- Pagina controllo modifiche: /admin-filament/supporto/modifiche
- Changelog manuale: docs/NETGESCON-MODIFICHE.md
- Changelog Git auto: docs/NETGESCON-GIT-AUTOCHANGELOG.md

Sviluppa solo nel tree principale Day-0 (non in _legacy-vault), poi commit/push.
Poi ciclo staging update.

AMBIENTI
- Sviluppo interno: /home/michele/netgescon/netgescon-day0 (porta 8000)
- Staging online: /var/www/netgescon con nginx su porta 80

CTI PANASONIC GIA IMPLEMENTATO
- POST /api/v1/cti/panasonic/incoming
- POST /api/v1/cti/panasonic/call-ended
- GET  /api/v1/cti/panasonic/lookup
- Obiettivo operativo: verificare che i Post-it si creino/chiudano correttamente con esito e durata.

RICHIESTA FONDAMENTALE DB
Voglio vedere gli stessi dati sia in sviluppo che in staging (stessa base dati condivisa, cartelle/app diverse ok).
Quindi:
1) analizza configurazioni DB attuali dei due ambienti
2) proponi e applica configurazione "DB unico condiviso" in sicurezza
3) esegui backup prima di cambiare
4) applica migrazioni necessarie una sola volta sul DB condiviso
5) verifica con test CTI che i dati Post-it appaiano uguali su dev e staging

DELIVERABLE RICHIESTI
- report finale con comandi eseguiti
- file modificati
- output chiave verifiche
- eventuali rischi della strategia DB condiviso + mitigazioni
- aggiornamento docs/NETGESCON-MODIFICHE.md con le modifiche funzionali
- commit/push su main

OBIETTIVO IMMEDIATO
1) Verificare end-to-end Post-it su dev e staging:
  - incoming crea post-it
  - call-ended chiude post-it, salva esito/durata/chiusa_il
2) Aggiornare staging online con migrate e cache clear
3) Validare con test reali o curl simulati
4) Fornire report finale con:
  - comandi eseguiti
  - endpoint testati
  - id record creati/chiusi in chiamate_post_it
  - eventuali mismatch payload PBX e fix fatti

STAGING:
- cd /var/www/netgescon
- php artisan migrate --force
- php artisan optimize:clear
- sudo systemctl reload nginx

VERIFICHE MINIME
- curl incoming/call-ended/lookup su dev e staging
- query SQL su chiamate_post_it per stato/esito/durata/chiusa_il
- nessuna regressione lato pagina Filament PostIt

VINCOLI
- Non rompere flusso PostIt esistente
- Compatibilità fallback se event_id assente
- Se trovi modifiche locali non tue, non revertare senza richiesta esplicita

5) Documenti e manuali presenti (conferma)

Nel Day-0 risultano presenti i documenti restart chiave:

  • docs/ai/restart/START-HERE-NETGESCON-DAY0.md
  • docs/ai/restart/HANDOFF_AGENT_OPERATIVO_20260311.md
  • docs/ai/restart/AGENT-OPERATIVO-COMANDI-DAY0.md
  • docs/ai/restart/CTI-PANASONIC-NS1000-SETUP.md
  • docs/ai/restart/CONTINUITA-STORICO-DAY0.md
  • docs/ai/restart/FILAMENT-ONLY-CUTOVER-CHECKLIST.md

Nel workspace sono presenti centinaia di documenti .md (manuali storici inclusi) tra Day-0 e legacy.

6) Checklist passaggio ambiente

  1. Aprire repo Day-0 e verificare branch main.
  2. Verificare variabile NETGESCON_CTI_SHARED_TOKEN in .env.
  3. Eseguire migrate nell'ambiente target.
  4. Eseguire test incoming + call-ended.
  5. Verificare record in chiamate_post_it (stato/esito/durata).
  6. Aggiornare docs/NETGESCON-MODIFICHE.md con ogni variazione funzionale.