diff --git a/backend/migrations/034_cached_rfc_meta.sql b/backend/migrations/034_cached_rfc_meta.sql new file mode 100644 index 0000000..0122aab --- /dev/null +++ b/backend/migrations/034_cached_rfc_meta.sql @@ -0,0 +1,12 @@ +-- §22.4a SLICE-3 — configurable collection metadata: cache per-entry values. +-- +-- Faceted filtering (§5.1) needs each entry's metadata values (priority, custom +-- enum/tags fields) to compute facet counts and honour filter params. Today the +-- mirror keeps only `tags_json` + the lifecycle columns and drops `Entry.extra`, +-- so a declared field's values are unrecoverable. This column persists the full +-- per-entry metadata mapping (`metadata.metadata_dict(entry)`, known keys + +-- extra, never the body) as JSON, so `app/facets.py` can read any declared +-- field uniformly. Additive + nullable — no rebuild. NULL = not yet re-ingested +-- (the reconciler/webhook fills it on the next sweep) → that entry contributes +-- no facet values until then. SLICE-4/5 edit panels read the same column. +ALTER TABLE cached_rfcs ADD COLUMN meta_json TEXT;