Story: Prove the report grid run end to end — the remaining work

Table of Contents

This page documents a story in Sprint 30, carried unfinished from Sprint 29 at close. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

1. Goal

The ACME report definition runs to completion against the compute grid from an input bundle that already exists, the compute results are retrieved, and the run is reproducible from a freshly recreated database.

2. Status

Field Value
State BACKLOG
Parent sprint Sprint 30
Now Not yet started. Split from Prove the report grid run end to end — the remaining work, which closed in sprint 29 with its done tasks.
Waiting on Nothing.
Next Triage into a sprint.
Last touched 2026-11-08

3. Acceptance

  • The ACME definition triggers from the shell, the instance travels pending, running and completed through the FSM guard, and the compute results are retrieved.
  • The run is reproducible from a freshly recreated database, and every report ACME is seeded with has the risk report configuration its run needs.
  • The run's portfolio input is ORE-readable at the path the run document names, and the engine proceeds past Build Portfolio.
  • A job whose engine reports an error and writes no analytics is recorded as a failed result, and a stored assignment whose result is gone is not replayed.

4. Tasks

Task State Start End Description
Prove a run on generated trades and market data BACKLOG     Every end-to-end run so far has depended on hand-seeded ACME data, which is why a run fails for a data reason rather than a chain reason. The synthetic component already generates the trade population (bond books, counterparties, trade generation configs) and publishes market data (IR curve and FX spot generation configs, feeds into ores.marketdata). Prove a report runs to completion on data the system generates: generate the trades, generate the market data they need, point a report definition at those books, and run it. Record what the generated data cannot yet express, which is the gap a gather has to respect.

5. Decisions

6. Out of scope

Emacs 29.3 (Org mode 9.6.15)