Skip to content

Add provider-neutral fixed-income analytics workflows and durable recovery - #132

Closed
sujitn wants to merge 319 commits into
mainfrom
codex/production-readiness-pr
Closed

sujitn wants to merge 319 commits into
mainfrom
codex/production-readiness-pr

Conversation

@sujitn

@sujitn sujitn commented Oct 19, 2026

Copy link
Copy Markdown
Owner

Adds a provider-neutral fixed-income workflow to the existing HTTP server and
analytics library for bonds, CDS, IRS/OIS and futures. Exact reference, curve,
fixing, position and market-data revisions assemble immutable snapshots; pricing,
risk, hedge proposals and causal P&L persist through source updates, stream gaps,
fills, lifecycle/default/cash events, date rolls, checkpoints and restart recovery.

The combined branch includes the accumulated checked instrument, curve, model,
shared native/JSON/C/Java/MCP/WASM and convenience-route cleanup work. The runtime
uses the existing ports and local file/redb adapters. Independent model/convention,
platform and production acceptance remain open; all mandatory library records
remain Planned and the default production composition stays closed.

Seven required regression fixtures use Git LFS with their original bytes. Private
harness changes and historical compiled evidence stay outside this public PR.
Required CI checkouts fetch LFS data. The server container copies its required
capability metadata and excludes private harness, root test data and browser
artifacts. Its source-input compilation is verified; an actual Docker daemon is
unavailable locally. The incompatible automatic Fly deployment is removed.
The existing C-library build moves before its first parity consumer. All 935
required checks remain. The Treasury schema command now uses the existing pinned
jsonschema environment; its 378 valid requests and seven rejected mutations pass.

Run one core example after fetching test data:

git lfs pull
PYTHONDONTWRITEBYTECODE=1 python3 tools/core_roll_workflow.py

The example checks six trades, five risk factors, three date rolls and 48 persisted
results, including stale/missing-data rejection and worker crash/restart recovery.

Completed validation:

  • All 935 CI assurance checks have passing local receipts, including the final
    source and actual-main checks. Recorded Darwin library and temporary-directory
    adaptations preserve every script, financial case and assertion.
  • Full locked all-features workspace: 3,347 passed, zero failed, 78 existing
    ignored tests unchanged. All 45 core workflow/update/recovery steps and 13 offline
    comparison steps pass.
  • Strict workspace lint and documentation; four production regression probes.
  • 42 policy tests, 64 library/API tests and 131 workflow tooling tests.
  • Java 22: 47 tests in 40 suites, no failures/errors/skips, including all 8,549
    complete native requests through the actual FFM host.
  • Actual WASM/Node: all 8,549 complete requests match native envelopes; checked
    admission, absolute cash components, retired-output and dated-yield controls.
  • Both frontend builds and all five browser admission tests.
  • Unchanged 177-case contextual helper C parity; optimized unwind ABI smoke
    (11 exports, 44 invalid cases and a valid price).
  • Original fixture hashes, LFS fsck, empty-cache local retrieval, introduced Git
    blob-size scan and normal/actual-main/increment assurance.

The three exact owner-approved test adapters preserve every test, value,
assertion and tolerance. The full workspace, 64 library/API tests and core example
were qualified at d8f7fc4; the final CI environment correction changes no Rust,
API, dependency or fixture bytes. The current source passes 42 policy tests and
normal, actual-main and incremental assurance. All remaining assurance commands
pass, including every required all-target lint group and the final optimized ABI.
Windows/Excel, Linux/container execution and independently approved financial packs remain unavailable locally; no platform or production
certification is claimed.

sujitn added 30 commits October 7, 2026 20:50
@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 299 files, which is 199 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: add8eed2-9cd2-4a8e-afe2-0ac04870627b
📥 Commits

Reviewing files that changed from the base of the PR and between acc357b and feb8e88.

⛔ Files ignored due to path filters: 1
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing: 299
  • .dockerignore
  • .gitattributes
  • .github/workflows/ci.yml
  • .github/workflows/fly-deploy.yml
  • .github/workflows/java.yml
  • .github/workflows/release.yml
  • Cargo.toml
  • Dockerfile
  • README.md
  • bindings/java/README.md
  • bindings/java/native-headers/convex.h
  • bindings/java/src/main/java/com/convex/Convex.java
  • bindings/java/src/main/java/com/convex/ConvexAnalytics.java
  • bindings/java/src/main/java/com/convex/internal/ConvexFfi.java
  • bindings/java/src/main/resources/native/README.md
  • bindings/java/src/test/java/com/convex/CashBasisHedgeTest.java
  • bindings/java/src/test/java/com/convex/CausalPnlTest.java
  • bindings/java/src/test/java/com/convex/ChildCashPnlTest.java
  • bindings/java/src/test/java/com/convex/ChildMaturityPnlTest.java
  • bindings/java/src/test/java/com/convex/ClaimPnlTest.java
  • bindings/java/src/test/java/com/convex/CohortPnlTest.java
  • bindings/java/src/test/java/com/convex/ConcurrentClaimsPnlTest.java
  • bindings/java/src/test/java/com/convex/CustodyLineagePnlTest.java
  • bindings/java/src/test/java/com/convex/DatedCashPnlTest.java
  • bindings/java/src/test/java/com/convex/DeliveryHedgeTest.java
  • bindings/java/src/test/java/com/convex/FloatingWorkoutTest.java
  • bindings/java/src/test/java/com/convex/GraphHedgeTest.java
  • bindings/java/src/test/java/com/convex/IcmaGovernmentTest.java
  • bindings/java/src/test/java/com/convex/IcmaHelpersTest.java
  • bindings/java/src/test/java/com/convex/IcmaQuotationTest.java
  • bindings/java/src/test/java/com/convex/IcmaRiskTest.java
  • bindings/java/src/test/java/com/convex/IcmaWorkoutTest.java
  • bindings/java/src/test/java/com/convex/LibraryCashHelpersTest.java
  • bindings/java/src/test/java/com/convex/LibraryCashTest.java
  • bindings/java/src/test/java/com/convex/LibraryCensusTest.java
  • bindings/java/src/test/java/com/convex/LibraryCreditHelpersTest.java
  • bindings/java/src/test/java/com/convex/LibraryCurveFamiliesTest.java
  • bindings/java/src/test/java/com/convex/LibraryCurveMethodsTest.java
  • bindings/java/src/test/java/com/convex/LibraryMonotoneTest.java
  • bindings/java/src/test/java/com/convex/LibraryOperationsTest.java
  • bindings/java/src/test/java/com/convex/LibraryRateHelpersTest.java
  • bindings/java/src/test/java/com/convex/LibraryTest.java
  • bindings/java/src/test/java/com/convex/LibraryUfrTest.java
  • bindings/java/src/test/java/com/convex/LibraryWorkoutTest.java
  • bindings/java/src/test/java/com/convex/LotPnlTest.java
  • bindings/java/src/test/java/com/convex/MixedScenarioTest.java
  • bindings/java/src/test/java/com/convex/OptionalGraphHedgeTest.java
  • bindings/java/src/test/java/com/convex/PendingCashPnlTest.java
  • bindings/java/src/test/java/com/convex/PhysicalPartitionPnlTest.java
  • bindings/java/src/test/java/com/convex/RecoveryHedgeTest.java
  • bindings/java/src/test/java/com/convex/ResidualPnlTest.java
  • bindings/java/src/test/java/com/convex/RouteAdmissionTest.java
  • bindings/java/src/test/java/com/convex/SettledClaimsPnlTest.java
  • bindings/java/src/test/java/com/convex/SmokeTest.java
  • bindings/java/src/test/java/com/convex/TreasuryBillTest.java
  • crates/convex-analytics/Cargo.toml
  • crates/convex-analytics/examples/credit_comparison.rs
  • crates/convex-analytics/examples/offline_compare.rs
  • crates/convex-analytics/examples/readme_quickstart.rs
  • crates/convex-analytics/src/bond_contract.rs
  • crates/convex-analytics/src/bond_quote.rs
  • crates/convex-analytics/src/calibration/hw1f.rs
  • crates/convex-analytics/src/cash_calibration/build.rs
  • crates/convex-analytics/src/cash_calibration/fit.rs
  • crates/convex-analytics/src/cash_calibration/hedge.rs
  • crates/convex-analytics/src/cash_calibration/icma.rs
  • crates/convex-analytics/src/cash_calibration/inputs.rs
  • crates/convex-analytics/src/cash_calibration/mod.rs
  • crates/convex-analytics/src/cash_calibration/pricing.rs
  • crates/convex-analytics/src/cash_calibration/repo.rs
  • crates/convex-analytics/src/cash_calibration/reprice.rs
  • crates/convex-analytics/src/cash_quotation.rs
  • crates/convex-analytics/src/cash_quotation/icma.rs
  • crates/convex-analytics/src/cashflows/mod.rs
  • crates/convex-analytics/src/contracts.rs
  • crates/convex-analytics/src/credit_calibration.rs
  • crates/convex-analytics/src/credit_calibration/reprice.rs
  • crates/convex-analytics/src/credit_risk.rs
  • crates/convex-analytics/src/curve_inputs.rs
  • crates/convex-analytics/src/dto.rs
  • crates/convex-analytics/src/floating_coupon.rs
  • crates/convex-analytics/src/floating_coupon/derivatives.rs
  • crates/convex-analytics/src/floating_coupon/directional.rs
  • crates/convex-analytics/src/floating_coupon/inverse.rs
  • crates/convex-analytics/src/floating_coupon/prepared.rs
  • crates/convex-analytics/src/floating_coupon/scenario.rs
  • crates/convex-analytics/src/floating_coupon/whole_coupon.rs
  • crates/convex-analytics/src/futures/bond.rs
  • crates/convex-analytics/src/futures/cash.rs
  • crates/convex-analytics/src/futures/graph.rs
  • crates/convex-analytics/src/futures/mod.rs
  • crates/convex-analytics/src/futures/rates.rs
  • crates/convex-analytics/src/futures/settlement.rs
  • crates/convex-analytics/src/lib.rs
  • crates/convex-analytics/src/lifecycle/bond.rs
  • crates/convex-analytics/src/lifecycle/credit.rs
  • crates/convex-analytics/src/lifecycle/futures.rs
  • crates/convex-analytics/src/lifecycle/mod.rs
  • crates/convex-analytics/src/lifecycle/rates.rs
  • crates/convex-analytics/src/lifecycle/state.rs
  • crates/convex-analytics/src/lifecycle/types.rs
  • crates/convex-analytics/src/optional_bond/calibration.rs
  • crates/convex-analytics/src/optional_bond/mod.rs
  • crates/convex-analytics/src/optional_bond/pricing.rs
  • crates/convex-analytics/src/optional_bond/pricing/model_risk.rs
  • crates/convex-analytics/src/pricing.rs
  • crates/convex-analytics/src/quote_risk/coupon.rs
  • crates/convex-analytics/src/quote_risk/coupon_directional.rs
  • crates/convex-analytics/src/quote_risk/coupon_directional_record.rs
  • crates/convex-analytics/src/quote_risk/coupon_parameter.rs
  • crates/convex-analytics/src/quote_risk/finite.rs
  • crates/convex-analytics/src/quote_risk/graph.rs
  • crates/convex-analytics/src/quote_risk/mod.rs
  • crates/convex-analytics/src/quote_risk/optional.rs
  • crates/convex-analytics/src/quote_risk/optional_graph.rs
  • crates/convex-analytics/src/quote_risk/scenario.rs
  • crates/convex-analytics/src/quote_risk/types.rs
  • crates/convex-analytics/src/rate_calibration/build.rs
  • crates/convex-analytics/src/rate_calibration/fit.rs
  • crates/convex-analytics/src/rate_calibration/helpers.rs
  • crates/convex-analytics/src/rate_calibration/inputs.rs
  • crates/convex-analytics/src/rate_calibration/mod.rs
  • crates/convex-analytics/src/rate_calibration/reprice.rs
  • crates/convex-analytics/src/risk/calculator.rs
  • crates/convex-analytics/src/risk/cash.rs
  • crates/convex-analytics/src/risk/convexity/analytical.rs
  • crates/convex-analytics/src/risk/convexity/effective.rs
  • crates/convex-analytics/src/risk/convexity/mod.rs
  • crates/convex-analytics/src/risk/duration/effective.rs
  • crates/convex-analytics/src/risk/duration/key_rate.rs
  • crates/convex-analytics/src/risk/duration/macaulay.rs
  • crates/convex-analytics/src/risk/duration/mod.rs
  • crates/convex-analytics/src/risk/duration/modified.rs
  • crates/convex-analytics/src/risk/duration/spread_duration.rs
  • crates/convex-analytics/src/risk/dv01.rs
  • crates/convex-analytics/src/risk/hedging/compare.rs
  • crates/convex-analytics/src/risk/hedging/constrained/admission.rs
  • crates/convex-analytics/src/risk/hedging/constrained/evidence.rs
  • crates/convex-analytics/src/risk/hedging/constrained/issuer.rs
  • crates/convex-analytics/src/risk/hedging/constrained/mod.rs
  • crates/convex-analytics/src/risk/hedging/constrained/solver.rs
  • crates/convex-analytics/src/risk/hedging/constrained/types.rs
  • crates/convex-analytics/src/risk/hedging/ctd.rs
  • crates/convex-analytics/src/risk/hedging/hedge_ratio.rs
  • crates/convex-analytics/src/risk/hedging/mod.rs
  • crates/convex-analytics/src/risk/hedging/narrate.rs
  • crates/convex-analytics/src/risk/hedging/portfolio.rs
  • crates/convex-analytics/src/risk/hedging/strategies.rs
  • crates/convex-analytics/src/risk/hedging/types.rs
  • crates/convex-analytics/src/risk/mod.rs
  • crates/convex-analytics/src/risk/profile.rs
  • crates/convex-analytics/src/risk/var/historical.rs
  • crates/convex-analytics/src/risk/var/mod.rs
  • crates/convex-analytics/src/risk/var/parametric.rs
  • crates/convex-analytics/src/spreads/asw/par_par.rs
  • crates/convex-analytics/src/spreads/asw/proceeds.rs
  • crates/convex-analytics/src/spreads/benchmark.rs
  • crates/convex-analytics/src/spreads/discount_margin.rs
  • crates/convex-analytics/src/spreads/government_curve.rs
  • crates/convex-analytics/src/spreads/gspread.rs
  • crates/convex-analytics/src/spreads/ispread.rs
  • crates/convex-analytics/src/spreads/oas.rs
  • crates/convex-analytics/src/spreads/sovereign.rs
  • crates/convex-analytics/src/spreads/zspread.rs
  • crates/convex-analytics/src/swap_calibration.rs
  • crates/convex-analytics/src/workflow/bond.rs
  • crates/convex-analytics/src/workflow/capability.rs
  • crates/convex-analytics/src/workflow/coupon_directional_hedge.rs
  • crates/convex-analytics/src/workflow/coupon_hedge.rs
  • crates/convex-analytics/src/workflow/coupon_parameter_hedge.rs
  • crates/convex-analytics/src/workflow/delivery_hedge.rs
  • crates/convex-analytics/src/workflow/floating_workout.rs
  • crates/convex-analytics/src/workflow/hedge.rs
  • crates/convex-analytics/src/workflow/icma.rs
  • crates/convex-analytics/src/workflow/icma/risk.rs
  • crates/convex-analytics/src/workflow/icma_workout.rs
  • crates/convex-analytics/src/workflow/inputs.rs
  • crates/convex-analytics/src/workflow/inverse.rs
  • crates/convex-analytics/src/workflow/mod.rs
  • crates/convex-analytics/src/workflow/optional_hedge.rs
  • crates/convex-analytics/src/workflow/reconciliation.rs
  • crates/convex-analytics/src/workflow/reconciliation/cohorts.rs
  • crates/convex-analytics/src/workflow/reconciliation/product.rs
  • crates/convex-analytics/src/workflow/scenario.rs
  • crates/convex-analytics/src/workflow/scenario/product.rs
  • crates/convex-analytics/src/workflow/valuation.rs
  • crates/convex-analytics/src/workflow/workout.rs
  • crates/convex-analytics/src/yas/analysis.rs
  • crates/convex-analytics/src/yas/calculator.rs
  • crates/convex-analytics/src/yas/invoice.rs
  • crates/convex-analytics/src/yas/mod.rs
  • crates/convex-analytics/src/yields/current.rs
  • crates/convex-analytics/src/yields/engine.rs
  • crates/convex-analytics/src/yields/mod.rs
  • crates/convex-analytics/src/yields/money_market.rs
  • crates/convex-analytics/src/yields/short_date.rs
  • crates/convex-analytics/src/yields/simple.rs
  • crates/convex-analytics/src/yields/solver.rs
  • crates/convex-analytics/src/yields/street.rs
  • crates/convex-analytics/src/yields/treasury_bill.rs
  • crates/convex-analytics/tests/accrued_methods.rs
  • crates/convex-analytics/tests/amendments_splits.rs
  • crates/convex-analytics/tests/assurance.rs
  • crates/convex-analytics/tests/bond_contracts.rs
  • crates/convex-analytics/tests/bond_quotes.rs
  • crates/convex-analytics/tests/canonical_compatibility.rs
  • crates/convex-analytics/tests/cash_calibration.rs
  • crates/convex-analytics/tests/cash_helper_repricing.rs
  • crates/convex-analytics/tests/child_cash.rs
  • crates/convex-analytics/tests/child_maturity.rs
  • crates/convex-analytics/tests/claim_transfers.rs
  • crates/convex-analytics/tests/concurrent_claims.rs
  • crates/convex-analytics/tests/coupon_curve_state.rs
  • crates/convex-analytics/tests/coupon_directional_risk.rs
  • crates/convex-analytics/tests/coupon_graph_risk.rs
  • crates/convex-analytics/tests/coupon_model_scenarios.rs
  • crates/convex-analytics/tests/coupon_parameter_derivatives.rs
  • crates/convex-analytics/tests/coupon_parameter_directional.rs
  • crates/convex-analytics/tests/coupon_parameter_hedges.rs
  • crates/convex-analytics/tests/coupon_parameter_inverse.rs
  • crates/convex-analytics/tests/credit_calibration.rs
  • crates/convex-analytics/tests/credit_helper_repricing.rs
  • crates/convex-analytics/tests/credit_support/mod.rs
  • crates/convex-analytics/tests/curve_inputs.rs
  • crates/convex-analytics/tests/custody_lineage.rs
  • crates/convex-analytics/tests/dated_cash.rs
  • crates/convex-analytics/tests/dated_yield.rs
  • crates/convex-analytics/tests/directional_hedges.rs
  • crates/convex-analytics/tests/discount_accuracy.rs
  • crates/convex-analytics/tests/fixtures/accrued-methods.json
  • crates/convex-analytics/tests/fixtures/bond-quotes.json
  • crates/convex-analytics/tests/fixtures/coupon-curve-state.json
  • crates/convex-analytics/tests/fixtures/coupon-directional-risk.json
  • crates/convex-analytics/tests/fixtures/coupon-graph-risk.json
  • crates/convex-analytics/tests/fixtures/coupon-model-scenarios.json
  • crates/convex-analytics/tests/fixtures/coupon-parameter-derivatives.json
  • crates/convex-analytics/tests/fixtures/coupon-parameter-directional.json
  • crates/convex-analytics/tests/fixtures/coupon-parameter-hedges.json
  • crates/convex-analytics/tests/fixtures/coupon-parameter-inverse.json
  • crates/convex-analytics/tests/fixtures/curve-helper-inputs.json
  • crates/convex-analytics/tests/fixtures/dated-yield-grid.json
  • crates/convex-analytics/tests/fixtures/dated-yield.json
  • crates/convex-analytics/tests/fixtures/directional-hedges.json
  • crates/convex-analytics/tests/fixtures/discount-accuracy-reproduction.json
  • crates/convex-analytics/tests/fixtures/discount-accuracy.json
  • crates/convex-analytics/tests/fixtures/native-yield-risk.json
  • crates/convex-analytics/tests/fixtures/optional-bonds.json
  • crates/convex-analytics/tests/fixtures/periodic-growth.json
  • crates/convex-analytics/tests/fixtures/public_contracts.json
  • crates/convex-analytics/tests/fixtures/reinvestment.json
  • crates/convex-analytics/tests/fixtures/risk-contracts.json
  • crates/convex-analytics/tests/fixtures/risk-decode.json
  • crates/convex-analytics/tests/fixtures/risk-stencils.json
  • crates/convex-analytics/tests/fixtures/settlement-invoice.json
  • crates/convex-analytics/tests/fixtures/term-coupon-options.json
  • crates/convex-analytics/tests/fixtures/whole-coupon-normal.json
  • crates/convex-analytics/tests/fixtures/yas-quote-owner.json
  • crates/convex-analytics/tests/fixtures/yield-pricing.json
  • crates/convex-analytics/tests/fixtures/yield-scalars.json
  • crates/convex-analytics/tests/floating_coupon_options.rs
  • crates/convex-analytics/tests/futures_reference.rs
  • crates/convex-analytics/tests/futures_valuation.rs
  • crates/convex-analytics/tests/lifecycle.rs
  • crates/convex-analytics/tests/native_yield_risk.rs
  • crates/convex-analytics/tests/optional_bonds.rs
  • crates/convex-analytics/tests/pending_cash.rs
  • crates/convex-analytics/tests/periodic_growth.rs
  • crates/convex-analytics/tests/physical_partitions.rs
  • crates/convex-analytics/tests/pnl_checkpoints.rs
  • crates/convex-analytics/tests/product_parametric.rs
  • crates/convex-analytics/tests/product_ufr.rs
  • crates/convex-analytics/tests/quote_risk.rs
  • crates/convex-analytics/tests/quote_wire.rs
  • crates/convex-analytics/tests/rate_calibration.rs
  • crates/convex-analytics/tests/rate_helper_repricing.rs
  • crates/convex-analytics/tests/reinvestment.rs
  • crates/convex-analytics/tests/residual_receipts.rs
  • crates/convex-analytics/tests/risk_contracts.rs
  • crates/convex-analytics/tests/risk_decode.rs
  • crates/convex-analytics/tests/risk_stencils.rs
  • crates/convex-analytics/tests/settled_claims.rs
  • crates/convex-analytics/tests/settlement_invoice.rs
  • crates/convex-analytics/tests/shared_primitives.rs
  • crates/convex-analytics/tests/simple_bill_yield.rs
  • crates/convex-analytics/tests/standalone_workflow.rs
  • crates/convex-analytics/tests/support/futures.rs
  • crates/convex-analytics/tests/swap_calibration.rs
  • crates/convex-analytics/tests/whole_coupon_normal.rs
  • crates/convex-analytics/tests/workout_quotation.rs
  • crates/convex-analytics/tests/yas_quote_owner.rs
  • crates/convex-analytics/tests/yield_pricing.rs
  • crates/convex-analytics/tests/yield_scalars.rs
  • crates/convex-bonds/Cargo.toml
  • crates/convex-bonds/src/arrc.rs
  • crates/convex-bonds/src/cashflows/accrued.rs
  • crates/convex-bonds/src/cashflows/mod.rs
  • crates/convex-bonds/src/cashflows/schedule.rs
  • crates/convex-bonds/src/contracts/exercise.rs
  • crates/convex-bonds/src/contracts/mod.rs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sujitn

sujitn commented Oct 20, 2026

Copy link
Copy Markdown
Owner Author

Superseded by #133. It carries this PR's final tree (feb8e88) without committing the 631 large fixtures: they are xz-packed (5.91 GB → 14.2 MB) and materialized at test time. #133 also fixes the CI disk, Windows parity and release-order failures, and removes the hash-pinning and change-review records. The codex/production-readiness-pr branch is left as is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant