← Engel's Code Design Notebook

OpenHands / OpenHands · Maintainer review queue

PRs to keep or close

3 Keep candidates and 39 Close without merge candidates from the previously reviewed other-author PR queue. Each PR has its author and a specific reason.

Issue, PR and reference states checked through . Code assessment dates from the original audit on 10 October 2026; refreshed heads are compared with that audit.

Update : PR #18127 (errmakov) was merged after a live check, closing issue #17928. It moves from Keep to Already merged; PR #18152, the Close candidate for the same issue, now points to it. Other rows keep the snapshot above.

Update : PR #18152 (lx3133584) was closed without merge as redundant with #18127. It moves from Close to Already closed.

These are review recommendations. “Keep” retains a useful candidate for review. Closure reasons apply the maintainer’s policy that partial drafts and incomplete functional evidence can be closed. No PR closures or reviews are submitted by this report.

Keep · 3 PRs

fix: resolve rejected and errored actions in event groups

Why keepResolves rejected/error actions while preserving thoughts, markdown group boundaries and transcript export. A current-head approval reports extensive focused/broad tests; real Agent Server rejection-and-reload recordings use a disclosed scripted mock LLM.

Evidence and review limits

Reviewed code head: e501b48c5bb489c624e52798f91dcc78d74f805b. The current head matches the earlier code audit.

  • Broader event-pipeline change. AgentErrorEvent is unit-tested only. The refresh did not replay recordings or rerun the branch. Temporary .pr evidence remains to clean up.

fix: preserve toggle click targets and roll back failed skill saves

Why keepPreserves toggle click targets and rolls failed skill saves back to the last successfully persisted state. The author supplied real-backend recordings, including the previously failing delayed-refetch case; the current head has an approval and green code CI.

Evidence and review limits

Reviewed code head: 8a13bda59017f0bf8bd1c4509e2191336e65de3a. The current head matches the earlier code audit.

  • The approval API is attached to current head 8a13bda5, although its prose names 5a675ac4. Prior source assessment checked the corrected implementation; this refresh did not reproduce it. Shared settings state warrants final review.

fix(home): scope launch targets by backend

Why keepScopes Home launch targets, workspace selections and recent repositories by backend/organization. Real Agent Server switch-and-launch recordings and a current-head review reporting 90 focused tests support keeping it; the failing description gate is the maintainer-owned ready-for-dev label.

Evidence and review limits

Reviewed code head: a80d41e08b6e81e78af35269fa55a549b7ab1179. The current head matches the earlier code audit.

  • This is a broader state migration: legacy unowned recent repositories are deliberately cleared. Cloud changes are regression-covered rather than live-recorded. The current review requests changes for readiness only, not a code defect; temporary .pr artifacts remain.

Close without merge · 39 PRs

Defect or redundant fix · 18 PRs

PR #18249Close without mergeOpen

fix(skills): allow Escape to close +N pills popover and unblock modal dismissal

Closure reasonSuperseded by merged #17967, which closed #17957. This alternative adds broader key suppression and separate Escape handlers; its purported skill-popover image is unrelated agent-profile-menu evidence.

Evidence and review limits

Reviewed code head: e0c264261b7e66e3942fd91e024773a3549bb5e3. The current head matches the earlier code audit.

  • Closure can rest on the completed duplicate. The broader suppression was identified by source assessment, not a new live regression. LLM/tool disclosure is not a defect.
PR #18248Close without mergeOpen

fix(settings): restore keyboard accessibility for agent profile actions menu

Closure reasonSuperseded by merged #18112, which closed #18060. Its current-head approval reports 49 passing focused tests and no material defect, but it offers the same keyboard-menu behavior already merged.

Evidence and review limits

Reviewed code head: 7e1229101cd9ebcd3b1495c62a36e6a8891338e4. The current head matches the earlier code audit.

  • Do not characterize this as unsafe code or ignore its new approval. The linked image is the original issue's patched capture, not independently established evidence for this branch.
PR #18247Close without mergeOpen

fix(chat): resolve event group status for rejected and errored actions

Closure reasonCurrent-head source assessment found that replacing a rejected action loses its hoisted thought and incorrectly groups rejected markdown-create actions. Still-open #17995 preserves both cases and has a current-head approval plus stronger integration evidence.

Evidence and review limits

Reviewed code head: 545da063406da7e90a41a360149f7f31430b9f93. The current head matches the earlier code audit.

  • These are source-derived findings, not a newly run UI reproduction. #17995 is retained for review and is not merged; issue #17920 remains open.
PR #18245Close without mergeOpen

fix(settings): surface duplicate name error in profile editors

Closure reasonSuperseded by merged #18144, which closed #17938. This alternative adds a shared SettingsInput change and has weaker agent-edit coverage; its displayed screenshot is the original failure, not post-fix evidence.

Evidence and review limits

Reviewed code head: e74028337aa994657d44ae9de6e761ed0b872a9a. The current head matches the earlier code audit.

  • No inherent code regression is established. The generic error-ID fallback may be useful separately, but is not needed to duplicate the merged fix.
PR #18242Close without mergeOpen

fix(chat): fit overflow and tools submenus to viewport at narrow widths

Closure reasonMeasures a zero-size wrapper around an absolutely positioned menu, then substitutes 220×200 instead of the real menu dimensions. A prior independent minimal Chromium fixture reproduced overflow that its mocked geometry tests hide.

Evidence and review limits

Reviewed code head: 54b325b47ee4dc97d36f3dd9fb424c945bc0f4c4. The current head matches the earlier code audit.

  • The proof is a minimal DOM/layout fixture, not a full running OpenHands test. Current-head approval and green CI do not address that geometry. #18115 is also an unfinished closure candidate, not a retained solution; #18063 stays open.
PR #18231Close without mergeOpen

fix(hooks): pick hook display text by type to favor system prompt on agent hooks

Closure reasonSuperseded by merged #18215, which closed #18206. The production field-selection fix is equivalent, while its claimed hooks screenshot actually shows an unrelated agent-profile menu.

Evidence and review limits

Reviewed code head: baa5f65698189e5434404dd84f2278501df8425d. The current head matches the earlier code audit.

  • No unsafe-code claim is needed; closure is for a completed duplicate with misleading branch evidence.
PR #18201Close without mergeDraft · open

fix: preserve App Settings edits after save errors

Closure reasonDraft with the same incomplete production change as #17945: controlled switch edits survive failure, but uncontrolled Git Username/Email fields still reset and retries can send stale values. The author explicitly supplies no running-Canvas evidence.

Evidence and review limits

Reviewed code head: 317e6e12b1a5172b343c195e059166c21e33a0ec. The current head matches the earlier code audit.

  • The text-input failure was reproduced by an exact-head review of #17945; this draft shares that production diff, but was not independently run. Both candidates need completion; #17927 remains open.
PR #18187Close without mergeOpen

fix(automations): treat empty agent profile id as default selection

Closure reasonSuperseded by merged #18111, which closed #18061. The new review finds the implementation sound but blocks on missing live captures of the two affected flows; the attached image is an already-correct baseline.

Evidence and review limits

Reviewed code head: 436d015f8663c3e152f63f776421757cfc42a1ce. The current head matches the earlier code audit.

  • The new unit assertion is a real empty-string regression guard but reads a mocked selector, not the running dropdown. Do not label the screenshot the original failure or present the code as defective.
PR #18186Close without mergeOpen

fix(automations): invalidate queries when dispatch fails with 404

Closure reasonMissing the running-Canvas recordings of 404 removal on dashboard, home and detail pages requested by the latest review. An earlier source audit also found a code-derived detail-toast suppression gap; the later review calls the code sound but did not test detail-query settlement. No direct runtime reproduction on this PR is claimed.

Evidence and review limits

Reviewed code head: d088ddec5a81284a5b05544f77d97c1d47c6b1ba. The current head matches the earlier code audit.

  • The delayed second toast was live-reproduced on the equivalent #18073 path, not on #18186. Current immutable source still lacks disableToast, so the concern is code-derived and unresolved, not a new direct reproduction. #18073 is also a closure candidate, not a preserved finished alternative; #18062 remains open.
PR #18156Close without mergeOpen

fix(launcher): honor --allow-lan-session-key, clean up port-in-use error, and align backend-only ingress description

Closure reasonThe claimed LAN session-key fix does not cover the official npm/bin static-server path: startStaticFrontend neither passes allowLanSessionKey to policy application nor forwards --allow-lan-session-key to static-server. Explicit opt-in therefore still cannot work on that path.

Evidence and review limits

Reviewed code head: ccd2b2f5249cc993b2ba2a920c31642b8b66b914. The current head matches the earlier code audit.

  • Source-derived omission; this refresh did not run a LAN launcher or inspect served HTML. Port-conflict wording and ingress-description changes may be useful independently. No retained alternative; #17949 remains open.
PR #18154Close without mergeDraft · open

fix: make settings switches keyboard accessible

Closure reasonStill a draft and explicitly lacks full Canvas evidence. It repeats #17963's switch primitive change with fewer regression cases; #17963 is also an unfinished draft recommended for closure, so neither constitutes a completed solution.

Evidence and review limits

Reviewed code head: f160a34f47742198db31cb9a059c89fca370fd4c. The current head matches the earlier code audit.

  • Current code CI is green; the old local build failure is not a current CI blocker. No code defect is asserted. Issue #17900 remains open for a finished fix.
PR #18140Close without mergeDraft · open

fix: expose conversation confirmation test ids

Closure reasonIts production patch is identical to merged #18151, which closed #17915. It remains a draft with failed description validation and offers no distinct fix to retain.

Evidence and review limits

Reviewed code head: d9d3823bf1213411959877c7757183d6fa606569. The current head matches the earlier code audit.

  • The assertions are reasonable and no production defect was found. A screenshot is not necessary to assess this nonvisual selector correction; closure rests on duplicate completion/readiness.
PR #18096Close without mergeOpen

fix(chat): flush pending conversation draft on unmount

Closure reasonSuperseded by merged #17968, which closed #17926. This alternative also bundles the unrelated incomplete App Settings change from #17945; its current-head review requests missing conversation-scoping coverage and running-UI evidence.

Evidence and review limits

Reviewed code head: 027972203b67280f9395306518486142e6285ae4. The current head matches the earlier code audit.

  • The prior source audit additionally identified a conversation-switch cancellation gap, while the existing review describes the guard as correct. No new branch run resolves that disagreement; the merged duplicate is sufficient grounds for closure.
PR #17945Close without mergeOpen

fix(settings): preserve unsaved edits and keep save enabled on failed save

Closure reasonAn exact-head review reproduced Git Username/Email edits resetting after a failed save and a retry sending stored stale text. The new test covers only the controlled sound switch, so the advertised failed-save preservation remains incomplete.

Evidence and review limits

Reviewed code head: 3226edb27dc052c133697c17eeb6cc2c29fdafa4. The current head matches the earlier code audit.

  • The empirical finding belongs to the existing reviewer's focused rendered-route test, with SettingsService mocked to reject; this refresh did not repeat it or run a live backend. Head is unchanged; #17927 remains open.
PR #17570Close without mergeOpen

fix(diff-viewer): dispose Monaco models after editor teardown

Closure reasonDisables the library's diff-model disposal but waits for IStandaloneDiffEditor.onDidDispose, which the locked Monaco 0.56 does not fire. The models therefore leak; the added fake-editor tests invent the callback behavior and cannot catch it.

Evidence and review limits

Reviewed code head: d7d4d01dea9419d0fd40cc344a88d2d4c6077f4c. The current head matches the earlier code audit.

  • Prior dependency-source inspection and an exact-head review's real-Monaco probe support the finding. This refresh did not run the app or repeat the probe. Running-Canvas lifecycle evidence and the author-owned description gate remain absent; #17567 stays open.
PR #17017Close without mergeOpen

refactor: source canvas event source/status contracts from typescript-client (#16952)

Closure reasonThe purported type migration adds an over-strict runtime filter that silently drops valid local events with optional source/id/timestamp fields, while leaving Cloud behavior inconsistent. An unchanged-head review identifies the same wire-contract mismatch.

Evidence and review limits

Reviewed code head: 381f65b23c38d1399e479c098d8406540d67268b. The current head matches the earlier code audit.

  • Source/contract assessment and existing focused review, not a new runtime replay. Green CI does not cover the valid legacy fixtures that are filtered away. It currently conflicts with main; #16952 stays open.
PR #17005Close without mergeDraft · open

fix(settings): keep unsaved SDK settings edits across background refetches

Closure reasonA successful save deletes every overlay entry whose key was submitted, including a newer edit to that same key made while the save was in flight. Its test edits a different key and misses the preservation gap; the submission remains a draft.

Evidence and review limits

Reviewed code head: a1a22037da90833d3e40519c7304eb4a73bede07. The current head matches the earlier code audit.

  • This is incomplete fulfillment of the claimed preservation behavior, not an established newly introduced main regression. It follows unchanged-head source assessment; no new live branch run was performed. #16948 stays open.
PR #16992Close without mergeOpen

fix(mcp-health): scope health keys by active backend and connection revision

Closure reasonAsync install/update/delete completion reads the current backend scope instead of the operation's originating scope, so switching backends can clear or seed the wrong health bucket. The unchanged-head review identifies this race and missing mutation-switch coverage; its screenshot is unrelated.

Evidence and review limits

Reviewed code head: ef301c4ec476a03aaf045c20f21e3e923cd2a3a1. The current head matches the earlier code audit.

  • Existing exact-head source review and passing focused tests are not a new live race reproduction. It also conflicts with main, and #16954 lacks valid evidence/readiness. Do not close solely for the maintainer-owned label; the scope defect is the material reason.

Incomplete work or evidence · 21 PRs

PR #18260Close without mergeDraft · open

fix(automations): validate a cleared time of day before saving

Closure reasonIntentional partial draft: fixes only item 1 of the four-item automation issue. The required HUMAN note and description check remain unfinished; it does not claim to solve the other three items.

Evidence and review limits

Reviewed code head: 324a1127200111b4fd372cd55e9d09c8ccf3b93c. The current head matches the earlier code audit.

  • Mock-Canvas before/after screenshots and 26 focused tests are supplied; do not say no evidence exists. No code defect established.
PR #18166Close without mergeOpen

fix(mcp): do not classify failed Slack probe tool calls as credential failures

Closure reasonOnly the original Slack probe failure screenshot is attached. There is no branch-specific install/Test/Retry evidence showing fetch failures and timeouts become connectivity-only, with credentials explicitly not verified.

Evidence and review limits

Reviewed code head: f500de4b326cef594d88f47be9db090402c2347e. The current head matches the earlier code audit.

  • Focused tests and code CI pass; this is an evidence/readiness closure, not a demonstrated credential-classification defect.
PR #18164Close without mergeOpen

fix(query): disable error toasts for free models hydrator and backend version probe

Closure reasonNo running-branch evidence distinguishes quiet bootstrap recovery from genuine post-bootstrap errors. The change silences these model/version queries in every app state, and the configured-backend failure test now expects silence.

Evidence and review limits

Reviewed code head: c485c41b4296491870b9c4c9fd6ef387afbf9615. The current head matches the earlier code audit.

  • The global error handler is unchanged; no global error-reporting regression has been established. The screenshot shows the original first-run contrast, not repaired returning-user recovery.
PR #18153Close without mergeOpen

fix(automations): render empty state on template search and exclude optional integrations from connect count

Closure reasonThe only screenshot repeats the original blank template-search result. There is no running-branch evidence for the no-results message, Clear action, optional-integration count or rendered singular/plural wording.

Evidence and review limits

Reviewed code head: 3441b93aa8ebf47da89b9d11716e1d9a670a8230. The current head matches the earlier code audit.

  • Bounded code and route/component regression tests look plausible, and current code CI passes. No introduced defect established.
PR #18147Close without mergeOpen

fix(test): bound tab wait and record diagnostics on mock-llm sidebar cmd-click

Closure reasonThe click diagnostic snapshots defaultPrevented in capture phase, before later handlers can cancel it; click failures also bypass its diagnostic catch. Actual cross-connect success and a deliberately forced no-tab failure have not been demonstrated.

Evidence and review limits

Reviewed code head: 07f0bfbe0fe09767e4aba683e2eb4e43ebe3b1f1. The current head matches the earlier code audit.

  • A prior local jsdom control confirmed the capture-phase cancellation mismatch; click/wait ordering is source-reviewed. No new runtime tests were run for this refresh. Current code/description CI passes.
PR #18115Close without mergeOpen

fix(chat): keep the overflow menu's submenus inside the viewport

Closure reasonLocal before/after composer screenshots exist, but this is a partial fix: the expanded Tools-menu scope is untouched, and the viewport matrix, Code/Plan, profile/link activation and visible keyboard-focus behavior are not established.

Evidence and review limits

Reviewed code head: f8890f07e433bbd55e702c73d2f0941f76484bf6. The current head matches the earlier code audit.

  • The original report allowed Macros to be split out; the later AI triage explicitly includes Tools menus. A maintainer could narrow scope and retain this bounded fix. Local before/after screenshots exist; do not call all evidence absent.
PR #18073Close without mergeOpen

fix(automations): refetch automations when Run now finds the automation deleted

Closure reasonUbuntu CI still fails because an existing test mock lacks getErrorStatus. The detail-toast correction has unit coverage, but its author explicitly says the requested real-stack replay/recording is unfinished; earlier live review tested the previous head.

Evidence and review limits

Reviewed code head: 9a831278b5fd79bfdd7646db33bb81f824beadc8. The current head matches the earlier code audit.

  • The test-mock failure is a specific CI repair, not proof of a production regression. Prior real-stack dashboard/home and non-404 checks succeeded before the correction.
PR #17965Close without mergeOpen

fix(settings): persist displayed active llm settings when creating profile

Closure reasonRequired description validation fails and no real create-save-reopen capture is attached. Copying all active LLM fields, including fields hidden from the form schema, also remains an unresolved scope choice.

Evidence and review limits

Reviewed code head: feffce0c4a4a6e3950b9550ea66f5b770e09eb72. The current head matches the earlier code audit.

  • Same-head review found the displayed-value fix sound and treats hidden-field inheritance as non-blocking. Do not imply demonstrated credential leakage or data corruption.
PR #17963Close without mergeDraft · open

fix: restore keyboard access to settings switches

Closure reasonStill Draft with the requested HUMAN note unanswered and description validation failing. Close under the review-ready policy; the switch implementation already has published real-stack Tab/Space and focus evidence.

Evidence and review limits

Reviewed code head: cb43883c4a0aec10958ae37c3847ffbc5cbb4357. The current head matches the earlier code audit.

  • Real AgentServer browser recordings, DOM/keyboard/state data and focused tests are supplied. No code defect established; absence of human review is not evidence the account is non-human.
PR #17962Close without mergeDraft · open

fix: honor Do Not Track before telemetry initialization

Closure reasonStill Draft with the requested HUMAN note unanswered and description validation failing. Close under the review-ready policy; the DNT fix already has published real-stack network/storage comparison evidence.

Evidence and review limits

Reviewed code head: 0cf65d442003f7ecd52971d266903bc746f99130. The current head matches the earlier code audit.

  • The author supplies base/head recordings and real AgentServer runs claiming six analytics attempts before versus zero after. These were not independently replayed in this refresh. No code defect established.
PR #17694Close without mergeOpen

fix(automations): make dashboard header responsive on mobile viewports

Closure reasonCurrently conflicts with main and has not supplied the requested after-fix browser captures at 320px, 390px and desktop. Its jsdom class assertions cannot prove readable wrapping, reachable buttons or no viewport overflow.

Evidence and review limits

Reviewed code head: 2562990c8604f3f90bed90ee7c9a4c1c8d9cc165. The current head matches the earlier code audit.

  • The HUMAN note claims those viewport checks, but the PR attaches only the original Before screenshot. Same-head review found no code defect; code CI passes on its unchanged head.
PR #17654Close without mergeOpen

fix: isolate embedded modal portal hosts

Closure reasonIncomplete portal acceptance: CSS variables supplied through the public style prop do not reach the body-level modal host. The required one-root/two-theme browser evidence is absent and description validation fails.

Evidence and review limits

Reviewed code head: f0474d5411281e1ec422832df7e7d0fb77ac7095. The current head matches the earlier code audit.

  • Same-head review labels the style-prop omission non-blocking and reports 13 focused tests passing. The author claims manual two-root verification but explicitly attaches no artifact.
PR #17575Close without mergeOpen

fix(automations): keep edit dialog usable on mobile

Closure reasonDescription validation still fails with an empty HUMAN note, and the author explicitly provides no post-fix mobile browser capture. Scrollable fields and close/save/cancel reachability at 390×844 remain unproven in a running app.

Evidence and review limits

Reviewed code head: f6457ec3a49ea242c18a5409293659cb40c189a5. The current head matches the earlier code audit.

  • Same-head review found the CSS change correct and minimal and mutation-checked its regression test. No introduced defect established.
PR #17573Close without mergeOpen

fix(terminal): restore history after reload

Closure reasonCurrently conflicts with main, fails description validation and has no post-fix reload capture. Hydration only handles the initial history tail and stops once any terminal entry exists; older-page and later REST-history restoration need completion or an explicitly narrowed scope.

Evidence and review limits

Reviewed code head: 148f8ce66610fbb3eed828715f5e2a08ed0629a9. The current head matches the earlier code audit.

  • Older-page omission is source-reviewed; the later-REST/WebSocket race is a source-derived sequence, not a reproduced runtime failure. Existing tests and same-head review support recent-tail reload/dedup behavior.
PR #17560Close without mergeOpen

fix: rebuild chat UI projection when older history pages arrive

Closure reasonAlready approved by koriyoshi2041, with strong deterministic tests, successful negative controls and green CI. Closure here is solely under the required running-conversation evidence policy: its before/after artifacts are unit-test output, and live page-boundary replay is listed as optional.

Evidence and review limits

Reviewed code head: 543cd5afdf58e7a0c151534bdc876a21201768ea. The current head matches the earlier code audit.

  • There is an existing approval from koriyoshi2041, strong deterministic store tests, successful negative controls and green CI. Same-head review found the code sound and explicitly says maintainers may accept that proof; this closure is policy-based, not proof of a defect.
PR #17428Close without mergeDraft · open

fix: keep embedded provider instances stable across Strict Mode and sibling roots

Closure reasonExplicit partial Draft: it leaves stale client/i18n globals after both sibling roots unmount and excludes async-origin ownership and the full instance-scoping work. The HUMAN note and description validation remain unfinished.

Evidence and review limits

Reviewed code head: 607971c0def84d28b09949f535f6af2eb95f465a. The current head matches the earlier code audit.

  • The residual global-state limit is openly disclosed and is not claimed as a new regression. The issue is marked Part of, not Fixes. No UI recording is required merely for this nonvisual provider fix.
PR #17376Close without mergeOpen

feat: surface ask_oracle as an Oracle profile

Closure reasonCurrently conflicts with main, and the core Configure → save → ask_oracle → delete/ghost flow remains unverified against a real Agent Server. Mock screenshots only show the entry/editor, and the author explicitly defers the save/tool payoff.

Evidence and review limits

Reviewed code head: 5934d9ce1f72b9c42d85395743024ebb628e30b9. The current head matches the earlier code audit.

  • The newer same-head review confirms the earlier reserved-name guard-test gap is fixed and reports 155 focused tests passing. Do not repeat the older absent-tests finding or stale CI warnings. No code/security defect established.
PR #17244Close without mergeOpen

fix: keep Files and Changes views source-driven after refresh (#16949)

Closure reasonCurrently conflicts with main. Its explicit unit-only verification and terminal SVG do not show running Cloud/Local Files refresh, file-edit invalidation or the retained-path Changes status update before and after.

Evidence and review limits

Reviewed code head: 034a003ed04200c06dd4a272e3000020f638f575. The current head matches the earlier code audit.

  • Same-head review finds both source-driven fixes sound and reports focused tests/CI green. An old failure comment references a previous head and is not a current code-CI failure.
PR #16639Close without mergeDraft · open

fix(agent-canvas): gate onboarding on active backend readiness

Closure reasonStill Draft, currently conflicts with main and lacks issue ready-for-dev; the sessionStorage-versus-memory dismissal choice remains for maintainer decision. Published configured-Local screenshots and mock-LLM E2E do not establish the full unconfigured/Cloud/backend-switch runtime matrix.

Evidence and review limits

Reviewed code head: fa05e8b1c94993c12c4df9b68e696703ebc0600b. The current head matches the earlier code audit.

  • There is real configured-Local before/after evidence and 62 successful mock-LLM E2E cases; do not claim no runtime evidence exists. Broad scope or a competing implementation alone is not a code-defect finding.
PR #16390Close without mergeOpen

feat(conversation-panel): group conversations by workspace by default

Closure reasonCurrently conflicts with main; the required PR template and screenshot remain absent, and description/artifact checks fail. The small default preference change needs a refreshed submission before merge review.

Evidence and review limits

Reviewed code head: d3e6b0ba744ebf9d12035825e9081b7f441c2ed5. The current head matches the earlier code audit.

  • Same-head review found no changed-line defect and reports 66 focused tests passing. The artifact-check failure is a GitHub API permissions error, not a product-code failure.
PR #16262Close without mergeDraft · open

fix: avoid import-time signal handlers

Closure reasonStill Draft, currently conflicts with main and has unresolved HUMAN/issue/validator readiness. Close the unfinished submission; its signal-lifecycle fix already has real child-process shutdown and mutation-test support.

Evidence and review limits

Reviewed code head: ff38ad9c2b4fea247f5f8508a3de5b27d42f1ac7. The current head matches the earlier code audit.

  • The latest validator failure is an unsupported --files-file argument, not a failed lifecycle test. Earlier substantive SIGHUP/import gaps were repaired and independently checked; no UI recording is needed for this nonvisual change.

Already merged or closed · 11 PRs

Removed from the active recommendations.

Review scope

This page follows the original 53 open or draft other-author PRs reviewed for issues filed by enyst or smolpaws. It is a separate queue from the two creation-date cohort reports: issues here may be older than a week.

Reasons come from the earlier current-head production/test diff reviews, issue requirements, CI and available functional evidence. Fresh metadata confirms PR and issue states and whether the reviewed code head has changed. Existing links to reviews or contributor recordings are evidence, not a claim that this auditor reran every branch.

The earlier audit independently ran focused tests and a fail-before mutation check for PR #18151, and a minimal Chromium geometry reproduction for PR #18242. Those checks were not full OpenHands UI runs. No new branch runtime verification was performed for this refresh.

Checked triage dataset (JSON) · Active recommendations (CSV)

OpenHands/OpenHands · checked report snapshots.