Task: B6: Make C++/Qt section optional with #+has_qt: false guard
This page documents a task in the Resolve codegen model unification blockers story. It captures the goal, current status, acceptance, and any notes or results.
Goal
A domain_entity model with #+has_qt: false in its frontmatter does not dispatch the qt profile and does not require the * C++ / ** Qt section to be present in the org file. load_org_model() no longer hard-fails when the Qt subsection is absent.
Status
| Field | Value |
|---|---|
| State | ABANDONED |
| Parent story | Resolve codegen model unification blockers |
| Now | Not yet started. |
| Waiting on | Nothing. |
| Next | Begin implementation. |
| Last touched | 2026-06-27 |
Acceptance
- Entity with #+has_qt: false generates no Qt files
- Entity with #+has_qt: false can omit the * C++ / ** Qt section entirely without parse error
- Entity without #+has_qt: (or with #+has_qt: true) behaves exactly as before
- Flag is documented in the org entity meta model
Plan
(Implementation strategy. Written when work starts; key decisions
are distilled into the parent story's * Decisions at close, but the
plan itself stays — it is the historical record of what we did.)
Notes
PRs
| PR | Title |
|---|---|
Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
Result
Abandoned. The #+has_qt: false flag was a single-purpose boolean that would have proliferated
as new facets were added. Replaced by B5, which implements the generic MASD address-based
mechanism: :ores.cpp.qt.enabled: false in the entity's :PROPERTIES: drawer disables the
Qt facet without any new code paths or flags. See Applied MASD and ORE Studio Variability Model.