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.

Emacs 29.3 (Org mode 9.6.15)