Files
mercadodevida/work/artifacts/F-144/documenter.md
2026-08-22 12:40:23 +02:00

1.6 KiB

F-144 — Documenter evidence

Scope of documentation change

F-144 is schema-only (DB columns). It does not change the reporting API surface or any user-facing behavior: GET /reporting/filters/schema and GET /reporting/filters/validate (F-143) are unchanged, and no new route is added.

What was already documented (no update needed)

docs/reporting/REPORTING_ARCHITECTURE.md §5 ya describe los snapshots requeridos y el riesgo:

  • §5.1 (p.22): orders_orders "No tiene store_id directo" → cubierto por F-144 (ahora store_id).
  • §5.2 / §5.9 (p.23): orders_items "No guarda cost_at_sale, tipo de IVA, marca/categoría snapshot" → F-144 añade cost_at_sale_cents + vat_rate (marca/categoría postergados a F-145/F-146).
  • §5.6 (p.83-88): "Ventas netas sin portes" / "IVA por tipo" / "Margen histórico" → F-144 añade shipping_cents separado + snapshots de coste/IVA (nulos hasta F-146).
  • SQL esperado (p.97-98, 101-102, 194, 198): store_id NOT NULL + index, cost_at_sale_cents/vat_rate nullable, shipping_cents. Todo implementado tal cual.
  • dataAvailability sigue siendo metadata-only (F-138 §4 / F-143 §4): valores nulos se exponen como unavailable, NUNCA como 0 → invariante preservada.

Decision

No se requiere update de docs/API/contracts/user-facing notes. El document stage se marca completo con este registro de alcance cero, consistente con el gate document (optional) de harness/workflow.stages.yml. La evasión intencional del ADD CONSTRAINT IF NOT EXISTS (no soportado por PG16) hacia el DO $$ guard quedó registrada en architect.md §Consequences y en work/artifacts/F-144/implementer.md.