Conversation
Squashed for a clean rebase onto main after v0.5.0 landed, and reverted the changelog.d/ fragment system in favor of a direct CHANGELOG.md edit (dropped per team discussion — more process than this repo's PR concurrency warrants). Functional content is unchanged from the original review. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BK3fzED9ksTWsvoPfsEwpS
dca80f8 to
b026b5d
Compare
|
This reverts the merged v0.5.0 CHANGELOG entry.
The identical clobber is in #35, so fixing one doesn't fix the other — whichever merges second re-applies it. #32 and #33 branch from the same commit and leave Is the CHANGELOG restructure intentional? Nothing in the description, the commit message, or #29 mentions it. |
Addresses part of #29 (tracking issue). Companion to #35, which handles chart rendering, docs and CI — this branch merges that one in as well, so both land together cleanly (no conflicts between the two on the shared files they both touch).
-n/--limitnow applies to--jsonoutput tooEvery list command applied the limit only to the human table;
-nhad no effect on--json(or, since TOON's removal, on piped output — the same code path). IntroducedlimitSlice, called beforestructuredOutputeverywhere:apps list,endpoints list,jobs list,traces list(endpoint and job),errors list,errors occurrences,anomalies list, all fourusagemodes, andinsights list/insights show(which didn't limit in either mode before). Totals and percentages are still computed over the full result set —-nonly changes which rows ship.Other fixes
scout usage --billing-period --jsonnow includes the billing period and server-reported total (previously identical in shape to a plain--from/--torun).jobs metrics --type latency --jsonno longer carries atotalkey that's actually execution time, not latency — renamed toexecution_time_totalto match what it is.scout usage --app <id>(without--by-day) now actually filters to that app instead of silently returning all apps.scout anomalies --endpointnow accepts the same forms as every other--endpointflag (Base64 id, plain endpoint name) in addition to the fully-scoped name — previously the base64 form silently matched nothing.--endpoint '',--job '', etc.) now error clearly client-side instead of reaching the server.--jobvalues (including a bare job class name pasted without its queue) now error client-side with guidance instead of a rawAPI error (500).scout auth logouton a fresh install (no config directory yet) is now a no-op success instead of an error.--from/--tonow reject a reversed range and unreasonable relative durations (negative, or past a 5-year bound).--app 0(or negative) now gives a clear "invalid --app value" error instead of "no app specified."scout traces show <job-trace-id>404s now explain that job traces have no detail endpoint.scout errors showomits theCount:line when it's 0 rather than showing a misleading zero.scout insights shownow prints fields in sorted (deterministic) order, indents nested objects instead of Go'smap[...]syntax, and renders nil/empty values as—.Test plan
gofmt -l .,go vet ./...,go build,go test -race ./...,golangci-lint run ./...— all cleancmd/root_test.go,cmd/anomalies_test.go,cmd/insights_test.go,cmd/usage_test.go,cmd/traces_test.go,cmd/jobs_test.go,internal/timeutil/parse_test.go,internal/config/config_test.go,internal/api/jobs_test.go-nunder--jsonfor several commands, the anomalies endpoint fix (plain name and full-scoped name both return the same results), a bare job class name rejected cleanly, reversed/negative timeframes rejected on a timeframe-scoped command,--app 0rejected,auth logouton a fresh config directory🤖 Generated with Claude Code
https://claude.ai/code/session_01BK3fzED9ksTWsvoPfsEwpS