Story: Run a report end to end on a synthetic bond population

Table of Contents

This page documents a story in Sprint 28. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

1. Goal

One run of the NPV report of ACME Corporation HK Ltd goes from the trigger to a completed report instance with an output archive in storage, and every issue met on the way is written down with its cause and its fix or its owner.

2. Status

Field Value
State DONE
Parent sprint Sprint 28
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-10-24

3. Acceptance

The story closes on the tasks it finished:

  • Record the issues of an end to end run.
  • Export market data without a query per series.
  • Name a slow statement in the service log.
  • Carry the bulk observation reads in the models.

4. Tasks

Task State Start End Description
Record the issues of an end to end run DONE   2026-10-21 The log of every issue met while one report ran from the trigger to a completed instance: symptom, cause, state and fix.
Export market data without a query per series DONE   2026-10-23 The market data export read each series with its own statements, so a tenant with 306 series needed 38 seconds and the report run timed out at 30. Read the tenant in two statements and log each phase.
Name a slow statement in the service log DONE   2026-10-23 A slow statement hid inside the total of a request. The database executors now log the statement's duration, with the connect, session and statement parts, as a warning from 250 ms.
Carry the bulk observation reads in the models DONE   2026-10-23 Commit b06ddccb2f hand-edited generated marketdata files, so the component drift gate fails on main. Move the bulk reads and the export handler into their models and regenerate.

5. Decisions

6. Out of scope

Emacs 29.3 (Org mode 9.6.15)