Story: Close systemic codegen gaps
Table of Contents
This page documents a story in Sprint 25. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
(Describe the user-visible outcome this story delivers.)
Status
| Field | Value |
|---|---|
| State | BACKLOG |
| Parent sprint | Sprint 25 |
| Now | Not yet started. |
| Waiting on | Nothing. |
| Next | Break the story into tasks. |
| Last touched | 2026-08-06 |
Acceptance
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Codegen leaves new entities unwired: RLS policies and the create/drop aggregators | BACKLOG | No template in ores.codegen emits ENABLE ROW LEVEL SECURITY/CREATE POLICY for entities with :has_tenant_id: true, and generated per-table SQL is never linked into the component's hand-maintained *_create.sql/_drop.sql aggregator (the \ir include list) – both are manual steps every entity author has to remember, and both were missed while adding the CRM config tables. | ||
| Codegen the history-provider registrar wiring | BACKLOG | refdata's registrar.cpp is a monolithic hand-maintained file of near-identical register_history_provider() blocks per entity; this should be a codegen archetype instead. |