Task: Investigate the configuration document protocol's translation unit
Table of Contents
This page documents a task in the Fix the tenor basis swap convention model and the document TU story. It captures the goal, current status, acceptance, and any notes or results.
1. Goal
The width of the configuration document protocol's translation unit is measured, the failing literal is identified, and the reason the per-entity protocol split does not reach it is stated, so the follow-on split is designed from evidence.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | Fix the tenor basis swap convention model and the document TU |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-10-14 |
3. Acceptance
- The translation unit is measured at a named commit: its include count, the reflected types its encode path reaches, and the field count of each reflected literal.
- The investigation states whether the C1202 is TU-context saturation or a single over-wide literal, using the two modes recorded in the rfl complexity investigation.
- The investigation states why the per-entity protocol split does not reduce this translation unit, and names the smallest split that would.
- The findings are recorded as an investigation document under the story, and the durable conclusions are placed on the page that owns them.
4. 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.)
5. Measurements
Every number this task claims about a tree, with the command that produced it
and the commit it was measured at. A number without both is not a measurement,
because a clean-up record describes a tree and trunk moves under a branch: a
consumer count, a gate's component count and a suite's size all change with no
code changing, and the reader of a bare number cannot tell which tree it came
from. Where the raw output matters, put it in an evidence/ file beside the
task and name that file in the Command column.
| What | Value | Command | Commit |
|---|---|---|---|
| Failed units in the Windows MSVC debug job | 1 | gh run view --job 115483009852 --log |
5418a8db3 |
| Repository headers in the handler unit | 103 | python3 evidence/measure_handler_tu.py |
c5ac470c94 |
| Third-party include sites in the handler unit | 371 | python3 evidence/measure_handler_tu.py |
c5ac470c94 |
| Repository headers in the control unit | 12 | python3 evidence/measure_handler_tu.py |
c5ac470c94 |
Element types in conventions_document |
25 | python3 evidence/measure_handler_tu.py |
c5ac470c94 |
Element types in curve_configuration_document |
33 | python3 evidence/measure_handler_tu.py |
c5ac470c94 |
6. Notes
7. Test Scenarios
Manual QA scenarios (scaffolded via compass add test_scenario)
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 |
|---|---|---|
8. PRs
| PR | Title |
|---|---|
| #3282 | [doc] Record why the configuration document unit fails C1202 |
9. Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
10. Result
The C1202 is context accumulation, not one over-wide literal. The
windows-msvc-debug-ninja job of run 38451315943 has exactly one
failed unit, the handler. The control unit
tenor_basis_swap_convention_json_io.cpp reflects the same 24-member
struct from 12 repository headers and built at step [974/7099], while
the handler reaches 103 repository headers, 58 document element types
and failed at [2017/7099].
The per-entity split does not reach the handler because the document model is an operation model that hand-lists 60+ domain includes and re-aggregates what the 149 per-entity protocols separate.
The smallest split is two operation models, one per document family.
The findings are on
Why the configuration
document protocol unit is wide, and the durable rule is on
Data-Oriented Design in ORE
Studio. The lever and its raw output are in evidence/ beside this
task. compass check passed 6/6.