From a5f21261bf8113d323fdc361a147da0bfae7fd0f Mon Sep 17 00:00:00 2001 From: Manfred Riem <15701806+mnriem@users.noreply.github.com> Date: Wed, 23 Sep 2026 13:43:26 -0500 Subject: [PATCH] fix(integrations): remove duplicate Forge dispatch override Keep the equivalent, documented Forge override and remove the shadowing definition introduced by overlapping fixes. Ruff F811 then passes without changing dispatch behavior. Assisted-by: GitHub Copilot (model: GPT-6 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../integrations/forge/__init__.py | 30 ------------------- 1 file changed, 30 deletions(-) diff --git a/src/specify_cli/integrations/forge/__init__.py b/src/specify_cli/integrations/forge/__init__.py index 365618ff16..520e417523 100644 --- a/src/specify_cli/integrations/forge/__init__.py +++ b/src/specify_cli/integrations/forge/__init__.py @@ -133,36 +133,6 @@ def build_command_invocation(self, command_name: str, args: str = "") -> str: invocation = f"{invocation} {args}" return invocation - def build_exec_args( - self, - prompt: str, - *, - model: str | None = None, - output_json: bool = True, - integration_args: Sequence[str] | None = None, - integration_options: Mapping[str, Any] | None = None, - project_root: Path | None = None, - ) -> list[str] | None: - self.validate_runtime_config(integration_args, integration_options) - args = [self._resolve_executable()] - # Operator-injected extra args go before -p: Forge parses its global - # flags ahead of the prompt flag, matching the opencode/goose/codex - # ordering. - self._apply_extra_args_env_var(args) - - args.extend(["-p", prompt]) - - # `model` is deliberately dropped: Forge has no model-selection flag. - # Model choice is a persisted setting (`forge config set model`), and - # `--agent` takes an agent ID rather than a model identifier, so - # forwarding the caller's model onto it would silently select the - # wrong thing. - # - # `output_json` is likewise dropped: Forge has no `--output-format`. - # Its machine-readable `--porcelain` exists only on certain - # subcommands, not on the top-level prompt invocation. - return args - def setup( self, project_root: Path,