Skip to content

fix: honor deprecated experimental flags instead of ignoring them - #532

Open
not-matthias wants to merge 1 commit into
mainfrom
fix/deprecated-experimental-flags
Open

not-matthias wants to merge 1 commit into
mainfrom
fix/deprecated-experimental-flags

Conversation

@not-matthias

@not-matthias not-matthias commented Sep 8, 2026

Copy link
Copy Markdown
Member

--experimental-cycle-estimation and --experimental-exclude-allocations were parsed but deliberately dropped. Since --exclude-allocations defaults to false, anyone still passing the old flag silently lost allocation exclusion.

Both now feed their graduated counterparts, and the warning states the truth instead of "has no effect":

⚠ --experimental-exclude-allocations is deprecated and will be removed in a future release: use --exclude-allocations instead.

Closes COD-3511

@greptile-apps

greptile-apps Bot commented Sep 8, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

The PR is not yet safe to merge because its deprecation warnings are silently discarded for the Run and Exec commands.

Fix All in Claude CodeFindings

  1. P1 Deprecation warnings are suppressed
Fix with agent prompt
### Issue 1
src/cli/experimental.rs:92-94
For `run` and `exec`, `warn_if_deprecated()` runs before those commands initialize their logger. As a result, `log::warn!` uses the no-op logger, so users who pass either deprecated flag do not see the promised migration warning. Keep this warning on a pre-initialization output path or emit it after logger setup.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

This PR makes deprecated cycle-estimation and allocation-exclusion flags feed their stable counterparts for both run and exec.

  • Adds shared resolution helpers that combine stable and deprecated options.
  • Uses the resolved values when constructing orchestrator configurations.
  • Revises deprecation messaging to recommend the stable flags.
  • The latest warning implementation runs before logger initialization and is therefore suppressed on the affected commands.

Reviews (2) · Last reviewed commit: "fix: honor deprecated experimental flags..."

Comment thread src/cli/shared.rs
Comment thread src/cli/experimental.rs Outdated
@codspeed

codspeed Bot commented Sep 8, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

✅ 17 untouched benchmarks


Comparing fix/deprecated-experimental-flags (e11c9df) with main (37eba9e)

Open in CodSpeed

`--experimental-cycle-estimation` and `--experimental-exclude-allocations`
were parsed but deliberately dropped, so anyone still passing
`--experimental-exclude-allocations` silently lost allocation exclusion.

Both now feed their graduated counterparts and warn that they are
deprecated and will be removed in a future release.
@not-matthias
not-matthias force-pushed the fix/deprecated-experimental-flags branch from 1cf5a8b to e11c9df Compare September 8, 2026 14:16
Comment thread src/cli/experimental.rs
Comment on lines +92 to 94
log::warn!(
"{flag} is deprecated and will be removed in a future release: use {new_flag} instead."
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Deprecation warnings are suppressed

For run and exec, warn_if_deprecated() runs before those commands initialize their logger. As a result, log::warn! uses the no-op logger, so users who pass either deprecated flag do not see the promised migration warning. Keep this warning on a pre-initialization output path or emit it after logger setup.

Prompt To Fix With AI
This is a comment left during a code review.
Path: src/cli/experimental.rs
Line: 92-94

Comment:
**Deprecation warnings are suppressed**

For `run` and `exec`, `warn_if_deprecated()` runs before those commands initialize their logger. As a result, `log::warn!` uses the no-op logger, so users who pass either deprecated flag do not see the promised migration warning. Keep this warning on a pre-initialization output path or emit it after logger setup.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Claude Code Fix in Codex

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant