Task: Investigate RFL complexity root cause

Table of Contents

This page documents a task in the Resolve RFL complexity issues story. It captures the goal, current status, acceptance, and any notes or results.

Goal

Analyze the root cause of Clang and MSVC compilation failures related to reflect-cpp complexity in ClientManagerTrades.cpp and propose a permanent resolution strategy.

Status

Field Value
State DONE
Parent story Resolve RFL complexity issues
Now Complete.
Waiting on Nothing.
Next None.
Last touched 2026-05-23

Acceptance

  • Root cause for Clang's "expression nesting limit" identified.
  • Root cause for MSVC's "C1202" identified.
  • Permanent resolution strategy (Triple Isolation) proposed.
  • Investigation report published.

Plan

  • Analyze compiler error logs from failed CI runs.
  • Review reflect-cpp internal headers for complexity drivers.
  • Map the domain types (trade, trade_instrument) to the failure points.
  • Research history of previous workarounds in the codebase.
  • Synthesize findings into a formal report.

PRs

PR Title
#805 [doc,codegen] Minor doc fixes and uppercase UUID invariant

Notes

  • Identified that rfl::internal::no_duplicate_field_names is the O(N²) driver.
  • Identified that trade_instrument variant is the primary complexity source.
  • Discovered that previous workarounds were reverted prematurely.

Result

Emacs 29.1 (Org mode 9.6.6)