Product backlog — next

Table of Contents

The next bucket of the product backlog. Captures here are captures — pre-sprint ideas considered candidate work for the next version. When a sprint pulls one in, it becomes a story.

The table below is regenerated by projects/ores.codegen/scripts/regenerate_backlog_indexes.py — do not edit the rows by hand. To add a capture, run generate_doc.sh --type capture --parent-dir doc/agile/product_backlog/next and re-run the script.

Captures

Capture Tags Description
Accounts need to have a human or robot field code Accounts need to have a human or robot field
Add "uptime" screen code Add "uptime" screen
Add =[[nodiscard= to repository operations returning data]] code Add [[nodiscard]] to repository operations returning data
Add publication_params_schema to artefact types code Add publication_params_schema to artefact types
Add a "is alive" message code Add a "is alive" message
Add a dashboard for users code Add a dashboard for users
Add a Definition of Done entry to the glossary and link to i…   Add a Definition of Done entry to the glossary and link to it from every place we use the term (sprint acceptance criteria, story templates, etc.).
Add a delete all button which deletes all currencies code Add a delete all button which deletes all currencies
Add a flag for human readable time code Add a flag for human readable time
Add a generic tagging system code Add a generic tagging system
Add a message queue code Add a message queue
Add a organisation type scheme entity code Add a organisation type scheme entity
Add a sample set of gravatars for profiles code Add a sample set of gravatars for profiles
Add a skill that processes a capture buffer entry by entry a…   Add a skill that processes a capture buffer entry by entry and decides whether each belongs in the current sprint backlog, a new story, or the product backlog.
Add a system clock code Add a system clock
Add account permissions visibility and tabbed dialog code Add account permissions visibility and tabbed dialog
Add action type to trades code Add action type to trades
Add an LLM guidance document stating that all temporary data…   Add an LLM guidance document stating that all temporary data produced during tasks must be placed under the project's tmp/ directory, not scattered in arbitrary locations.
Add auxiliary types to their entities code Add auxiliary types to their entities
Add batch editing with staging workflow analysis Add batch editing with staging workflow
Add coloured icons code Add coloured icons
Add composite primary keys code Add composite primary keys
Add counterparty party scoping (librarian Phase 2) code Add counterparty party scoping (librarian Phase 2)
Add currencies update command to shell code Add currencies update command to shell
Add currency and country party-visibility junctions code Add currency and country party-visibility junctions
Add database support for tests code Add database support for tests
Add DB schema version table code Add DB schema version table
Add entity related charts code Add entity related charts
Add HBAC support for books and portfolios code Add HBAC support for books and portfolios
Add heat map of user sessions code Add heat map of user sessions
Add high-watermark support code Add high-watermark support
Add ISO 20022 Support code Add ISO 20022 Support
Add KYC workflow for counterparty onboarding code Add KYC workflow for counterparty onboarding
Add languages to ores.qt code Add languages to ores.qt
Add missing history dialogs code Add missing history dialogs
Add missing pgtab extension to database setup database infrastructure The pgtab extension is referenced but not installed during database setup. Add it to the extension installation block.
Add modified since for all entities code Add modified since for all entities
Add new flag to change reasons in Qt UI ui bug Change reasons have a new flag in the database but it is not surfaced in the Qt UI. Add the field to the change reason form.
Add ores.compute or ores.grid code Add ores.compute or ores.grid
Add party explorer ui iam A party explorer showing the party hierarchy tree. Selecting a node shows all business units under that party on the right. Supports add, delete, copy of units.
Add party level currency and country restrictions code Add party level currency and country restrictions
Add party role scheme entity code Add party role scheme entity
Add pricing model parameter validation table code analytics ui database Add a table of valid pricing model parameters with their types; validate values on insertion; UI should offer available parameters for a model with type-appropriate fields.
Add proper enumerations for trade key fields code trades ui database Key trade fields (product type, call/put) currently use raw strings. Add typed enumerations backed by database tables; UI uses combo boxes populated from these tables.
Add purge button to all entities code Add purge button to all entities
Add SC script on windows to install ores.service code Add SC script on windows to install ores.service
Add search to currencies code Add search to currencies
Add self-registration and approval for production tenants code Add self-registration and approval for production tenants
Add shell commands for parties and counterparties code Add shell commands for parties and counterparties
Add sign-up approval workflow code Add sign-up approval workflow
Add skill to improve UI design code Add skill to improve UI design
Add sound assets code Add sound assets
Add staging support code Add staging support
Add sub-menus for shell code Add sub-menus for shell
Add sub-menus to shell code Add sub-menus to shell
Add support for row signing code Add support for row signing
Add support for staging code Add support for staging
Add tenant type management dialog code Add tenant type management dialog
Add trace context propagation to messaging protocol code Add trace context propagation to messaging protocol
Add trade import support to HTTP API code Add trade import support to HTTP API
Add trade import support to shell code Add trade import support to shell
Add validation and ISO compliance flags for reference data code Add validation and ISO compliance flags for reference data
Add version comparison and revert improvements code Add version comparison and revert improvements
Add virtual portfolio tree support code Add virtual portfolio tree support
Add widget to manage assets code Add widget to manage assets
After the UUID upcase migration, local site links resolve to…   After the UUID upcase migration, local site links resolve to absolute local filesystem paths instead of site-relative URLs. Org-publish path resolution needs to be fixed so links are relative to the site root.
All environment ports should derive from a single base port,…   All environment ports should derive from a single base port, incrementing by 1. The current setup has overlapping ORES_HTTP_PORT and ORES_CONTROLLER_SERVICE_HTTP_PORT. Document the port assignments and enforce the convention.
Allow creating new connections from login dialog code Allow creating new connections from login dialog
Allow in place editing of currencies code Allow in place editing of currencies
Allow super admin to reset tenant admin accounts code Allow super admin to reset tenant admin accounts
Allow supplying the postgres connection URI code Allow supplying the postgres connection URI
Analyse caching at dialog level code Analyse caching at dialog level
Analysis on database name service code Analysis on database name service
Architecture doc should link to multi-party, multi-company, …   Architecture doc should link to multi-party, multi-company, and workspace documents under a dedicated Isolation section, so the top-level architecture narrative connects to the domain-isolation concepts.
Associating annotations with entities code Associating annotations with entities
Assorted UI polish work for detached mode code Assorted UI polish work for detached mode
Async workflow progress for large party hierarchies code Async workflow progress for large party hierarchies
Authentication failed dialog does not have details code Authentication failed dialog does not have details
Automate new service registration infra Automate new service registration
Automated SQL generation code Automated SQL generation
Babel source blocks that run ORE Studio commands should quer…   Babel source blocks that run ORE Studio commands should query the active .env file dynamically for paths and presets, so they work correctly when switching between environments without needing a manual reload.
Books must belong to a business unit; portfolio explorer toggle ui domain database Books need a business unit FK. The portfolio explorer should have a show/hide option for business unit nodes in the tree.
Bundle of agile doc polish: (1) PR references in story/task …   Bundle of agile doc polish: (1) PR references in story/task docs should be hyperlinks not plain text; (2) task lists should be formatted as tables; (3) the manuals index page and site nav link need wiring (PR #818 follow-up).
Change reason and categories need permissions code Change reason and categories need permissions
Change reason not requested on delete code Change reason not requested on delete
Check change reasons on delete code Check change reasons on delete
Cli clean-ups code Cli clean-ups
CLI Importing needs to read from database code CLI Importing needs to read from database
Clicking on connection in status bar should provide info code Clicking on connection in status bar should provide info
Consider adding an "entity waterfall" code Consider adding an "entity waterfall"
Consider adding log command line options to qt code Consider adding log command line options to qt
Consider adding MCP support code Consider adding MCP support
Consider using UUID in the database layer code Consider using UUID in the database layer
Convert three catalogues from bullet lists to tables: skills…   Convert three catalogues from bullet lists to tables: skills catalogue, memory catalogue, and recipes topics — improving scannability and alignment with the table-based style used elsewhere.
Create a AAD build of ORE code Create a AAD build of ORE
Create a document tracking which entities have full CLI/HTTP…   Create a document tracking which entities have full CLI/HTTP/shell coverage and which are missing layers. Use it as a prioritised backlog for bringing entities into sync, adding recipes as gaps are closed.
Create basic manual code Create basic manual
Create named profiles code Create named profiles
Create shared object interfaces code Create shared object interfaces
Create span collection and export infrastructure code Create span collection and export infrastructure
Create subsets of datasets code Create subsets of datasets
Currencies displays when not connected code Currencies displays when not connected
Currencies: Contractual Settlement (The "Agreements" Table) code Currencies: Contractual Settlement (The "Agreements" Table)
Currencies: Country relationship code Currencies: Country relationship
Currencies: Currency Taxonomy Enrichment code Currencies: Currency Taxonomy Enrichment
Currencies: Party-Specific Settlement Rules code Currencies: Party-Specific Settlement Rules
Currency types: enum, management screen, combo box ui database domain Currency types should be a proper database-backed enum. Add a management screen and tables; use a combo box in the currencies form.
Current issues with package install in debian code Current issues with package install in debian
Data in login info looks spurious code Data in login info looks spurious
Digital signatures code Digital signatures
Distinguish service roles from user roles; prevent leakage to tenants code Distinguish service roles from user roles; prevent leakage to tenants
Do not disable cert verification code Do not disable cert verification
Do not return sensitive fields code Do not return sensitive fields
Document all valid ORES_* environment variables with their p…   Document all valid ORES_* environment variables with their purpose. Add a script that validates the active env against the schema and errors on unknown variables, so misconfigured environments are caught at init time.
Document and enforce canonical IAM context setup patterns code Document and enforce canonical IAM context setup patterns
DQ/Refdata service boundary cleanup code DQ/Refdata service boundary cleanup
Drop database roles before recreating the database database infrastructure recreate_database.sh does not drop roles before re-creating the database. Add role-drop logic to ensure a clean slate.
Enforce single canonical entry point for authenticated IAM handlers code Enforce single canonical entry point for authenticated IAM handlers
Ensure applications work under OSX using github images code Ensure applications work under OSX using github images
Ensure DQ dataset checks use code code Ensure DQ dataset checks use code
Error with new tenant code Error with new tenant
Evaluate change reasons for role permission tables analysis Evaluate change reasons for role permission tables
Event Viewer advanced features code Event Viewer advanced features
Expand repository test coverage and infrastructure code Expand repository test coverage and infrastructure
Extend login flow with party selection code Extend login flow with party selection
Extend ores.workflow: barrier-event workflow code Extend ores.workflow: barrier-event workflow
Extend ores.workflow: trade-expiry workflow code Extend ores.workflow: trade-expiry workflow
Extend validate_docs.sh to check org frontmatter tooling validation codegen validate_docs.sh only checks component structure; extend it to validate frontmatter fields (:ID:, #+type:, #+description:, etc.) across all org files.
External data issues code External data issues
Faker with seeds code Faker with seeds
Filter counterparty dataset size for evaluation tenants code Filter counterparty dataset size for evaluation tenants
Financial workflows: trade-expiry and barrier-event code Financial workflows: trade-expiry and barrier-event
Fine-tune grants for each service account code Fine-tune grants for each service account
Fix "informations" plural naming in contact information entities code Fix "informations" plural naming in contact information entities
Fix bootstrapping wizard cancellation leaving system in bad state bootstrap wizard ux resilience Cancelling bootstrapping wizards mid-way leaves the system believing bootstrapping is complete, with no recovery path short of recreating the database. Investigate and implement a sensible cancellation/recovery model.
Fix country combo box sizing in tenant wizard ui bug The country combo box in the tenant wizard expands to fill the entire screen. Constrain its width/height appropriately.
Fix PostgreSQL long-identifier truncation warnings database code Several index names exceed PostgreSQL's NAMEDATALEN limit and are silently truncated (dq_lei_relationships_artefact, refdata_party_contact_informations, etc.). Shorten the names.
Fix security bug with shell code Fix security bug with shell
Fix suspicious signup handler using raw ctx_ without tenant context code Fix suspicious signup handler using raw ctx_ without tenant context
FX trade UX improvements: tabs, currency pairs, rate computation ui trades ux Split the FX forward product into tabs for clarity; introduce a currency pair concept so users select a pair not two individual currencies; compute rate automatically from notional amounts.
General session dialog code General session dialog
Generate C++ code for FPML code Generate C++ code for FPML
Generate protocol docs via codegen code Generate protocol docs via codegen
Geo-location tests fail for some IP Addresses code Geo-location tests fail for some IP Addresses
History dialogs do not remember their size and position betw…   History dialogs do not remember their size and position between opens. Implement geometry persistence for all history dialogs using QSettings, consistent with other dialogs in the application.
IAM/Refdata service boundary cleanup code IAM/Refdata service boundary cleanup
Implement entity history in shell code Implement entity history in shell
Implement four-eyes authorisation framework code Implement four-eyes authorisation framework
Implement recursive CTE in compute_visible_party_ids code security database compute_visible_party_ids currently returns only {party_id}. Implement the recursive CTE over ores_refdata_parties_tbl.parent_party_id so RLS sees the full descendant set.
Improve error message boxes code Improve error message boxes
Improve error message when server is not running code Improve error message when server is not running
Improve handling of error responses code Improve handling of error responses
Improve icon for methodology and dimensions code Improve icon for methodology and dimensions
Improve session management and server-side housekeeping code Improve session management and server-side housekeeping
Improve tag support code Improve tag support
Improve tenant deletion safety and cascading code Improve tenant deletion safety and cascading
Improvements to detail dialogs code Improvements to detail dialogs
Install OSX package on OSX machine infra Install OSX package on OSX machine
Instrument components with telemetry context code Instrument components with telemetry context
Integrate the org-mode user manual into Qt's native help sys…   Integrate the org-mode user manual into Qt's native help system: a Python script compiles the exported HTML into a .qch file via qhelpgenerator, and the Qt application loads it via QHelpEngine with a ToC sidebar connected to a QTextBrowser.
Invalid password should not throw code Invalid password should not throw
Investigate dashql for ideas code Investigate dashql for ideas
Issues with event viewer code Issues with event viewer
It is not possible to override saved connection details in t…   It is not possible to override saved connection details in the connection manager dialog. Users should be able to edit a saved connection without deleting and recreating it.
Librarian errors code Librarian errors
Light system theme results in mix of dark and light code Light system theme results in mix of dark and light
Listen for events in details dialog code Listen for events in details dialog
Listener error in comms service code Listener error in comms service
Load org-babel and systematically test all recipe types in u…   Load org-babel and systematically test all recipe types in use: SQL, CLI, shell, and HTTP. Verify each type executes correctly with the current .env settings.
Local versus remote connectivity code Local versus remote connectivity
Lock down data librarian for production tenants code Lock down data librarian for production tenants
Locking an account should log user out code Locking an account should log user out
Log file location for Qt application is non-standard on Linux code Log file location for Qt application is non-standard on Linux
Long-running bundle publishes need progress reporting and async execution code Long-running bundle publishes need progress reporting and async execution
Make bootstrap operation atomic using SQL transactions code Make bootstrap operation atomic using SQL transactions
Make UI/UX look more professional code Make UI/UX look more professional
Management of roles code Management of roles
Message handlers are not scalable code Message handlers are not scalable
Methodology screen review code Methodology screen review
Mine dexter for ideas code Mine dexter for ideas
Missing session properties code Missing session properties
Missing shell functionality code Missing shell functionality
Modes of operation code Modes of operation
Multi-select LEI picker for PartyProvisionPage code Multi-select LEI picker for PartyProvisionPage
Multiple ref-data entities are missing event notifications: …   Multiple ref-data entities are missing event notifications: currency, rounding types, and monetary nature all lack eventing. Audit all ref-data entities and add missing event emissions systematically.
My Account session history dialog shows no bytes sent/receiv…   My Account session history dialog shows no bytes sent/received and sessions are not populated. Either remove the dialog entirely or implement session event recording (at minimum: login and logout events).
NATS-based health for all services: HTTP, WT and compute wrapper code NATS-based health for all services: HTTP, WT and compute wrapper
New feature flags code New feature flags
No samples in sessions code No samples in sessions
Notification of deletes code Notification of deletes
Notify clients of database connection errors code Notify clients of database connection errors
Package SQL scripts code Package SQL scripts
Party wizard UX improvements code Party wizard UX improvements
Perform tests to check database connectivity code Perform tests to check database connectivity
Populate service_password_hash at database setup time database security infrastructure The service_password_hash column is not populated by recreate_database.sh / setup_user.sql. Update the setup scripts to hash and store each service's DB password.
Portfolio types code Portfolio types
Positions domain model code Positions domain model
Problems with session charts code Problems with session charts
Provisioned accounts: force password reset on first login code Provisioned accounts: force password reset on first login
Publish history dialog is non-standard code Publish history dialog is non-standard
Raise events for account profile updates code Raise events for account profile updates
Recipes do not show variables in org-babel infra Recipes do not show variables in org-babel
Redesign Qt ImageCache invalidation strategy code Redesign Qt ImageCache invalidation strategy
Reduce duplicated Qt code and clean up technical debt code Reduce duplicated Qt code and clean up technical debt
Reduce log noise during database setup database infrastructure Database setup emits too many NOTICEs (change reason categories, IAM permissions, TimescaleDB detection). Consolidate to a single informational message per phase; suppress per-row notices.
Reduce messaging handler boilerplate code analytics architecture Factor out common JWT verify, permission check, and logging into a base handler class or free function so individual handlers don't repeat the same preamble.
Refactor trading reference type boilerplate into shared templates code Refactor trading reference type boilerplate into shared templates
Remember dialog sizes and positions code Remember dialog sizes and positions
Remove all stub files from the codebase code testing housekeeping Find all stub.hpp and stub_tests.cpp files. Remove stub.hpp outright; replace stub_tests.cpp only once real tests exist for the component.
Remove bootstrap guards from validation functions code Remove bootstrap guards from validation functions
Remove uses of raw libpq code Remove uses of raw libpq
Rename request contexts to reflect their scope (tenant_ctx, etc.) code Rename request contexts to reflect their scope (tenant_ctx, etc.)
Replace hardcoded permission strings with per-component constants code security architecture Permission strings like analytics::pricing_engine_types:write are hardcoded inline. Each component should declare a typed permission list; handlers reference the constants.
Replace parent combo boxes with server-side type-ahead search code Replace parent combo boxes with server-side type-ahead search
Restore detached window state after login code Restore detached window state after login
Restore detail and history windows after login code Restore detail and history windows after login
Restore list windows after login code Restore list windows after login
Retrieve NAT'ed IP address from local IP code Retrieve NAT'ed IP address from local IP
Review of Wt code Review of Wt
Scheduler: complete Qt UI and promote to top-level menu code Scheduler: complete Qt UI and promote to top-level menu
Service command-line configuration dialog with bitemporal support ui infrastructure database A dialog to view and change each service's command-line options (log level, telemetry flags, etc.) saved to the database with bitemporal history so changes are audited.
Setup Qt properly on Windows code Setup Qt properly on Windows
Several pages are not linked in the org-roam knowledge graph…   Several pages are not linked in the org-roam knowledge graph: sprint 17 release notes, MSVC C1202 workaround cleanup, Type definition facet, and several manual pages. Investigate and add missing id-links.
Sign-up dialog should be disabled if feature is disabled code Sign-up dialog should be disabled if feature is disabled
Single tenant setup creates tenant code Single tenant setup creates tenant
Source report definitions from DQ instead of hardcoded C++ code Source report definitions from DQ instead of hardcoded C++
Standardise Qt window behaviour and UI consistency code Standardise Qt window behaviour and UI consistency
Starting UI from file manager does not work infra Starting UI from file manager does not work
Stop and start service does not trigger ores.qt reconnection code Stop and start service does not trigger ores.qt reconnection
Subscribe on reconnect fails code Subscribe on reconnect fails
Support tenant specification in shell account commands code Support tenant specification in shell account commands
Suppress staging dataset publication warnings code Suppress staging dataset publication warnings
Synthetic data generator improvements generator testing Three issues: (1) cities must nest within the same parent city, not mixed hierarchies; (2) generate multiple counterparty root nodes with a probability distribution over tree depth; (3) block tenant bootstrapping if system has not been bootstrapped first.
System provisioner needs an icon code System provisioner needs an icon
The 'How do I set up a development environment?' recipe cove…   The 'How do I set up a development environment?' recipe covers Linux only. Either rename it to make the Linux scope explicit, or expand it with macOS and Windows sections.
The client session is not automatically renewing its authent…   The client session is not automatically renewing its authentication token, causing sessions to expire silently. Implement token refresh on expiry so users are not logged out unexpectedly.
The ORE Studio manuals page should list manuals in a table (…   The ORE Studio manuals page should list manuals in a table (format columns: HTML, PDF). Manuals should also be structured as linked sections so individual pages can be linked to from elsewhere in the docs.
The org-roam knowledge graph no longer exposes options to co…   The org-roam knowledge graph no longer exposes options to configure or hide the right-hand sidebar — these settings seem to have been removed in a recent version. Investigate and restore sidebar control.
The site build leaves legacy output alongside the new site. …   The site build leaves legacy output alongside the new site. The build pipeline should always rm -rf site/ before recompiling so stale pages are never served.
Three-level provisioning: end-to-end testing code Three-level provisioning: end-to-end testing
Tracing: OpenTelemetry identifiers across Qt and NATS analysis Tracing: OpenTelemetry identifiers across Qt and NATS
Trade-aware market data filtering for report execution code Trade-aware market data filtering for report execution
Triage existing sprint capture.org files agile triage cleanup Each sprint currently has a monolithic capture.org. Once the per-file capture workflow is in place, go through existing capture.org files: promote anything still relevant into the new format or into stories, and delete stale or already-implemented items.
Troubleshoot skills in claude infra Troubleshoot skills in claude
Two bundled component doc template improvements: (1) remove …   Two bundled component doc template improvements: (1) remove the Summary heading — component overviews should start directly with the blurb; (2) file and directory links should use proj: links so they resolve to GitHub URLs rather than local paths.
UML class diagrams are missing relationships between classes…   UML class diagrams are missing relationships between classes, and namespace/class descriptions are absent. Add them according to crowding-avoidance rules (not every relationship, only architecturally significant ones).
Understanding Settlements and SSI analysis Understanding Settlements and SSI
Unify compute wrapper nodes as replicated services code Unify compute wrapper nodes as replicated services
Update currency details to use tabs code Update currency details to use tabs
Update timestamps to use timezone code Update timestamps to use timezone
Use exponential backoff for database problems code Use exponential backoff for database problems
Use string views for static strings infra Use string views for static strings
User interface options code User interface options
Users should be able to add picture to profile code Users should be able to add picture to profile
Wire service token provider for all services code security infrastructure Only ores.reporting.service currently has make_service_token_provider wired up. All outbound-NATS services need it; add the dependency and wiring as each service grows.
Work units should use a combo box ui Work units are currently a free-text field. Replace with a combo box populated from the work unit table.

Emacs 29.1 (Org mode 9.6.6)