open-code-review/cmd/opencodereview
Abu Bakar Siddik d8b222a180
refactor(telemetry): replace PrintTraceSummary positional params with TraceSummary struct (#909)
* refactor(telemetry): replace PrintTraceSummary positional params with TraceSummary struct

PrintTraceSummary had grown to nine positional parameters after the
session ID landed in #870, making call sites hard to read and easy to
get wrong. Introduce a TraceSummary struct and pass it as a single
argument (Option A in the issue); printed output is unchanged.

Also add stdout.Swap, which swaps the package writer under the existing
mutex and returns a restore function, so tests can capture and assert
output written through stdout.Writer(). The PrintTraceSummary tests now
assert the exact summary, cache-token, and session lines instead of
only verifying the call does not panic.

Closes #906

* docs(stdout): clarify Swap concurrency doc comment

The mutex in Swap and its restore closure already guarantees memory
safety under concurrent access; the remaining hazard is semantic —
concurrent swaps produce non-deterministic restore ordering. Rephrase
the comment to state that distinction, as suggested in PR review.
2026-08-15 12:19:28 +08:00
..
apply_provider_field_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
arg_errors.go fix(cmd): report expected arguments when positional count is wrong (#892) 2026-08-13 20:44:04 +08:00
arg_errors_test.go fix(cmd): report expected arguments when positional count is wrong (#892) 2026-08-13 20:44:04 +08:00
background_file.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
background_file_test.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
budget_output_test.go Feat/llm retry report:SDK retry-attempt observability for review (#785) (#790) 2026-08-13 14:31:18 +08:00
compat_test.go fix(resume): preserve checkpoints after Ctrl-C (#902) 2026-08-14 17:42:24 +08:00
completion.go fix(cmd): report expected arguments when positional count is wrong (#892) 2026-08-13 20:44:04 +08:00
config_cmd.go feat(provider): support custom Base URL for LiteLLM/built-in providers (#729) 2026-08-14 14:04:10 +08:00
config_cmd_test.go feat(provider): support custom Base URL for LiteLLM/built-in providers (#729) 2026-08-14 14:04:10 +08:00
config_dispatch_test.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
config_runset_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
config_unset_error_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
delegate_cmd.go fix(cmd): report expected arguments when positional count is wrong (#892) 2026-08-13 20:44:04 +08:00
delegate_exec_test.go fix(cli): stop preview from creating a review session (#784) 2026-08-08 20:55:54 +08:00
delegate_helpers_test.go feat(cmd): add SARIF output format (#820) 2026-08-12 18:03:34 +08:00
emit_run_result_test.go Feat/llm retry report:SDK retry-attempt observability for review (#785) (#790) 2026-08-13 14:31:18 +08:00
flag_suggest.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
flag_suggest_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
flags_test.go feat(config): make per-file token limit configurable (#716) 2026-08-07 11:23:38 +08:00
git.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
git_test.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
llm_cmd.go Feat/llm retry report:SDK retry-attempt observability for review (#785) (#790) 2026-08-13 14:31:18 +08:00
main.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
manual_e2e_retry_test.go chore: remove Chinese doc references from retry test comments (#886) 2026-08-13 15:41:28 +08:00
misc_helpers_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
output.go Feat/llm retry report:SDK retry-attempt observability for review (#785) (#790) 2026-08-13 14:31:18 +08:00
output_helpers_test.go Feat/llm retry report:SDK retry-attempt observability for review (#785) (#790) 2026-08-13 14:31:18 +08:00
output_manifest_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
output_test.go chore(ci): fail CI when unapproved non-English text appears in source files (#876) 2026-08-13 14:43:55 +08:00
parent_cmd_test.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
procattr_unix.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
procattr_windows.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
provider_cmd.go feat(provider): support custom Base URL for LiteLLM/built-in providers (#729) 2026-08-14 14:04:10 +08:00
provider_cmd_test.go feat(provider): support custom Base URL for LiteLLM/built-in providers (#729) 2026-08-14 14:04:10 +08:00
provider_config_apply_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
provider_tui.go feat(provider): support custom Base URL for LiteLLM/built-in providers (#729) 2026-08-14 14:04:10 +08:00
provider_tui_cpinput_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
provider_tui_customform_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
provider_tui_deleteconfirm_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
provider_tui_editsave_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
provider_tui_funcs_test.go feat(provider): support custom Base URL for LiteLLM/built-in providers (#729) 2026-08-14 14:04:10 +08:00
provider_tui_manualenter_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
provider_tui_modeltui_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
provider_tui_persist_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
provider_tui_rollback_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
provider_tui_savefail_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
provider_tui_test.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
retry_fake_llm_test.go Feat/llm retry report:SDK retry-attempt observability for review (#785) (#790) 2026-08-13 14:31:18 +08:00
retry_report_e2e_test.go chore: remove Chinese doc references from retry test comments (#886) 2026-08-13 15:41:28 +08:00
retry_report_render_test.go chore: remove Chinese doc references from retry test comments (#886) 2026-08-13 15:41:28 +08:00
review_cmd.go fix(resume): preserve checkpoints after Ctrl-C (#902) 2026-08-14 17:42:24 +08:00
review_cmd_test.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
review_helpers_test.go fix(resume): preserve checkpoints after Ctrl-C (#902) 2026-08-14 17:42:24 +08:00
review_mcp_more_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
review_resume_more_test.go feat(resume): add trusted resume validation and transition lineage (#786) (#845) 2026-08-14 11:31:40 +08:00
root.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
rules_check_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
rules_cmd.go fix(cmd): report expected arguments when positional count is wrong (#892) 2026-08-13 20:44:04 +08:00
sarif.go feat(cmd): add SARIF output format (#820) 2026-08-12 18:03:34 +08:00
sarif_test.go Feat/llm retry report:SDK retry-attempt observability for review (#785) (#790) 2026-08-13 14:31:18 +08:00
scan_cmd.go Feat/llm retry report:SDK retry-attempt observability for review (#785) (#790) 2026-08-13 14:31:18 +08:00
scan_cmd_test.go feat(config): make per-file token limit configurable (#716) 2026-08-07 11:23:38 +08:00
scan_helpers_test.go fix(cli): stop preview from creating a review session (#784) 2026-08-08 20:55:54 +08:00
scan_resume_more_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
session_cmd.go feat(resume): add trusted resume validation and transition lineage (#786) (#845) 2026-08-14 11:31:40 +08:00
session_cmd_test.go chore(ci): fail CI when unapproved non-English text appears in source files (#876) 2026-08-13 14:43:55 +08:00
session_complete_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
session_display_more_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
shared.go refactor(telemetry): replace PrintTraceSummary positional params with TraceSummary struct (#909) 2026-08-15 12:19:28 +08:00
shared_flags.go feat(cmd): add SARIF output format (#820) 2026-08-12 18:03:34 +08:00
shared_llmruntime_test.go test: raise statement coverage to 90% and enforce it in CI (#747) 2026-08-06 12:55:44 +08:00
shared_test.go feat(config): make per-file token limit configurable (#716) 2026-08-07 11:23:38 +08:00
shell_unix.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
shell_windows.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
smallfiles_test.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
version.go fix(cli): reject unexpected positional arguments (#749) 2026-08-06 21:41:07 +08:00
viewer_cmd.go chore: add SPDX license headers and automated verification (#740) 2026-08-05 21:26:27 +08:00
zero_args_test.go fix(cli): reject unexpected positional arguments (#749) 2026-08-06 21:41:07 +08:00