-
Notifications
You must be signed in to change notification settings - Fork 0
feat: configurable currency system replacing hardcoded USD #810
Copy link
Copy link
Closed
Labels
scope:large3+ days of work3+ days of worktype:featureNew feature implementationNew feature implementationv0.5Minor version v0.5Minor version v0.5v0.5.0Patch release v0.5.0Patch release v0.5.0
Description
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
- 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.
- Audit all hardcoded currency references -- find every
cost_usd,$,USD, and currency-related field acrosssrc/,web/, andcli/. Replace with a dynamic system that respects the configured currency. - Currency formatting -- evaluate whether a library (e.g.
babelfor Python,Intl.NumberFormatfor the frontend) is needed for locale-aware formatting (symbols, decimal separators, grouping). - 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.pyhad a hardcoded$in task completion descriptions (changed toUSDtext suffix as interim fix).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
scope:large3+ days of work3+ days of worktype:featureNew feature implementationNew feature implementationv0.5Minor version v0.5Minor version v0.5v0.5.0Patch release v0.5.0Patch release v0.5.0