Story: Calendar follow-ups: remaining hand-written list pagination cleanup

Table of Contents

This page documents a story in Product backlog — inbox, carried unfinished from Sprint 24 at close. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Split from Calendar entity follow-ups at sprint 24 close: three follow-on tasks discovered while implementing that story's pagination fix, not required by its acceptance – carried forward as their own story rather than left dangling on a closed one.

Status

Field Value
State BACKLOG
Carried from Sprint 24 (unfinished at close)
Now Not yet started.
Waiting on Nothing.
Next Pick up one of the three tasks.
Last touched 2026-08-03

Acceptance

  • Remaining hand-written Qt list entities missing has_pagination are paginated; legacy primary-key heading models are fixed; Qt-drawer hand-authored entities missing from the backfill are covered.

Tasks

Task State Start End Description
Backfill missing Qt drawer for 5 hand-authored dq Qt entities BACKLOG     catalog, change_reason_category, change_reason, data_domain, and subject_area (all ores.dq) have a real codegen .org entity model, but that model has no ** Qt drawer at all – their generated-looking Qt client models, controllers, detail dialogs, and MDI windows exist in the codebase but were hand-authored outside codegen, never driven by the model. Regenerating any facet of these entities would not touch their Qt layer at all (codegen has nothing to emit for it), so unlike the has_pagination task's main fix, adding :has_pagination: true to these models would be a no-op. Discovered while scoping the has_pagination pagination-truncation task, which excluded these 5 as out of reach of the mechanical model-flip fix.
Fix legacy Primary key heading blocking codegen regen on 70+ models BACKLOG     70+ codegen entity .org models across the repo declare their primary key using an old, now-unsupported top-level heading (Primary key, with column/type/cpp_type properties) instead of the current convention (a field inside Columns flagged with primary_key true). org_loader.py's load_org_model() only recognises the latter, so any regeneration of these models fails with a Missing primary key error. Discovered while fixing the has_pagination truncation bug: 14 of 43 target entities hit this and were excluded from that task's scope.
Decide fate of 11 hand-written Qt list entities silently capped at 100 rows BACKLOG     11 entities (role, system_setting, dataset, dataset_dependency, methodology, nature_dimension, origin_dimension, telemetry_log, treatment_dimension, coding_scheme, coding_scheme_authority_type) have no codegen .org model at all – their Qt client models are entirely hand-written, predating the entity_org migration. None of their MdiWindows show a PaginationWidget, so unlike the has_pagination truncation bug, they present no misleading pagination affordance – they are honest flat lists, just silently capped at the server's default 100-row limit with no visible indication more rows exist. Discovered while scoping the has_pagination pagination-truncation task, which excluded these 11 as out of its actual bug definition.

Decisions

Out of scope

Emacs 29.3 (Org mode 9.6.15)