Task: B6: Make C++/Qt section optional with #+has_qt: false guard

Table of Contents

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.

Emacs 29.1 (Org mode 9.6.6)