Repository navigation
Conversation
Forward app stdin independently of terminal detection by reusing shellCommandIO, and remove the terminal-only input gate. Allocate a TTY only when both input and output look like terminals. Add public-entry regressions for pipe/file input, captured output, EOF, closed input and execution errors. Built-binary Docker/RDA probes cover exact dummy-byte delivery, mixed terminal streams and absence from saved metadata. Validation: focused race tests, vet and full local nox CI, with the existing WSL host-test exclusion, tracked-source package selection and local 10m aggregate Go bound. Remote exact-head CI remains required.
Code Review ✅ Approved🟡 Medium risk · Forwarding piped or redirected stdin to app commands could cause them to consume input they previously ignored, changing their behavior. Forwards app stdin independently of terminal detection by reusing shellCommandIO and removes the terminal-only input gate, allocating a TTY only when both input and output are terminals. No issues found. VerificationRules No rules evaluated Functional validation Not enabledFor more verification details, comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
|
PR-cycle state — maintained automatically. Do not edit by hand. Mechanical PR-cycle state (JSON){
"approval": {
"candidate_revision_fingerprint": "sha256:67898c6999a2bede8205d88653853f9249bdc6f944af90c77cbc94bee96ba305",
"evidence": {
"attestations": [],
"candidate_revision_fingerprint": "sha256:67898c6999a2bede8205d88653853f9249bdc6f944af90c77cbc94bee96ba305",
"check_conclusions": [
{
"conclusion": "SUCCESS",
"name": "Bash native evidence checks",
"run_id": 123129508152
},
{
"conclusion": "SUCCESS",
"name": "Gitar",
"run_id": 123121356440
},
{
"conclusion": "SUCCESS",
"name": "Linux CI checks",
"run_id": 123121358706
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-amd64)",
"run_id": 123121358402
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-arm64)",
"run_id": 123121358502
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-amd64)",
"run_id": 123121358109
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-arm64)",
"run_id": 123121358644
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-amd64)",
"run_id": 123121358620
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-arm64)",
"run_id": 123121358506
}
],
"delivery_deferral_ledger_digest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
"finding_dispositions_digest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
"operation_identity": "sha256:e951ea0e9eec2f933f4ed9c84c419abd59fcae9c6f953e0e5cb9d28480e141c2",
"review_request": {
"body_digest": "sha256:6edadde4901a02b9a632a38700a7f5f14b7dbcbba3aa5c9aa923d9db865529cf",
"id": 6481781491
},
"review_result": {
"body_digest": "sha256:3d7144819e31f2b24f2799eb7ca01b3eb6a5204f99e3050816be45d48bc89da1",
"id": 6481807560
}
},
"evidence_fingerprint": "sha256:7ee8a3ec42dff5fdb85e8183a16d141014bb20c9bc50376e47c09cc7e3aeb566",
"head_sha": "ef176b94574ce80791528b0e5f045fbe50c5a4e8",
"operation_identity": "sha256:e951ea0e9eec2f933f4ed9c84c419abd59fcae9c6f953e0e5cb9d28480e141c2",
"review_request_id": 6481781491,
"review_result_id": 6481807560,
"status": "approved-evidence-recorded"
},
"candidate_revision_fingerprint": "sha256:67898c6999a2bede8205d88653853f9249bdc6f944af90c77cbc94bee96ba305",
"check_conclusions": [
{
"conclusion": "SUCCESS",
"name": "Bash native evidence checks",
"run_id": 123129508152
},
{
"conclusion": "SUCCESS",
"name": "Gitar",
"run_id": 123121356440
},
{
"conclusion": "SUCCESS",
"name": "Linux CI checks",
"run_id": 123121358706
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-amd64)",
"run_id": 123121358402
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-arm64)",
"run_id": 123121358502
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-amd64)",
"run_id": 123121358109
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-arm64)",
"run_id": 123121358644
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-amd64)",
"run_id": 123121358620
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-arm64)",
"run_id": 123121358506
}
],
"check_observations": [
{
"checks": [
{
"conclusion": "SUCCESS",
"name": "Bash native evidence checks",
"run_id": 123129508152,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/40774853224/job/123129508152"
},
{
"conclusion": "SUCCESS",
"name": "Gitar",
"run_id": 123121356440,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/runs/123121356440"
},
{
"conclusion": "SUCCESS",
"name": "Linux CI checks",
"run_id": 123121358706,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/40774853224/job/123121358706"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-amd64)",
"run_id": 123121358402,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/40774853224/job/123121358402"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-arm64)",
"run_id": 123121358502,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/40774853224/job/123121358502"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-amd64)",
"run_id": 123121358109,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/40774853224/job/123121358109"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-arm64)",
"run_id": 123121358644,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/40774853224/job/123121358644"
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-amd64)",
"run_id": 123121358620,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/40774853224/job/123121358620"
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-arm64)",
"run_id": 123121358506,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/40774853224/job/123121358506"
}
],
"head_sha": "ef176b94574ce80791528b0e5f045fbe50c5a4e8",
"id": "sha256:8e5fe4b22248344b640ad870c046b2506603c3252f76888bcead777fe93155a4",
"required_checks": [
"Bash native evidence checks",
"Gitar",
"Linux CI checks",
"Target smoke (darwin-amd64)",
"Target smoke (darwin-arm64)",
"Target smoke (linux-amd64)",
"Target smoke (linux-arm64)",
"Windows host smoke (windows-amd64)",
"Windows host smoke (windows-arm64)"
],
"status": "success"
}
],
"delivery_deferral_ledger_digest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
"delivery_deferrals": [],
"findings": [],
"pr": {
"base_ref": "main",
"base_sha": "8a0f78c19f15e007db9a28344dd6754f0a9587a7",
"body_digest": "sha256:b08663881fc07a870a9fff70c44d527cb8793e3cf43b19ba6783c2a24a840f2a",
"body_identity_version": 2,
"diff_digest": "sha256:68e8959639f567f5056685457da98d8b0136c64bf1601202ed82b263ac93ff99",
"head_ref": "pr301",
"head_sha": "ef176b94574ce80791528b0e5f045fbe50c5a4e8",
"pr": 301,
"repository": "omry/reploy",
"scope_authority": [
{
"digest": "sha256:36b1a52fb29e6424a689b1e2cae7e023371f878ca586f056fc28bc50450b87e6",
"path": ".github/workflows/ci.yml"
},
{
"digest": "sha256:fc49790f85e6d5fae77e8c91b479d0ad1fe4b3f1699e24df821db73aa75b779e",
"path": "AGENTS.md"
}
],
"title_digest": "sha256:8676ca17f1f641ace932c5c7d3ce110995c7975dc7fb3100a7059e1d70a226aa"
},
"record_version": 4,
"review_observations": [],
"review_requests": [
{
"base_established_at": "2026-10-28T21:47:33Z",
"base_ref": "main",
"base_sha": "8a0f78c19f15e007db9a28344dd6754f0a9587a7",
"body_digest": "sha256:6edadde4901a02b9a632a38700a7f5f14b7dbcbba3aa5c9aa923d9db865529cf",
"created_at": "2026-10-28T22:02:08Z",
"head_sha": "ef176b94574ce80791528b0e5f045fbe50c5a4e8",
"id": 6481781491,
"kind": "regular-review"
}
],
"review_results": [
{
"base_ref": "main",
"base_sha": "8a0f78c19f15e007db9a28344dd6754f0a9587a7",
"body_digest": "sha256:3d7144819e31f2b24f2799eb7ca01b3eb6a5204f99e3050816be45d48bc89da1",
"commit_id": "ef176b94574ce80791528b0e5f045fbe50c5a4e8",
"id": 6481807560,
"inline_message_ids": [],
"request_comment_id": 6481781491,
"result_kind": "clean",
"status": "result",
"submitted_at": "2026-10-28T22:03:23Z",
"unresolved_thread_ids": []
}
],
"revision_fingerprint": "sha256:67898c6999a2bede8205d88653853f9249bdc6f944af90c77cbc94bee96ba305",
"rounds": [
{
"applied_fix_paths": [],
"disposition_changes": [],
"effective_diff_digest": "sha256:68e8959639f567f5056685457da98d8b0136c64bf1601202ed82b263ac93ff99",
"finding_ids": [],
"invariants": [
"Preserve stdin independently from TTY allocation; TTY requires both streams to be terminals.",
"Public app entry forwards the same reader, preserves terminal streams and labels nonterminal output.",
"Dummy input reaches real app without arguments, container environment, retained build state or diagnostics leakage.",
"EOF is bounded; app errors and cancellation behavior remain unchanged.",
"Every exact-head ci.yml job succeeds before approval; standalone PR does not rewrite E."
],
"outcome": "clean",
"proposed_fix_paths": [],
"resulting_head": "ef176b94574ce80791528b0e5f045fbe50c5a4e8",
"review_observation_id": null,
"review_request_id": 6481781491,
"review_result_id": 6481807560,
"reviewed_head": "ef176b94574ce80791528b0e5f045fbe50c5a4e8",
"root_cause": "Minimal shared-helper reuse fixes terminal-only input discard. Local core, fresh independent Sol, Gitar and exact-head remote Codex reviews are clean. Complete current validation and all nine remote checks passed. Collector race and cleanup diagnostic assertion fixed in evidence tooling only; no product corrections.",
"round": 1,
"unresolved_current_slice_findings": 0,
"unresolved_design_blockers": 0
}
],
"schema": "awd:swe:pr-cycle-state",
"version": 2
} |
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. Chef's kiss. 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". |
Forward app stdin independently of terminal detection by reusing shellCommandIO, and remove the terminal-only input gate. Allocate a TTY only when both input and output look like terminals.
Add public-entry regressions for pipe/file input, captured output, EOF, closed input and execution errors. Built-binary Docker/RDA probes cover exact dummy-byte delivery, mixed terminal streams and absence from saved metadata.
Validation: focused race tests, vet and full local nox CI, with the existing WSL host-test exclusion, tracked-source package selection and local 10m aggregate Go bound. Remote exact-head CI remains required.