Task: Inventory all DQ entities and their current codegen/hand-written status

Table of Contents

This page documents a task in the Commission ores.qt.dq — full-stack codegen for the DQ component story. It captures the goal, current status, acceptance, and any notes or results.

Goal

Inventory every DQ entity in ores.dq.core/repository and classify it by codegen/hand-written status (core, service/handler/protocol, Qt), so the parent story has a concrete, complete list of what remains to commission.

Status

Field Value
State DONE
Parent story Commission ores.qt.dq — full-stack codegen for the DQ component
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-07-17

Acceptance

  • Every entity under ores.dq.core/repository/*_entity.hpp is accounted for.
  • Each entity is classified: has codegen .org model? core generated? service/handler/protocol generated or hand-written? Qt layer generated, hand-written, or absent?
  • At least one follow-on task exists naming the entities to commission next.

Plan

Diff the entities in projects/ores.dq/core/include/ores.dq.core/repository/*_entity.hpp against the codegen models in projects/ores.dq/modeling/*.org and the hand-written Qt sources in projects/ores.qt/dq, then record the result.

Notes

Inventory (22 repository entities)

Core commissioned, Qt not yet (NOT fully commissioned)

Entity Codegen model
artefact_type artefact_type_lookup_entity.org
badge_mapping badge_mapping_junction.org
dataset_bundle dataset_bundle.org
dataset_bundle_member dataset_bundle_member_junction.org

Partially commissioned — codegen model exists, but hand-written handler/service/protocol + hand-written Qt

(already the subject of the sibling task "Migrate badge_definition/badge_severity/code_domain to standard codegen + DQ publishing")

  • badge_definition
  • badge_severity
  • code_domain

Not commissioned at all — no codegen .org model, no generated core/service/handler/protocol, no Qt

Named in the story description:

  • catalog
  • change_reason
  • change_reason_category
  • data_domain
  • subject_area

Additional entities found during this inventory, not named in the story description — same "no model at all" status:

  • coding_scheme
  • coding_scheme_authority_type
  • dataset
  • dataset_dependency
  • fsm_state
  • fsm_transition
  • methodology
  • nature_dimension
  • origin_dimension
  • publication
  • treatment_dimension

Qt layer (projects/ores.qt/dq)

Hand-written, no CMakeLists.txt (not wired into the build as a plugin library) — covers only badge_definition, badge_severity, code_domain. Every other entity has no Qt presence at all.

Follow-on task

Scaffolded Commission catalog/change_reason/change_reason_category/data_domain/subject_area onto standard codegen covering the five "no model at all" entities explicitly named in the story description — all simple code-list-shaped reference entities (tenant_id/version/description + standard audit/temporal columns, one with a category_code/applies_to_* flag set). The remaining eleven entities discovered during this inventory but not named in the story (coding_scheme(+authority_type), dataset(+dependency), fsm_state/transition, methodology, nature/origin/treatment_dimension, publication) are left for subsequent follow-on tasks — several of them (fsm_state/transition, the *_dimension trio) look like they may share a common shape and could be worth commissioning as a group once that's confirmed.

Test Scenarios

Manual QA scenarios (scaffolded via compass add test_scenario, run through the QA Validation Runner panel) that verify this task. Link new ones here as they're created; the scenario doc itself links back via its "Verifies task" field.

Scenario State Notes
     

PRs

PR Title
   

Review

Comment summary File Decision Notes
       

Result

All 22 DQ repository entities classified: 4 core-only commissioned, 3 partially commissioned (model exists, handler/service/protocol/Qt hand-written — sibling task), 16 with no codegen model at all (5 named in the story, 11 discovered here). Two follow-on tasks scaffolded from this inventory: 819B050A (commission the 5 story-named entities) and, via the promoted capture EE237306/new sibling 7B59588B, the scaffold+lint tooling to make future commissioning knob-complete by construction.

Emacs 29.3 (Org mode 9.6.15)