Story: Publish the ACME reports ready to run
Table of Contents
This page documents a story in Sprint 27. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
1. Goal
Publish the static inputs an ACME risk report needs through DQ datasets with declared dependencies, so a clean provision leaves every report definition bound to its shared configuration, with its analytics and parameters, and the export names every ORE file from the file types table.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 27 |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-10-13 |
3. Acceptance
- Each configuration kind the risk report type requires (pricing engines, today's market, curve configuration and conventions) and the run settings has a DQ staging table generated from its domain entity, an artefact type and a publish function.
- Each ACME party publishes a dataset per kind with declared dependencies, and after a clean provision every definition binds five configurations, with no ORE import step.
- The risk report configuration is a named, shared, party-owned entity a definition binds by name, and a configuration with no analytic is refused.
- The analytics and their parameters, the run choices and the market bindings belong to the configuration, and the run document is built at export.
- The file types table is seeded from the ORE samples, and the export and the run store name every file from it.
- All 78 ACME definitions export a run configuration that validates against the ORE schemas.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Design the configuration documents each ACME party needs | ABANDONED | Decide, for each party and each report it runs, the pricing engines, today's market, curve configuration and conventions it needs. Craft them for Acme's own reports, inspired by the ORE samples, and record the reason for each choice. | ||
| Publish the pricing engines documents through DQ | ABANDONED | Add the DQ staging, dataset and publish function for the pricing model configuration with its products and parameters, and publish each party's document. | ||
| Publish the today's market documents through DQ | ABANDONED | Add the DQ staging, dataset and publish function for the today's market configuration with its entries and collections, and publish each party's document. | ||
| Publish the curve configurations through DQ | ABANDONED | Add the DQ staging, dataset and publish function for the curve configuration with its sections and curve configs, and publish each party's document. | ||
| Publish the conventions as a configuration document | ABANDONED | The instrument conventions already publish as a party dataset. Give each party the conventions document the report type requires, so the definition can bind to it. | ||
| Publish the report definitions with their bindings | ABANDONED | Publish each definition with its bindings to the four configuration documents, with a dataset dependency on the configuration datasets. | ||
| Publish the risk report configurations for the ACME parties | ABANDONED | Publish a risk report configuration for every ACME definition, with its party's base currency and a scope that resolves to books, without any ORE import. | ||
| Store the report configuration documents in DQ and populate ACME's | DONE | 2026-10-11 | 2026-10-12 | Add the DQ staging and publish for every configuration document an ACME report reads, then populate ACME's own datasets so each report definition publishes with all the configuration it needs, with no ORE import. |
| Attach the analytics and their parameters to the configuration | DONE | 2026-10-12 | 2026-10-12 | Replace the sixteen analytic switches of the risk report configuration with analytic rows and parameter rows on the configuration, and publish them through DQ. |
| Add the ORE file types table with well known names | DONE | 2026-10-12 | 2026-10-13 | Add a lookup of every kind of ORE file with the well known name it carries in the ORE samples. |
| Name every ORE file from the file types table | DONE | 2026-10-13 | 2026-10-13 | Make the export and the run document builder look up each file name in the file types table, and resolve parameters that name an input document from the bindings. |
5. Decisions
The remainder is carried in Complete the ACME report inputs and prove they run.
Taken with the product owner on 2026-10-11:
- The configuration documents are Acme's own crafted data, inspired by the ORE samples. They are not ORE import data, and no ORE import step exists.
- Publishing leaves every report ready to run. Exporting the configuration to ORE happens when a job runs and is not part of publishing.
- The publish order is the configurations, then the report definitions with their bindings, then the risk report configurations. Each dataset declares its dependency on the one before.
- All the static data a report needs is published through DQ datasets with dataset dependencies. Market data comes from the feeds.
- Trades are out of scope.
Taken on 2026-10-12:
- A risk report configuration is a named, shared, party owned entity that a definition binds by name. Its DQ staging is generated from the domain entity.
- The run document is built at export from the configuration and the bindings. It is not stored.
- The analytics and their parameters belong to the configuration, not to a
report. Their entities carry no
report_prefix. This is the task "Attach the analytics and their parameters to the configuration". - The files an ORE run names have well known names. A table of file types holds them, the export looks every name up in it, and a configuration repeats none. A file may be split by a key, which is not a day one requirement.
The rules and the reasoning are in the sprint 27 investigation Which reports each ACME party runs, rules D15 to D17.
Relations to other work:
- The story Make the ACME data realistic and isolate the ORE samples reworks the portfolio trees, the currencies and the feeds. This story needs the trees, because a report's scope names their branches.
- The backlog task "Configure every seeded report from the ORE examples" in the grid story assumes the configuration comes from ORE examples. That assumption is rejected here, so that task should be closed in favour of this story.