Story: Commission remaining DQ entities

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 Sprint 23's Commission ores.qt.dq — full-stack codegen for the DQ component at close: that story shipped catalog/change_reason/ change_reason_category/data_domain fully commissioned onto standard codegen, plus the lookup_entity→domain_entity architecture unification that unblocked them. This story finishes the remaining DQ-entity-specific scope:

  1. Commission subject_area (the fifth entity, deliberately deferred because its compound natural key doesn't fit the current templates).
  2. Migrate ores.qt.data_management's 14 DQ-owned entities' history dialogs onto the generic HistoryDialog, standing up ores.qt.dq as a real plugin.
  3. Fix the change_reason_code-not-assigned bug still present in ~8 Qt detail dialogs (already fixed in the 4 entities migrated so far).
  4. Fix the Data Librarian navigation tree regression (no longer shows datasets), which surfaced during last sprint's DQ commissioning work.

General codegen-infrastructure gaps surfaced along the way but not specific to DQ (entity lint, NATS facet consolidation, the remaining 10 non-DQ lookup_entity migrations, and the compound natural-key SQL support this story's subject_area task depends on) are tracked separately in Codegen infrastructure follow-ups from DQ commissioning.

Status

Field Value
State BACKLOG
Carried from Sprint 24 (unfinished at close)
Now Plugin-ownership half of task 2 done: all 13 remaining ores.qt.data_management DQ entities (catalog, change_reason, change_reason_category, coding_scheme, coding_scheme_authority_type, data_domain, dataset, dataset_bundle, methodology, nature/origin/treatment_dimension, subject_area) plus the Data Librarian infra moved into ores.qt.dq verbatim; ores.qt.data_management deleted entirely (empty plugin decommissioned, not left as a shell). Their per-entity HistoryDialog classes moved as-is, unchanged – the generic HistoryDialog migration task 2 also names is still open.
Waiting on subject_area's codegen commissioning still blocked on 52FE40FA; its Qt UI already moved with the rest and needs no further plugin work.
Next Generic-HistoryDialog migration (7E714F07), the change_reason_code-not-assigned bug (5DF07DAD), or subject_area's codegen commissioning once unblocked.
Last touched 2026-08-06

Acceptance

  • subject_area commissioned onto standard codegen, same as the other four DQ entities from the parent story.
  • All 14 ores.qt.data_management DQ-owned entities' history dialogs migrated onto the generic HistoryDialog; ores.qt.dq stood up as a real, built Qt library/plugin.
  • The change_reason_code-not-assigned bug fixed in every remaining affected dialog.
  • Data Librarian's navigation tree shows datasets again.

Tasks

Task State Start End Description
Commission subject_area onto standard codegen BLOCKED     Finish the fifth entity split out of 819B050A: author subject_area's codegen .org model with its compound natural key (name, domain_name) properly expressed, regenerate core/repository/service/handler/protocol, retire hand-written equivalents. Blocked on compound natural-key support in lookup_entity/table SQL templates (52FE40FA).
Migrate ores.qt.data_management's history dialogs to the generic HistoryDialog BACKLOG     14 DQ-owned entities live in ores.qt.data_management with hand-written backend glue and legacy per-entity HistoryDialog classes. Author codegen models for the 12 that have none, then migrate all 14 onto the generic HistoryDialog.
Fix change_reason_code never assigned before save in ~9 Qt detail dialogs BACKLOG     ~8 remaining dialogs (CodingSchemeAuthorityTypeDetailDialog, CodingSchemeDetailDialog, DataDomainDetailDialog, MethodologyDetailDialog, NatureDimensionDetailDialog, OriginDimensionDetailDialog, SubjectAreaDetailDialog, TreatmentDimensionDetailDialog) still have the promptChangeReason()/change_reason_code-not-assigned bug already fixed in catalog/change_reason/change_reason_category.

Decisions

Out of scope

Emacs 29.3 (Org mode 9.6.15)