Story: Make first-generation component scaffolding opt-in

Table of Contents

This page documents a story in Sprint 26. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

1. Goal

(Describe the user-visible outcome this story delivers.)

2. Status

Field Value
State DONE
Parent sprint Sprint 26
Now Nothing.
Waiting on Nothing.
Next Break the story into tasks.
Last touched 2026-09-26
End 2026-09-26

3. Acceptance

4. Tasks

Task State Start End Description
Make the first-generation scaffold opt-in DONE 2026-09-26 2026-09-26 Move the stub trio and the umbrella header into a default-disabled ores.cpp.scaffold facet, so a normal regeneration of an existing component never recreates them.

5. Decisions

  • First-generation scaffolding is opt-in, and the opt-in is one line. The facet is `#+default: disabled`; a component asks for it with `:ores.cpp.scaffold.enabled: true`, which the overview scaffold writes for a new component and which the first real model retires.
  • The address states the lifetime. The scaffold used to sit in `ores.cpp.component`, so "first-generation only" was a convention nobody could see. A facet of its own makes it structural.
  • A component's umbrella header is scaffolding too. The same run showed it recreated for a component that had deleted it; it moved with the stubs.

6. Out of scope

7. Result

Not yet started.

Emacs 29.3 (Org mode 9.6.15)