From b80f0563b83e364794fb78ab0781aa8cf9bbde97 Mon Sep 17 00:00:00 2001 From: Simone Cavalli Date: Sun, 14 Jun 2026 21:21:37 +0200 Subject: [PATCH] docs(12-01): fix markdown lint formatting in summary - Add blank lines around headings and lists per MD022/MD032 --- .../12-01-SUMMARY.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.planning/phases/12-offer-composition-drag-drop-csv-import/12-01-SUMMARY.md b/.planning/phases/12-offer-composition-drag-drop-csv-import/12-01-SUMMARY.md index cb6559d..70a6bae 100644 --- a/.planning/phases/12-offer-composition-drag-drop-csv-import/12-01-SUMMARY.md +++ b/.planning/phases/12-offer-composition-drag-drop-csv-import/12-01-SUMMARY.md @@ -60,6 +60,7 @@ completed: 2026-06-14 - **Files modified:** 4 ## Accomplishments + - Extended `offer_macros` with 9 additive columns: `description`, `category`, `ticket`, `is_archived`, and 5 structured transformation-promise fields (`cliente_ideale`, `risultato`, `tempo`, `pain`, `metodo`) - Extended `offer_micros` with `tier_letter` (A/B/C, CHECK-constrained at SQL level) and `public_price` (numeric) - Added new `offer_tier_services` junction table (tier <-> unified `services` catalog), its relations, and `OfferTierService`/`NewOfferTierService` types — without touching the legacy `offer_micro_services`/`offer_services` tables @@ -76,12 +77,14 @@ Each task was committed atomically: **Plan metadata:** (this commit, follows) ## Files Created/Modified + - `src/db/schema.ts` - Additive columns on offer_macros/offer_micros, new offer_tier_services table + relations + types - `src/db/migrations/0008_offer_tier_schema.sql` - Hand-written additive/idempotent migration (ALTER TABLE ADD COLUMN IF NOT EXISTS, guarded CHECK constraint, CREATE TABLE IF NOT EXISTS, CREATE INDEX IF NOT EXISTS) - `src/db/migrations/meta/_journal.json` - Appended entry for `0008_offer_tier_schema` (idx 8, following 0006 entry shape) - `scripts/push-12-offer-tier-schema.ts` - Idempotent push script for Plan 02's BLOCKING production-apply step ## Decisions Made + - `tier_letter` validated via DB-level CHECK constraint (guarded DO block, idempotent) rather than a Drizzle-native enum/CHECK helper (unavailable in this pg-core version); Zod enum validation will be added at the server-action layer in Plan 03 as defense-in-depth (per plan's T-12-02 mitigation) - `offer_tier_services` is a brand-new additive junction table (not a modification of `offer_micro_services`), pointing at the unified `services` catalog (Phase 11) rather than the deprecated `offer_services` table, per D-6/D-3 @@ -98,10 +101,28 @@ A `cd /Users/simonecavalli/Vault/IAMCAVALLI` in one intermediate Bash call cause None - no external service configuration required. Note: migration 0008 and the push script are created here only; per the plan and project memory, the actual production apply (SSH+docker exec) is Plan 02's BLOCKING step and is NOT performed in this plan. ## Next Phase Readiness + - `src/db/schema.ts` compiles cleanly (`npx tsc --noEmit` passes, zero errors) and exposes all Phase 12 additive columns/table/types needed by Plan 03's query layer and server actions - Migration 0008 + push script are ready for Plan 02 to apply to production via SSH+docker exec before Wave 3 code reads `offer_tier_services`/`tier_letter`/`public_price`/`category`/`ticket` - No existing table/column was dropped, renamed, or altered destructively — `clients`/`projects`/`payments`/`phases` and legacy offer tables (`offer_micro_services`, `offer_services`) remain byte-identical --- + *Phase: 12-offer-composition-drag-drop-csv-import* *Completed: 2026-06-14* + +## Self-Check: PASSED + +All created/modified files verified present on disk: + +- FOUND: src/db/schema.ts +- FOUND: src/db/migrations/0008_offer_tier_schema.sql +- FOUND: src/db/migrations/meta/_journal.json +- FOUND: scripts/push-12-offer-tier-schema.ts +- FOUND: .planning/phases/12-offer-composition-drag-drop-csv-import/12-01-SUMMARY.md + +All task commits verified present in git log: + +- FOUND: 11d6c11 (Task 1) +- FOUND: 89d15ee (Task 2) +- FOUND: bfc9932 (docs: complete plan)