mirror of
https://github.com/openai/codex.git
synced 2026-05-04 03:16:31 +00:00
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:
@@ -792,7 +792,11 @@ impl JsReplManager {
|
||||
}
|
||||
|
||||
fn summarize_tool_call_error(error: &str) -> JsReplToolCallResponseSummary {
|
||||
Self::summarize_text_payload(None, JsReplToolCallPayloadKind::Error, error)
|
||||
Self::summarize_text_payload(
|
||||
/*response_type*/ None,
|
||||
JsReplToolCallPayloadKind::Error,
|
||||
error,
|
||||
)
|
||||
}
|
||||
|
||||
pub async fn reset(&self) -> Result<(), FunctionCallError> {
|
||||
@@ -962,7 +966,7 @@ impl JsReplManager {
|
||||
with_model_kernel_failure_message(
|
||||
"js_repl kernel closed unexpectedly",
|
||||
"response_channel_closed",
|
||||
None,
|
||||
/*stream_error*/ None,
|
||||
&snapshot,
|
||||
)
|
||||
} else {
|
||||
@@ -1531,7 +1535,13 @@ impl JsReplManager {
|
||||
if is_js_repl_internal_tool(&req.tool_name) {
|
||||
let error = "js_repl cannot invoke itself".to_string();
|
||||
let summary = Self::summarize_tool_call_error(&error);
|
||||
Self::log_tool_call_response(&req, false, &summary, None, Some(&error));
|
||||
Self::log_tool_call_response(
|
||||
&req,
|
||||
/*ok*/ false,
|
||||
&summary,
|
||||
/*response*/ None,
|
||||
Some(&error),
|
||||
);
|
||||
return RunToolResult {
|
||||
id: req.id,
|
||||
ok: false,
|
||||
@@ -1610,7 +1620,13 @@ impl JsReplManager {
|
||||
let summary = Self::summarize_tool_call_response(&response);
|
||||
match serde_json::to_value(response) {
|
||||
Ok(value) => {
|
||||
Self::log_tool_call_response(&req, true, &summary, Some(&value), None);
|
||||
Self::log_tool_call_response(
|
||||
&req,
|
||||
/*ok*/ true,
|
||||
&summary,
|
||||
Some(&value),
|
||||
/*error*/ None,
|
||||
);
|
||||
RunToolResult {
|
||||
id: req.id,
|
||||
ok: true,
|
||||
@@ -1621,7 +1637,13 @@ impl JsReplManager {
|
||||
Err(err) => {
|
||||
let error = format!("failed to serialize tool output: {err}");
|
||||
let summary = Self::summarize_tool_call_error(&error);
|
||||
Self::log_tool_call_response(&req, false, &summary, None, Some(&error));
|
||||
Self::log_tool_call_response(
|
||||
&req,
|
||||
/*ok*/ false,
|
||||
&summary,
|
||||
/*response*/ None,
|
||||
Some(&error),
|
||||
);
|
||||
RunToolResult {
|
||||
id: req.id,
|
||||
ok: false,
|
||||
@@ -1634,7 +1656,13 @@ impl JsReplManager {
|
||||
Err(err) => {
|
||||
let error = err.to_string();
|
||||
let summary = Self::summarize_tool_call_error(&error);
|
||||
Self::log_tool_call_response(&req, false, &summary, None, Some(&error));
|
||||
Self::log_tool_call_response(
|
||||
&req,
|
||||
/*ok*/ false,
|
||||
&summary,
|
||||
/*response*/ None,
|
||||
Some(&error),
|
||||
);
|
||||
RunToolResult {
|
||||
id: req.id,
|
||||
ok: false,
|
||||
|
||||
Reference in New Issue
Block a user