• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wegamekinglc / Derivatives-Algorithms-Lib / 28253635416
80%
master: 81%

Build:
Build:
LAST BUILD BRANCH: docs/full-review-and-perf-reflect
DEFAULT BRANCH: master
Ran 26 Jun 2026 05:32PM UTC
Jobs 1
Files 216
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Jun 2026 05:13PM UTC coverage: 80.341%. Remained the same
28253635416

push

github

wegamekinglc
docs: address critic review of joint multi-curve Jacobian section

Close five content gaps the dal-critic flagged on PR #137 so more source
comments can be safely trimmed downstream. Each claim verified against the
cited source before writing.

- M1 (Eligibility): the joint path supports PIECEWISE_LINEAR_FWD and
  PIECEWISE_CONSTANT_FWD only; LOG_DISCOUNT and ZERO_RATE throw a hard REQUIRE
  at validation on BOTH the BUMPED and ANALYTIC paths -- not an eligibility
  gate. State this so the existing "ANALYTIC never throws" line cannot be read
  as blanket.
- Single-threaded note: CalibrateJointMultiCurve uses a thread-local AAD tape
  cleared by a TapeGuard_ on entry/exit, so concurrent calls would corrupt the
  tape.
- M2 (PWL integration): templated Tape::DiscountPWLF_<T_,B_> is non-storable
  (Write is REQUIRE(false)); only the anonymous-namespace double DiscountPWLF_
  in ycimp.cpp is serializable, and that is what the bumped path and any
  persistent result curve use.
- M3 (PWL integration): the Number_-typed curve is built directly from
  tape-registered forward parameters; ApplyDX is never invoked on the AAD path
  -- the reason the class holds flat Vector_<T_> members rather than a
  templated interpolator.
- M4 (sparse-by-row): the joint smoother is block-diagonal (one per-slot
  SelfCouplePWC call at paramOffset, no cross-declaration entries), so it adds
  no coupling beyond what the residual map's routing establishes. Reworded the
  earlier "every parameter of every other declaration is zero" overstatement:
  a forward-declaration residual does touch OIS-discount params via the leg and
  via base layering, so those cross-declaration entries are genuinely nonzero;
  the zeros sit only at parameters no residual reaches by any route.

PR body (M6) also corrected separately via gh api: the migration covers 5 joint
curve headers + 2 .cpp files, not 8 -- yclogdf.hpp, ycctx.hpp, discount.hpp are
single-curve and covered by aad.md's Tape-Layer Primi... (continued)

6318 of 7864 relevant lines covered (80.34%)

3189287.03 hits per line

Jobs
ID Job ID Ran Files Coverage
1 28253635416.1 26 Jun 2026 05:32PM UTC 216
80.34
GitHub Action Run
Source Files on build 28253635416
  • Tree
  • List 216
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28253635416
  • a67dc63a on github
  • Prev Build on docs/simplify-comments-phase7 (#28253043839)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc