Repository navigation
fix(budget): include per-profile budgets in status JSON - #142
Merged
nujovich merged 3 commits intoOct 27, 2026
Merged
Conversation
Owner
Author
|
All milestones complete. Ready for review when you are. |
nujovich
force-pushed
the
hermes/build/fix-hermes-telemetry-issue-70-budget-json
branch
from
October 27, 2026 13:43
16ba313 to
f48b29c
Compare
The standalone budget panel rendered an Edit button on per-profile rows, but api_budget_detail/api_budget_update only accept ALLOWED_SCOPES, so the modal opened with an error. Gate the button on scope_id. Also add the CHANGELOG entry, the ONBOARDING note on the JSON/dashboard profile surfaces, and resync README test counts (747).
nujovich
force-pushed
the
hermes/build/fix-hermes-telemetry-issue-70-budget-json
branch
from
October 27, 2026 16:39
f48b29c to
cf0f3d7
Compare
nujovich
marked this pull request as ready for review
October 27, 2026 16:42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue: #70
What: Adds the missing
profilessection to the/budgetJSON status output._budget_json()in telemetry_cli.py now enumerates profiles seen in the last 30 days viadb.list_profile_ids(since30)and emits each profile's budget verdict (or null) underresult["profiles"], mirroring the existingcron_jobsandsenderssections. Adds regression tests asserting the section is present, empty when no profiles exist, and populated with the correct scope/spent/limit when one does.Why: PR #95 added the
Profiles:section to the chat/budgetstatus block and/budget set profilesupport, but the--jsonstatus output (telemetry_cli._budget_json) still omitted per-profile budgets. Any caller usinghermes-telemetry budget --jsonsaw global, cron, and sender budgets but no profiles, leaving the JSON surface inconsistent with the text block and with/budget forecast, which accepts the profile scope.Milestones
How to test:
Manual smoke test: run
hermes-telemetry budget --jsonand confirm aprofilesobject is present.