Skip to content

feat: configurable currency system replacing hardcoded USD #810

@Aureliolo

Description

@Aureliolo

Context

Currency is currently hardcoded as USD throughout the codebase -- cost_usd fields, $ symbols in descriptions, USD-specific formatting. This should be a user-configurable setting.

Scope

  1. Settings-based currency configuration -- add a currency setting (via the existing runtime settings API) that controls the display currency. Default to USD for backward compatibility.
  2. Audit all hardcoded currency references -- find every cost_usd, $, USD, and currency-related field across src/, web/, and cli/. Replace with a dynamic system that respects the configured currency.
  3. Currency formatting -- evaluate whether a library (e.g. babel for Python, Intl.NumberFormat for the frontend) is needed for locale-aware formatting (symbols, decimal separators, grouping).
  4. Conversion -- out of scope for now. The configured currency is the display currency; all internal storage remains in a single base currency. Conversion can be added later if multi-currency support is needed.

Notes

  • This is a cross-cutting change affecting budget tracking, cost records, performance metrics, activity descriptions, the web dashboard, and the CLI.
  • The API response field names (e.g. cost_per_task_usd) may need renaming or aliasing depending on how generic we want the API contract to be.
  • Discovered during feat: agent performance metrics and activity timeline endpoints #772 review where activity.py had a hardcoded $ in task completion descriptions (changed to USD text suffix as interim fix).

Metadata

Metadata

Assignees

No one assigned

    Labels

    scope:large3+ days of worktype:featureNew feature implementationv0.5Minor version v0.5v0.5.0Patch release v0.5.0

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions