Apply argument comment lint across codex-rs (#14652)

## Why

Once the repo-local lint exists, `codex-rs` needs to follow the
checked-in convention and CI needs to keep it from drifting. This commit
applies the fallback `/*param*/` style consistently across existing
positional literal call sites without changing those APIs.

The longer-term preference is still to avoid APIs that require comments
by choosing clearer parameter types and call shapes. This PR is
intentionally the mechanical follow-through for the places where the
existing signatures stay in place.

After rebasing onto newer `main`, the rollout also had to cover newly
introduced `tui_app_server` call sites. That made it clear the first cut
of the CI job was too expensive for the common path: it was spending
almost as much time installing `cargo-dylint` and re-testing the lint
crate as a representative test job spends running product tests. The CI
update keeps the full workspace enforcement but trims that extra
overhead from ordinary `codex-rs` PRs.

## What changed

- keep a dedicated `argument_comment_lint` job in `rust-ci`
- mechanically annotate remaining opaque positional literals across
`codex-rs` with exact `/*param*/` comments, including the rebased
`tui_app_server` call sites that now fall under the lint
- keep the checked-in style aligned with the lint policy by using
`/*param*/` and leaving string and char literals uncommented
- cache `cargo-dylint`, `dylint-link`, and the relevant Cargo
registry/git metadata in the lint job
- split changed-path detection so the lint crate's own `cargo test` step
runs only when `tools/argument-comment-lint/*` or `rust-ci.yml` changes
- continue to run the repo wrapper over the `codex-rs` workspace, so
product-code enforcement is unchanged

Most of the code changes in this commit are intentionally mechanical
comment rewrites or insertions driven by the lint itself.

## Verification

- `./tools/argument-comment-lint/run.sh --workspace`
- `cargo test -p codex-tui-app-server -p codex-tui`
- parsed `.github/workflows/rust-ci.yml` locally with PyYAML

---

* -> #14652
* #14651
This commit is contained in:
Michael Bolin authored and GitHub committed 2026-03-16 16:48:15 -07:00
1 parent 6f05d8d735
commit b77fe8fefe
261 files changed
+2311 -1377

No files matched your search

+15 -15
View File
@@ -137,19 +137,19 @@ impl KeyboardHandler for AuthModeWidget {
match key_event.code {
KeyCode::Up | KeyCode::Char('k') => {
self.move_highlight(-1);
self.move_highlight(/*delta*/ -1);
}
KeyCode::Down | KeyCode::Char('j') => {
self.move_highlight(1);
self.move_highlight(/*delta*/ 1);
}
KeyCode::Char('1') => {
self.select_option_by_index(0);
self.select_option_by_index(/*index*/ 0);
}
KeyCode::Char('2') => {
self.select_option_by_index(1);
self.select_option_by_index(/*index*/ 1);
}
KeyCode::Char('3') => {
self.select_option_by_index(2);
self.select_option_by_index(/*index*/ 2);
}
KeyCode::Enter => {
let sign_in_state = { (*self.sign_in_state.read().unwrap()).clone() };
@@ -182,7 +182,7 @@ impl KeyboardHandler for AuthModeWidget {
});
*sign_in_state = SignInState::PickMode;
drop(sign_in_state);
self.set_error(None);
self.set_error(/*message*/ None);
self.request_frame.schedule_frame();
}
SignInState::ChatGptDeviceCode(state) => {
@@ -191,7 +191,7 @@ impl KeyboardHandler for AuthModeWidget {
}
*sign_in_state = SignInState::PickMode;
drop(sign_in_state);
self.set_error(None);
self.set_error(/*message*/ None);
self.request_frame.schedule_frame();
}
_ => {}
@@ -585,7 +585,7 @@ impl AuthModeWidget {
match key_event.code {
KeyCode::Esc => {
*guard = SignInState::PickMode;
self.set_error(None);
self.set_error(/*message*/ None);
should_request_frame = true;
}
KeyCode::Enter => {
@@ -604,7 +604,7 @@ impl AuthModeWidget {
} else {
state.value.pop();
}
self.set_error(None);
self.set_error(/*message*/ None);
should_request_frame = true;
}
KeyCode::Char(c)
@@ -618,7 +618,7 @@ impl AuthModeWidget {
state.prepopulated_from_env = false;
}
state.value.push(c);
self.set_error(None);
self.set_error(/*message*/ None);
should_request_frame = true;
}
_ => {}
@@ -651,7 +651,7 @@ impl AuthModeWidget {
} else {
state.value.push_str(trimmed);
}
self.set_error(None);
self.set_error(/*message*/ None);
} else {
return false;
}
@@ -666,7 +666,7 @@ impl AuthModeWidget {
self.disallow_api_login();
return;
}
self.set_error(None);
self.set_error(/*message*/ None);
let prefill_from_env = read_openai_api_key_from_env();
let mut guard = self.sign_in_state.write().unwrap();
match &mut *guard {
@@ -696,7 +696,7 @@ impl AuthModeWidget {
self.disallow_api_login();
return;
}
self.set_error(None);
self.set_error(/*message*/ None);
let request_handle = self.app_server_request_handle.clone();
let sign_in_state = self.sign_in_state.clone();
let error = self.error.clone();
@@ -758,7 +758,7 @@ impl AuthModeWidget {
return;
}
self.set_error(None);
self.set_error(/*message*/ None);
let request_handle = self.app_server_request_handle.clone();
let sign_in_state = self.sign_in_state.clone();
let error = self.error.clone();
@@ -822,7 +822,7 @@ impl AuthModeWidget {
}
if notification.success {
self.set_error(None);
self.set_error(/*message*/ None);
*self.sign_in_state.write().unwrap() = SignInState::ChatGptSuccessMessage;
} else {
self.set_error(notification.error);
@@ -56,7 +56,7 @@ impl WidgetRef for &TrustDirectoryWidget {
"Do you trust the contents of this directory? Working with untrusted contents comes with higher risk of prompt injection.".to_string(),
)
.wrap(Wrap { trim: true })
.inset(Insets::tlbr(0, 2, 0, 0)),
.inset(Insets::tlbr(/*top*/ 0, /*left*/ 2, /*bottom*/ 0, /*right*/ 0)),
);
column.push("");
@@ -80,7 +80,9 @@ impl WidgetRef for &TrustDirectoryWidget {
Paragraph::new(error.to_string())
.red()
.wrap(Wrap { trim: true })
.inset(Insets::tlbr(0, 2, 0, 0)),
.inset(Insets::tlbr(
/*top*/ 0, /*left*/ 2, /*bottom*/ 0, /*right*/ 0,
)),
);
column.push("");
}
@@ -95,7 +97,9 @@ impl WidgetRef for &TrustDirectoryWidget {
" to continue".dim()
},
])
.inset(Insets::tlbr(0, 2, 0, 0)),
.inset(Insets::tlbr(
/*top*/ 0, /*left*/ 2, /*bottom*/ 0, /*right*/ 0,
)),
);
column.render(area, buf);