Story: Hotfix: Domain generator omits the Boost UUID I/O include
Table of Contents
This page documents a story in Sprint 27. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
1. Goal
The CI build fails in
projects/ores.iam/api/src/generators/run_grant_generator.cpp with
error: 'to_string' is not a member of 'boost::uuids'. The
domain-entity synthetic-generator template emits a model's
generator_expr verbatim, but it never includes
<boost/uuid/uuid_io.hpp>, the header that declares
boost::uuids::to_string. Any entity whose generator_expr renders a
UUID as text therefore fails to compile. run_grant is the first such
entity. This hotfix emits the include when a generator_expr calls
boost::uuids::to_string, and regenerates the affected file.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 27 |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-10-06 |
3. Acceptance
ores.iam.api.libbuilds with the regeneratedrun_grant_generator.cpp.- The generated file includes
<boost/uuid/uuid_io.hpp>only when agenerator_exprcallsboost::uuids::to_string. - No other generated file changes.
projects/ores.codegen/testspasses.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Scaffold story: Hotfix: Domain generator omits the Boost UUID I/O include | DONE | 2026-10-06 | 2026-10-06 | Story scaffolding rides this task: documents, sprint wiring, and the scaffold PR. Close it before merging that PR. |
| Implement Hotfix: Domain generator omits the Boost UUID I/O include | DONE | 2026-10-06 | 2026-10-06 | Add the Boost UUID I/O include to the domain-entity generator template, gated on a generator_expr that calls boost::uuids::to_string, and regenerate run_grant_generator.cpp. |
5. Decisions
- The include is conditional, not unconditional. The junction section of
the same template already gates
<boost/uuid/uuid_io.hpp>onhas_uuid_left_or_right, and an unconditional include would land an unused header in every generated generator file. - The durable fix lives in the org template source and
core.py, not inrun_grant_generator.cpp. The generated file is tangled output and would drift back on the next regeneration.
6. Out of scope
7. Result
Shipped in PR #2689. The CI failure is cleared once that PR merges.