Files
postgenerator/.planning/STATE.md
Michele 36fa50173f docs(02-01): complete prompt CRUD + prompt editor plan
Tasks completed: 2/2
- Backend prompts router with 4 CRUD endpoints
- Frontend Prompt Editor page with types, hooks, route, sidebar

SUMMARY: .planning/phases/02-prompt-control-output-review/02-01-SUMMARY.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 20:58:24 +01:00

3.2 KiB

Project State

Project Reference

See: .planning/PROJECT.md (updated 2026-03-07)

Core value: Generare un calendario di 13 caroselli Instagram strategicamente orchestrati, pronti per Canva Bulk Create, con un click dalla Web UI. Current focus: Phase 2 in corso — Prompt Control + Output Review

Current Position

Phase: 2 of 4 (Prompt Control + Output Review) Plan: 1 of 2 in current phase Status: In progress — 02-01 completato, 02-02 da eseguire Last activity: 2026-03-08 — Completed 02-01-PLAN.md (Prompt CRUD + Prompt Editor UI)

Progress: [█████░░░░░] 55% (5/9 piani totali)

Performance Metrics

Velocity:

  • Total plans completed: 5
  • Average duration: ~7 min
  • Total execution time: 38 min

By Phase:

Phase Plans Total Avg/Plan
01-core-generation-pipeline 4/4 COMPLETA 33 min 8 min
02-prompt-control-output-review 1/2 5 min 5 min

Recent Trend:

  • Last 5 plans: 6 min, 9 min, 8 min, 10 min, 5 min
  • Trend: velocita' in aumento

Updated after each plan completion

Accumulated Context

Decisions

Decisions are logged in PROJECT.md Key Decisions table. Recent decisions affecting current work:

  • [Setup]: FastAPI root_path SOLO via Uvicorn (--root-path), mai nel costruttore FastAPI()
  • [Setup]: CSV encoding = utf-8-sig (BOM) sempre; CANVA_FIELDS locked come costante
  • [Setup]: Prompt di sistema scritti IN italiano
  • [Setup]: Per-item error isolation dal primo loop di generazione
  • [01-01]: root_path SOLO via Uvicorn --root-path nel Dockerfile CMD
  • [01-01]: API_BASE='/postgenerator/api' nel frontend — Pitfall #9 risolto
  • [01-02]: CANVA_FIELDS 33 colonne con _image_keyword (non URL) — URL Unsplash in Phase 4
  • [01-02]: PromptService usa ValueError per variabili mancanti
  • [01-03]: LLMService._parse_retry_after() legge header HTTP per wait esatto (fallback 60s)
  • [01-03]: asyncio.to_thread wrappa LLM sync calls nel background task async
  • [01-03]: Settings.api_key merge: PUT non sovrascrive con None se non inclusa nel body
  • [01-03]: Pipeline singleton in generate.py per mantenere _jobs tra request, con fallback da disco
  • [01-04]: Palette stone/amber per design B2B non generico (non gradienti viola)
  • [01-04]: Download CSV sempre via POST con edits inline (non GET originale)
  • [01-04]: localResults separato in OutputReview per edit inline senza mutare cache TanStack Query
  • [verification-fix]: GenerateResponse include calendar per badge PN/Schwartz nel frontend
  • [02-01]: PromptService init lazy via _get_prompt_service() per sincronizzazione con lifespan directory

Blockers/Concerns

  • [Phase 1]: Validare token usage reale per batch 13 post con claude-sonnet-4-5 — inter_request_delay=2.0s configurato, da validare in produzione
  • [Phase 1]: Baseline qualita' prompt italiani da validare dopo prima generazione reale
  • [Deploy]: Phase 1 completa — serve vps-lab-deploy per testare end-to-end il sistema

Session Continuity

Last session: 2026-03-08 Stopped at: Completed 02-01-PLAN.md (Prompt CRUD + Prompt Editor UI) Resume file: None

Next Actions

  1. Eseguire 02-02-PLAN.md (Output Review enhancements)
  2. Completare Phase 2
  3. vps-lab-deploy per deployare su VPS e testare end-to-end