Story: Decommission ores.codegen.table model type
Table of Contents
This page documents a story in Sprint 22. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
Eliminate the ores.codegen.table model type entirely. Every refdata table that currently uses a _table.org model must be converted to ores.codegen.entity so that all code generation (SQL, C++, Qt) flows from a single unified model. Once all table models are migrated, remove the table model type from the facet catalogue, the component catalogue, and the generator.
Status
| Field | Value |
|---|---|
| State | ABANDONED |
| Parent sprint | Sprint 22 |
| Now | Closed — reconciled into a sibling story. |
| Waiting on | Nothing. |
| Next | See Resolve codegen model unification blockers. |
| Last touched | 2026-07-10 |
Acceptance
- All _table.org files converted to ores.codegen.entity format. Zero ores.codegen.table entries remain in the codegen model corpus. The table profile is removed from the facet catalogue. Codegen regenerate runs cleanly with zero diff on the migrated entities. The schema reference doc is updated to mark table as removed.
Tasks
Resolved 2026-07-10 by comparing against the sibling story Resolve codegen model unification blockers, which independently covered most of this same ground: 4 tasks below were already done there (B1-B3, B5), 1 was a live duplicate of still-open work there (B4), and the 2 tasks with no equivalent were moved across as real work rather than left stranded in a closed story.
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Detect model type from #+type: frontmatter, not filename suffix | DONE | 2026-07-10 | Done via B2 in the sibling story. | |
| Unify the SQL template to support validation function and insert trigger from entity models | DONE | 2026-07-10 | Done via B1 in the sibling story. | |
| Merge the org parsers: teach load_org_model() to parse Validation function and Insert trigger sections | DONE | 2026-07-10 | Done via B3 in the sibling story. | |
| Add variability guards: introduce #+sql_only and #+has_qt flags to the entity schema | DONE | 2026-07-10 | Superseded by B5's better property-drawer mechanism in the sibling story, which explicitly replaces this ad-hoc flag approach. | |
| Migrate content: move _table.org sections into entity files and delete table files | (moved) | 2026-07-10 | Moved to the sibling story — real remaining work, no equivalent task there. | |
| Collapse components: merge refdata and refdata-cpp into a single component | ABANDONED | 2026-07-10 | Duplicate of B4 in the sibling story, still open there — tracked once, not twice. | |
| Retire the table model type: remove the table branch from the generator and profile matrix | (moved) | 2026-07-10 | Moved to the sibling story — real remaining work, no equivalent task there. |
Decisions
Out of scope
- Junction table models (
party_currency_junction,party_country_junction,party_counterparty_junction) — junction is a distinct model type and is not affected by this story.