Il nome "devnotes" era fuorviante: il theme è unico e copre sia i report
tecnici stile DEVNOTES (template "report-analisi") sia le offerte
economiche stile docx Tielogic (template "offerta"). Le classi sono
partizionate per uso ma vivono nello stesso file.
- themes/tielogic.css: header esteso con descrizione delle famiglie
di classi (status-card+badge per report, table.financial per offerte,
cover+acceptance comuni)
- templates_seed/{offerta,report-analisi}/template.md: aggiornato il
riferimento `stylesheet:` nel frontmatter
- README: chiarito che themes/ contiene un theme unico
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- templates_seed/{offerta,report-analisi}/template.md: template Tielogic
ufficiali versionati come sorgente di verità nel repo
- template_seed.py: copia idempotente seed→volume al boot, mai
sovrascrive template esistenti (preserva edit fatti via MCP runtime)
- config.py: nuova Settings.templates_seed_dir
(default /app/services/mcp-docugen/templates_seed)
- main.py: chiamata seed_templates() in build_app dopo TemplateStore init
- 4 nuovi test unit (idempotenza, skip se seed_dir mancante,
no-op su entry non valide). 72 test verde totali
Workflow: edit del template nel repo → rebuild image → al primo boot
il volume vuoto riceve i template; se il template esiste già nel
volume (es. modificato dall'utente via tool MCP) viene preservato.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>