Repository navigation
Conversation
Castiron custom codeEvaluated main: ✅ No new custom-code files detected. 2 mixed files remain; 0 existing customizations changed. Compared 2 existing customizations unchanged
A changed generated baseline means this report cannot reliably identify which handwritten lines changed. Inspect the custom-code diffDownload the exact patch produced by this run (requires repository access): gh run download 37837428714 --repo openai/openai-cli \
--name castiron-custom-code-37837428714-1 --dir /tmp/castiron-custom-code-37837428714-1
git apply --stat /tmp/castiron-custom-code-37837428714-1/custom-code.patch
cat /tmp/castiron-custom-code-37837428714-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin 6fcc478086507571286727084a7d7b162a37ab51 61e8db6b7fe85b5c1793396f6be6390de99c1d42
python3 scripts/castiron/custom_code_report.py report \
--base 6fcc478086507571286727084a7d7b162a37ab51 \
--head 61e8db6b7fe85b5c1793396f6be6390de99c1d42 --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-61e8db6b7fe8
cat /tmp/castiron-custom-code-61e8db6b7fe8/custom-code.patchThis is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR. |
|
@codex review Please review commit |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cd1449a5cb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| func configureOutputPolicy(root *cli.Command) { | ||
| root.Flags = append(root.Flags, | ||
| &cli.BoolFlag{Name: "quiet", Usage: "Suppress optional feedback. Keep data, help, errors and exit status. Overrides verbose.", HideDefault: true}, |
There was a problem hiding this comment.
Apply quiet policy to generated receipts
When --quiet is used with commands that save output, optional receipts are still printed because the wrapper only adds policy to the context and the generated actions never consult it. For example, openai --quiet files content FILE --output saved.bin still executes fmt.Println(message) in pkg/cmd/file.go:366-369, and openai --quiet @manpages still prints from pkg/cmd/cmd.go:1059; this contradicts the new flag's promise and contaminates stdout. Integrate the policy into the authoritative generator/runtime bridge for these generated actions rather than exposing --quiet before all receipt paths honor it.
AGENTS.md reference: AGENTS.md:L8-L13
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
This remains open. The generated binary-save and manpage actions still bypass the handwritten output policy. The authoritative generator correction is prepared, but its source publication and normal generation checkpoints remain blocked. I will preserve generated ownership and keep this requirement marked incomplete until the generated callers and public regressions are verified.
There was a problem hiding this comment.
Correction to my earlier gate summary: API binary receipts now have a published handwritten fix in #395 at f1e868e. Its request-scoped policy handles completed receipts and returns an empty message to the existing generated print guards. Direct helper callers retain their returned-message contract. No generated edits are needed for those seven API paths. This standalone PR still needs validated composition with that fix. @manpages remains a separate generator correction blocked on source publication. This thread stays open until both paths are integrated and verified.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: af738605da
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Forced color could put ANSI escapes into piped JSON. Structured streams could also wait for another event before printing.
This removes added color from piped results and emits stream events promptly.
Quiet and verbose controls preserve selected data and failure status.
In this standalone PR, binary-save and manpage receipts still reach stdout and ignore quiet.
The API binary-receipt fix is published in #395; composition and combined validation remain pending.
@manpagesstill needs the separate generator correction, whose publication remains blocked.The recorded native Windows lifecycle checks also remain open.
What changes
Commands
The new flags are
--quietand--verbose, grouped under Output in root help.Quiet overrides verbose.
-vstill means version.The default remains readable text, including pipes. A destination filename does not select a format.
JSON lists still emit independent values. This change introduces no arrays, JSON/raw aliases, or CI output mode.
Explicit explore retains terminal interaction in CI. Quiet does not disable requested interaction.
--debugremains a separate troubleshooting control.Code
pkg/customowns feedback policy, human errors, and image-progress orchestration.main.gowraps the existing request-configuration runner so verbose reporting includes setup and cleanup failures.Existing formatters and iterators retain data selection and error ownership. Transformers remain unchanged.
This adds no package or dependency and does not change generated sources.
Tested
Candidate:
61e8db6against main6fcc478.Runtime remains identical to the tested
af738605; the last two commits correct validation assets.Independent adversarial review passed 121 executable checks and three clean-binary controls.
Public regression checks passed 83 groups. Lifecycle race checks, required Bash/zsh checks, and selected large-payload cases passed.
Clean and single-file builds, focused vet, and module verification passed for the unchanged runtime.
The trusted hosted budget check passes at 21/1000 lines.
Six native image probes and five terminal regressions passed, preserving final PNGs, paths, API events, and exit statuses.
CI-with-TTY checks preserved explicit explore and quiet behavior. All 29 recorded frames passed visual review at the documented widths.
The affected tooling checks pass: 51 picker cases, 50 VS Code protocol cases, and five list/get recording scenes.
CI tests and artifact builds pass at
61e8db6.Native command/help CI passes on macOS, Linux, and Windows.
CodeQL and the trusted budget check pass at the same head.
Full Windows terminal lifecycle and graphics remain unverified.
API receipt composition, the manpage generator correction, and remaining peer checks keep row 9 incomplete.
Demo
The demo compares real CLI binaries against a synthetic loopback API on macOS.
Before uses
da762ff; After usesaf738605. Runtime remains unchanged at61e8db6.It shows piped JSON parsing, event timing, quiet data preservation, and verbose stderr separation.
The capture validator checked exact bytes, request counts, event timing, and all process statuses.
The terminal replay uses Menlo on macOS. Separate quality captures cover 40 and 100 columns.
These recordings do not establish native terminal-app graphics or Windows lifecycle coverage.
Before:
After:
Recording recipe.
Output contract.
Recordings remain outside Git.