open-code-review/cmd/opencodereview
xujiejie 43bbc48779
refactor(background): treat --background and --background-file as mutually exclusive with file precedence (#1016)
* refactor(background): treat --background and --background-file as mutually exclusive with file precedence

Replace mergeBackground with selectBackground: when both flags are
provided, --background-file wins and --background is ignored (with a
stderr warning). The commit-message fallback now fires only when neither
entry point was used.

This fixes the inconsistency where review and delegate produced
different backgrounds for equivalent input (issue #1013), and makes
the effective background deterministic regardless of which command
is invoked.

Closes #1013

* refactor(background): extract resolveBackground helper and fix tests

Address reviewer feedback:
- Extract resolveBackground() so review and delegate share one call
  site, making future drift impossible.
- Rewrite tests to call resolveBackground directly instead of
  duplicating the if/else-if logic (which could never fail).
- Fix stale comment on TestBackgroundFilePrecedenceOverCommit.
2026-08-20 18:03:28 +08:00
..
apply_provider_field_test.go feat(providers): add AWS Bedrock as a built-in provider with native SigV4 auth (#705) 2026-08-20 10:22:45 +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 refactor(background): treat --background and --background-file as mutually exclusive with file precedence (#1016) 2026-08-20 18:03:28 +08:00
background_file_test.go refactor(background): treat --background and --background-file as mutually exclusive with file precedence (#1016) 2026-08-20 18:03:28 +08:00
bedrock_config_test.go feat(providers): add AWS Bedrock as a built-in provider with native SigV4 auth (#705) 2026-08-20 10:22:45 +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
color.go fix(cmd): suppress ANSI color when stdout is not a TTY (#927) 2026-08-19 21:51:38 +08:00
color_test.go fix(cmd): suppress ANSI color when stdout is not a TTY (#927) 2026-08-19 21:51:38 +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(providers): add AWS Bedrock as a built-in provider with native SigV4 auth (#705) 2026-08-20 10:22:45 +08:00
config_cmd_test.go feat(providers): add AWS Bedrock as a built-in provider with native SigV4 auth (#705) 2026-08-20 10:22:45 +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 refactor(background): treat --background and --background-file as mutually exclusive with file precedence (#1016) 2026-08-20 18:03:28 +08:00
delegate_exec_test.go refactor(background): treat --background and --background-file as mutually exclusive with file precedence (#1016) 2026-08-20 18:03:28 +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(providers): add AWS Bedrock as a built-in provider with native SigV4 auth (#705) 2026-08-20 10:22:45 +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 fix(cmd): suppress ANSI color when stdout is not a TTY (#927) 2026-08-19 21:51:38 +08:00
output_color_test.go fix(cmd): suppress ANSI color when stdout is not a TTY (#927) 2026-08-19 21:51:38 +08:00
output_helpers_test.go feat(config): resolve api_key/auth_token from a command (#236) (#605) 2026-08-17 14:40:37 +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 fix(cmd): suppress ANSI color when stdout is not a TTY (#927) 2026-08-19 21:51:38 +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
progress_stream_e2e_test.go fix(cmd): stream review progress to stderr for json and sarif (#929) 2026-08-19 19:05:53 +08:00
provider_cmd.go feat(providers): add AWS Bedrock as a built-in provider with native SigV4 auth (#705) 2026-08-20 10:22:45 +08:00
provider_cmd_test.go feat(config): resolve api_key/auth_token from a command (#236) (#605) 2026-08-17 14:40:37 +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(providers): add AWS Bedrock as a built-in provider with native SigV4 auth (#705) 2026-08-20 10:22:45 +08:00
provider_tui_cpinput_test.go feat(config): resolve api_key/auth_token from a command (#236) (#605) 2026-08-17 14:40:37 +08:00
provider_tui_customform_test.go feat(providers): add AWS Bedrock as a built-in provider with native SigV4 auth (#705) 2026-08-20 10:22:45 +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(providers): add AWS Bedrock as a built-in provider with native SigV4 auth (#705) 2026-08-20 10:22:45 +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 feat(config): resolve api_key/auth_token from a command (#236) (#605) 2026-08-17 14:40:37 +08:00
provider_tui_test.go feat(providers): add AWS Bedrock as a built-in provider with native SigV4 auth (#705) 2026-08-20 10:22:45 +08:00
retry_fake_llm_test.go feat(config): resolve api_key/auth_token from a command (#236) (#605) 2026-08-17 14:40:37 +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 refactor(background): treat --background and --background-file as mutually exclusive with file precedence (#1016) 2026-08-20 18:03:28 +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 fix(cmd): suppress ANSI color when stdout is not a TTY (#927) 2026-08-19 21:51:38 +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_budget_json_test.go feat(scan): report token budget stop in JSON summary.budget_exceeded (#791) 2026-08-16 19:21: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 fix(cmd): stream review progress to stderr for json and sarif (#929) 2026-08-19 19:05:53 +08:00
shared_flags.go refactor(background): treat --background and --background-file as mutually exclusive with file precedence (#1016) 2026-08-20 18:03:28 +08:00
shared_llmruntime_test.go feat(config): resolve api_key/auth_token from a command (#236) (#605) 2026-08-17 14:40:37 +08:00
shared_test.go fix(cmd): stream review progress to stderr for json and sarif (#929) 2026-08-19 19:05:53 +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