[refdata,synthetic,qt] Add curve_role and yield_curve_process_type entities - #1610
Conversation
…trap capture tick-batch-publishing was closed via PR #1597, which shipped only the payment_frequency prerequisite, not the ir_curve_feed producer its own Acceptance requires. Reopened, scoped to Phase 1 (synchronous family feed) only, with an Analysis section recording the phase-split design (family feed vs. per-point disaggregation, deferred to the existing stochastic-tick-arrival-times story), the two-subject NATS design, and why no batch/generation identifier is needed (checked against FIX and Refinitiv conventions -- neither has one; curves are reconstructed downstream via as-of queries). Added curve-snapshot-builder-viewer task: a minimal as-of query + plain tenor table over raw ticks, so the family feed's output can actually be seen once it exists. Filed an inbox capture for the bootstrapping + official-curve-republish gap this story deliberately doesn't cover. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…nstruments Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…tities Full-stack codegen entities (domain/repository/service/protocol/NATS messaging/eventing/Qt) for two data-model gaps surfaced while designing the IR curve family feed: - ores.refdata.curve_role: classifies instrument_code by its role when deriving a rate from a curve (DEPOSIT/FRA/SWAP/NONE sentinel), FK- validated new column on instrument_code, replacing a hardcoded-switch design. Seeded via Foundation layer; DEPO/FRA/IRS instrument codes tagged accordingly, all others default NONE. - ores.synthetic.yield_curve_process_type: replaces ir_curve_generation_config.process_type's inline CHECK constraint with a proper, FK-validated, describable catalogue entity (VASICEK/CIR/HULL_WHITE). - ir_curve_generation_config.fixed_leg_payment_frequency_code: new FK to the existing ores.refdata.payment_frequency, needed to build a Swap curve-template entry's fixed-leg schedule. Both new entities wired into their component's NATS handler/event registrars and Qt plugin menus (Classifications submenu for curve_role, Advanced menu for yield_curve_process_type), following the tenor_unit reference pattern. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Story-ID: 3ECC4BA8-6ACA-4028-9E42-AE7F25FC3B98 Task-ID: 615FD100-BCD9-4CF5-B9DF-197447769AA9
|
@claude please review this pull request |
Claude finished reviewing this PRTodo list
This is a large, mostly-codegen PR and the bulk of the generated full-stack scaffolding (domain/repository/service/messaging for both new entities, 1. High —
|
Claude finished the review
SummarySolid, well-structured PR that follows the established codegen pattern closely — the SQL ( One correctness concern found that's worth addressing before/along with the follow-on producer work, plus a couple of minor cleanup items. Findings1.
However, This doesn't break anything in this PR — nothing yet calls 2. Orphaned
3. Minor: populate-script placement nit
No other issues found — the rest of the new files (domain/repository/service/messaging layers for both entities, Qt models/controllers/dialogs) follow the established generated-entity pattern consistently. View job run · Branch: |

Summary
Data-model foundation for the IR curve family feed (tick-batch-publishing task): two new full-stack codegen entities replacing hardcoded-classification/inline-CHECK designs with proper, FK-validated, describable reference data, plus a new FK column needed for swap fixed-leg schedule building. The ir_curve_feed producer itself is not part of this PR -- follow-on work.
Changes
Traceability
🤖 Generated with Claude Code