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.

1. 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.

2. 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

3. 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.

4. 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.

5. Notes

5.1. Inventory (22 repository entities)

5.1.1. 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

5.1.2. 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

5.1.3. 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

5.1.4. 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.

5.2. 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.

6. 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
     

7. PRs

PR Title
   

8. Review

Comment summary File Decision Notes
       

9. 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)