Task: Prove the Windows build

Table of Contents

This page documents a task in the Refactor conventions onto families and bundles — the remaining work story. It captures the goal, current status, acceptance, and any notes or results.

1. Goal

The tree builds on Windows with MSVC, the compiler that refused to instantiate the conventions aggregate. A green MSVC build is the proof that the refactor reached its goal, because the failure that started it can no longer be reproduced.

2. Status

Field Value
State BACKLOG
Parent story Refactor conventions onto families and bundles — the remaining work
Now Not started. No MSVC build has run against this work.
Waiting on Task 1 and task 8, which remove the types MSVC refused.
Next Get an MSVC job onto the branch and record what it reports.
Last touched 2026-10-18

3. Acceptance

  • An MSVC build compiles the refdata and ores translation units on Windows.
  • The build passes without a compiler flag that raises the constexpr evaluation depth.
  • The same tree is green on Linux and macOS, so the Windows result is not a divergent configuration.
  • The build the job runs is recorded, with the preset and the command, so a reader can repeat it.

4. Plan

Get an MSVC build onto the branch, record the preset and the command, then fix what it reports without a flag that raises the constexpr depth.

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
       

6. Notes

  • The investigation in Fix the tenor basis swap convention model and the document TU found the failure is accumulated context in one handler translation unit, not one over-wide literal. That changes what this task waits for. The conventions document is already out of the handler, so the remaining pressure is the curve configuration document, which is task 8.
  • The flag /constexpr:depth is not an acceptable fix for these translation units. A tree that needs it there has a data model the compiler cannot reflect, and raising the limit hides that. ores.trading.api already sets the flag for its own sources, so the objection is scoped to the files this story moves.

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
   

9. Review

Comment summary File Decision Notes
       

10. Result

Emacs 29.3 (Org mode 9.6.15)