Skip to content

fix #85782: surface terminal TUI lifecycle errors#85996

Merged
steipete merged 12 commits into
openclaw:mainfrom
zhangguiping-xydt:feat/issue-85782
May 30, 2026
Merged

fix #85782: surface terminal TUI lifecycle errors#85996
steipete merged 12 commits into
openclaw:mainfrom
zhangguiping-xydt:feat/issue-85782

Conversation

@zhangguiping-xydt

@zhangguiping-xydt zhangguiping-xydt commented May 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Problem: A terminal TUI lifecycle error could leave the footer in error while the transcript showed no run error and the active run stayed locked; a later delayed chat error could also duplicate the visible error.
  • Solution: Treat terminal lifecycle errors for the active run like visible terminal chat errors, mark the run displayed, and route explicit Vitest config targets as whole configs for the affected CI lane.
  • What changed: Updated src/tui/tui-event-handlers.ts, focused TUI coverage, and the test-project runner coverage for explicit leaf config targets plus the slow catalog visibility shard timeout.
  • What did NOT change: No streaming delta, chat final, local retryable lifecycle, command submission, dependency, or production runtime behavior was changed.

Fixes #85782

Real behavior proof

  • Behavior or issue addressed: A terminal TUI lifecycle error now dismisses stale pending text, renders one run error: <message>, clears the active run, leaves input unblocked, deduplicates the delayed embedded chat error for the same run, and the explicit Vitest config target lane succeeds on the current head.
  • Real environment tested: Linux 4.19.112-2.el8.x86_64 x86_64, Node v24.16.0, OpenClaw PR head a9dddb7aa83e836ece7baf7e49559e98f20af3f1
  • Exact steps or command run after this patch:
    git rev-parse --short HEAD
    node --import tsx /media/vdc/code/ai/aispace/openclaw-issue-85782-evidence/embedded-tui-lifecycle-proof.mts
    node scripts/run-vitest.mjs src/tui/tui-event-handlers.test.ts src/tui/tui-command-handlers.test.ts
    node scripts/run-vitest.mjs test/scripts/test-projects.test.ts
    pnpm exec vitest run --config test/vitest/vitest.agents-core.config.ts src/agents/model-catalog-visibility.test.ts
    pnpm check:test-types
    gh pr checks 85996 --repo openclaw/openclaw
  • Evidence after fix:

$ git rev-parse --short HEAD
a9dddb7

$ node --import tsx /media/vdc/code/ai/aispace/openclaw-issue-85782-evidence/embedded-tui-lifecycle-proof.mts
OpenClaw embedded TUI lifecycle error proof
{
"backendEvents": [
{
"event": "agent",
"stream": "lifecycle",
"phase": "error",
"error": "provider exploded"
},
{
"event": "chat",
"state": "error",
"error": "provider exploded"
}
],
"systemMessages": [
"run error: provider exploded"
],
"dismissedPendingRuns": [
"run-embedded-error-proof"
],
"activityStatuses": [
"error",
"error"
],
"activeChatRunId": null,
"historyLoads": 1,
"renders": 2,
"inputUnblocked": true,
"delayedChatErrorObserved": true,
"duplicateTranscriptErrors": 1
}

$ node scripts/run-vitest.mjs src/tui/tui-event-handlers.test.ts src/tui/tui-command-handlers.test.ts

RUN v4.1.7 /media/vdc/code/ai/aispace/openclaw-issue-85782-push

Test Files 2 passed (2)
Tests 89 passed (89)
Start at 01:55:22
Duration 10.19s (transform 7.72s, setup 885ms, import 8.81s, tests 164ms, environment 0ms)

$ node scripts/run-vitest.mjs test/scripts/test-projects.test.ts

RUN v4.1.7 /media/vdc/code/ai/aispace/openclaw-issue-85782-push

Test Files 1 passed (1)
Tests 88 passed (88)
Start at 01:59:35
Duration 13.03s (transform 1.19s, setup 401ms, import 490ms, tests 11.85s, environment 0ms)

$ pnpm exec vitest run --config test/vitest/vitest.agents-core.config.ts src/agents/model-catalog-visibility.test.ts

RUN v4.1.7 /media/vdc/code/ai/aispace/openclaw-issue-85782-push

Test Files 1 passed (1)
Tests 3 passed (3)
Start at 01:59:54
Duration 11.92s (transform 8.45s, setup 772ms, import 9.97s, tests 919ms, environment 0ms)

$ pnpm check:test-types

- **Selected current PR checks:**
```text
$ gh pr checks 85996 --repo openclaw/openclaw
Real behavior proof	pass	13s
auto-response	pass	16s
check-lint	pass	54s
check-test-types	pass	57s
checks-node-agentic-agents	pass	4m36s
label	pass	9s
tui-pty	pass	42s
label-issues	skipping	0
  • Observed result after fix: The embedded TUI backend emitted the terminal lifecycle error and then the delayed chat state: "error"; the transcript rendered one run error: provider exploded, activeChatRunId became null, and the delayed chat error did not add a duplicate transcript error. The current-head TUI tests, test-project runner regression, focused agents-core config command, test typecheck, and selected PR checks all passed.
  • What was not tested: no known gaps

Regression Test Plan

  • Coverage level: Unit test plus current-head CI lane
  • Target test file: src/tui/tui-event-handlers.test.ts; test/scripts/test-projects.test.ts; src/agents/model-catalog-visibility.test.ts
  • Scenario locked in: Active terminal lifecycle error with endedAt renders the error, dismisses pending text, clears the active run, preserves retryable lifecycle errors, ignores the delayed chat error for the same run, and explicit leaf Vitest config targets are planned as whole config runs.
  • Why this is the smallest reliable guardrail: It locks the TUI state-machine boundary and the CI target-planning boundary directly, without requiring an external provider failure.

Root Cause

  • Root cause: The lifecycle phase: "error" path only updated activity status, while visible transcript errors and active-run cleanup lived in the separate chat state: "error" path; after lifecycle rendering was added, delayed embedded chat errors for the same run still needed an idempotency guard. The CI wrapper also rejected explicit leaf Vitest config paths as unmatched test file targets instead of treating them as whole config runs.
  • Missing detection / guardrail: Existing TUI tests covered lifecycle status updates and chat error rendering separately, but not terminal lifecycle errors without a matching chat error or the later delayed chat error emitted for the same run. Existing runner tests did not cover explicit leaf config targets passed directly to the test-project wrapper.

@openclaw-barnacle openclaw-barnacle Bot added size: S proof: supplied External PR includes structured after-fix real behavior proof. labels May 24, 2026
@clawsweeper

clawsweeper Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed May 30, 2026, 4:57 PM ET / 20:57 UTC.

Summary
The PR adds delayed terminal lifecycle-error rendering and deduplication in the TUI, focused regression coverage, explicit runnable Vitest config target planning, and a longer timeout for one model catalog visibility test.

PR surface: Source +81, Tests +162, Other +42. Total +285 across 5 files.

Reproducibility: yes. from source inspection and the PR proof: current main handles lifecycle phase:error separately from chat state:error, so a lifecycle-only terminal failure can update the footer without rendering and clearing through the chat error path. I did not run a local failing repro because this review is read-only.

Review metrics: 1 noteworthy metric.

  • Explicit Vitest Config Targeting: 1 runner behavior added. The PR changes how explicit runnable config paths are planned, so maintainers should notice the CI/test invocation impact before merge.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • [P2] Maintainers should explicitly accept or reconcile the overlapping TUI state-machine risk before merge.

Risk before merge

  • [P1] The TUI change intentionally adds a delayed lifecycle-error timer that can clear active run state and dedupe later chat errors; related open TUI state-machine PRs still overlap the same handler surface.
  • [P1] The script-runner change intentionally treats explicit runnable Vitest config paths as whole-config targets, which can affect maintainer CI/test invocation behavior even though focused coverage and Testbox proof are present.

Maintainer options:

  1. Accept With Current Proof (recommended)
    Merge after maintainers confirm the latest-head required checks remain green and they accept the deliberate TUI run-state and test-wrapper behavior changes.
  2. Pause For TUI Cluster Reconciliation
    Hold this PR if maintainers want to resolve the overlapping TUI state-machine PRs before choosing the canonical implementation.

Next step before merge

  • No automated repair lane is appropriate because I found no discrete code defect; the remaining action is maintainer merge/risk acceptance with current checks.

Security
Cleared: No concrete security or supply-chain concern was found; the diff does not change dependencies, lockfiles, workflow permissions, publishing, secrets handling, or downloaded code execution.

Review details

Best possible solution:

Land or reject this PR through normal maintainer review after accepting the TUI state-machine and test-runner automation risks, keeping the focused regression coverage with the implementation if it lands.

Do we have a high-confidence way to reproduce the issue?

Yes, from source inspection and the PR proof: current main handles lifecycle phase:error separately from chat state:error, so a lifecycle-only terminal failure can update the footer without rendering and clearing through the chat error path. I did not run a local failing repro because this review is read-only.

Is this the best way to solve the issue?

Yes, the proposed direction is a maintainable fix: reuse the terminal chat-error cleanup path for terminal lifecycle errors, defer through a retry grace, and cover dedupe/retry behavior. The explicit Vitest config-target fix is a separate automation repair but is guarded with focused tests.

AGENTS.md: found and applied where relevant.

Codex review notes: model gpt-5.5, reasoning high; reviewed against 9c2744f1e12b.

Label changes

Label changes:

  • add proof: sufficient: Contributor real behavior proof is sufficient. The PR body and maintainer comments include terminal/live output plus Testbox-through-Crabbox and CI proof showing the lifecycle-error path and focused checks after the patch.
  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (terminal): The PR body and maintainer comments include terminal/live output plus Testbox-through-Crabbox and CI proof showing the lifecycle-error path and focused checks after the patch.
  • remove rating: 🦐 gold shrimp: Current PR rating is rating: 🐚 platinum hermit, so this older rating label is no longer current.
  • remove status: 📣 needs proof: Current PR status label is status: 👀 ready for maintainer look.

Label justifications:

  • P2: This is a normal-priority TUI/session-state bug fix plus test-runner improvement with limited blast radius.
  • merge-risk: 🚨 session-state: The diff changes active-run cleanup, delayed lifecycle-error rendering, and duplicate terminal-error suppression in the TUI state machine.
  • merge-risk: 🚨 automation: The diff changes the test-project wrapper's explicit Vitest config target planning behavior, which can affect maintainer CI/test commands.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (terminal): The PR body and maintainer comments include terminal/live output plus Testbox-through-Crabbox and CI proof showing the lifecycle-error path and focused checks after the patch.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body and maintainer comments include terminal/live output plus Testbox-through-Crabbox and CI proof showing the lifecycle-error path and focused checks after the patch.
Evidence reviewed

PR surface:

Source +81, Tests +162, Other +42. Total +285 across 5 files.

View PR surface stats
Area Files Added Removed Net
Source 1 88 7 +81
Tests 3 163 1 +162
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 1 45 3 +42
Total 5 296 11 +285

What I checked:

  • Repository policy read: Root AGENTS.md and scoped src/tui, scripts, test, and src/agents AGENTS.md files were read; their proof, TUI/session-state, script-wrapper, fake-timer, and read-only review guidance shaped the review. (AGENTS.md:1, 9c2744f1e12b)
  • Current-main bug surface: On current main, chat state:error renders a run error and terminates the run, while lifecycle phase:error only sets activity status to error, matching the linked report's split state-machine problem. (src/tui/tui-event-handlers.ts:568, 9c2744f1e12b)
  • PR TUI implementation: The PR head adds shared terminal-error rendering, records displayed finalized runs, schedules terminal lifecycle errors after a retry grace, and cancels pending lifecycle-error timers on later chat/non-error lifecycle/session disposal paths. (src/tui/tui-event-handlers.ts:361, 63293c038ac2)
  • PR regression coverage: The PR adds TUI tests for delayed lifecycle-error rendering, delayed chat-error dedupe, retry cancellation, and retryable lifecycle errors; it also adds test-project coverage for explicit runnable config targets, shared config helpers, typoed config targets, and watch-mode guardrails. (src/tui/tui-event-handlers.test.ts:222, 63293c038ac2)
  • Script-runner behavior change: The PR head treats runnable Vitest config paths as explicit whole-config targets while preserving shared-helper and typo rejection behavior, so the automation surface is intentionally affected. (scripts/test-projects.test-support.mjs:758, 63293c038ac2)
  • Maintainer proof context: The PR discussion includes maintainer refresh proof with autoreview clean, focused local tests/static checks, Testbox-through-Crabbox run tbx_01ksx6hmd7rqyhr16jfde6f3d6 exiting 0, and a follow-up note that ci-timings-summary and Real behavior proof reruns passed. (63293c038ac2)

Likely related people:

  • shakkernerd: Current-main blame in the shallow checkout attributes the existing TUI chat/lifecycle state-machine and script-runner planning code around the affected lines to Shakker, who also authored the linked maintainer issue. (role: current behavior owner; confidence: medium; commits: e4905ce4c981; files: src/tui/tui-event-handlers.ts, scripts/test-projects.test-support.mjs)
  • vincentkoc: Vincent authored the maintainer refresh commits that added retry-grace behavior, explicit config-target safeguards, and the documented Testbox-through-Crabbox validation for this PR. (role: recent branch maintainer; confidence: high; commits: a92348ca6d68, fa3f82a66b97; files: src/tui/tui-event-handlers.ts, scripts/test-projects.test-support.mjs, test/scripts/test-projects.test.ts)
  • steipete: Peter authored the final PR-head refactor sharing terminal error cleanup and recently touched the script test-planning area on current main. (role: recent adjacent contributor; confidence: medium; commits: 63293c038ac2, 602364f1c708; files: src/tui/tui-event-handlers.ts, scripts/test-projects.test-support.mjs, test/scripts/test-projects.test.ts)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal backlog priority with limited blast radius. labels May 24, 2026
@clawsweeper

clawsweeper Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper PR egg

✨ Hatched: 🥚 common Brave Signal Puff

Hatch command

Comment @clawsweeper hatch when this PR is hatchable.

Hatchability rules:

  • Merged PRs are hatchable.
  • Open PRs are hatchable when they are status: 👀 ready for maintainer look, status: 🚀 automerge armed, or labeled clawsweeper:automerge.
  • Closed unmerged PRs are hatchable only when one of those hatchable labels is still present in the durable record.

Rarity: 🥚 common.
Trait: keeps receipts.
Image traits: location diff observatory; accessory rollback rope; palette rose quartz and slate; mood focused; pose sitting proudly on a smooth stone; shell brushed metal shell; lighting calm overcast light; background subtle branch markers.
Share on X: post this hatch
Copy: My PR egg hatched a 🥚 common Brave Signal Puff in ClawSweeper.

What is this egg doing here?
  • Eggs appear after the PR passes real-behavior proof. It is here for vibes, not verdicts: it does not change labels, ratings, merge decisions, or automation.
  • The shell reacts to review momentum: open follow-up work warms it up, re-review makes it wobble, and a clean final review lets it hatch.
  • Hatchability usually comes from sufficient real-behavior proof, no blocking P0/P1/P2 findings, no security attention needed, and clean correctness. A merged PR is already final, so merge makes the egg hatchable independently.
  • The hatch is seeded from this repository and PR number, so the same PR keeps the same creature; the reviewed head SHA can only change safe visual details.
  • Rarity is just collectible sparkle: 🥚 common, 🌱 uncommon, 💎 rare, ✨ glimmer, and 🌈 legendary.

@zhangguiping-xydt

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels May 24, 2026
@openclaw-barnacle openclaw-barnacle Bot added the scripts Repository scripts label May 24, 2026
@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. and removed proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels May 24, 2026
@openclaw-barnacle openclaw-barnacle Bot added the agents Agent runtime and tooling label May 24, 2026
@zhangguiping-xydt

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. merge-risk: 🚨 automation 🚨 May affect CI, automerge, proof capture, label sync, or maintainer automation. and removed status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels May 24, 2026
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 24, 2026
@openclaw-barnacle openclaw-barnacle Bot added the proof: supplied External PR includes structured after-fix real behavior proof. label May 25, 2026
@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 25, 2026
@BingqingLyu

This comment was marked as spam.

@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 29, 2026
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. and removed rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. labels May 29, 2026
@clawsweeper

clawsweeper Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added the merge-risk: 🚨 session-state 🚨 May lose, corrupt, stale, or mis-associate session, agent, or context state. label May 29, 2026
@vincentkoc

Copy link
Copy Markdown
Member

Maintainer refresh pushed at fa3f82a66b9.

Verification:

  • Autoreview: .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main -> clean, no accepted/actionable findings.
  • Local focused proof after final reviewer fix: node scripts/run-vitest.mjs test/scripts/test-projects.test.ts src/tui/tui-event-handlers.test.ts -> 138 tooling tests + 63 TUI tests passed.
  • Local static sanity: oxfmt --check, oxlint, and git diff --check on the touched TUI/test-runner files passed.
  • Testbox-through-Crabbox: tbx_01ksx6hmd7rqyhr16jfde6f3d6, Actions run https://github.com/openclaw/openclaw/actions/runs/26693151927, command node scripts/run-vitest.mjs src/tui/tui-event-handlers.test.ts src/tui/tui-command-handlers.test.ts test/scripts/test-projects.test.ts src/agents/model-catalog-visibility.test.ts && pnpm check:changed -> exit 0.

Maintainer fixes added during refresh:

  • Kept explicit source target expansion from leaking original source paths into Vitest argv.
  • Rejected typoed explicit Vitest config targets instead of silently routing them.
  • Classified config-shaped paths for validation while limiting whole-config execution to runnable configs only.
  • Deferred terminal lifecycle errors through the gateway retry grace and cancel them when chat/retry/session-disposal proves the run is still active or obsolete.

@steipete steipete left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verification for head d11f0f5:

  • pnpm exec oxfmt --check src/tui/tui-event-handlers.ts src/tui/tui-event-handlers.test.ts test/scripts/test-projects.test.ts scripts/test-projects.test-support.mjs src/agents/model-catalog-visibility.test.ts
  • node scripts/run-vitest.mjs src/tui/tui-event-handlers.test.ts
  • node scripts/run-vitest.mjs src/tui/tui-event-handlers.test.ts src/tui/tui-command-handlers.test.ts test/scripts/test-projects.test.ts src/agents/model-catalog-visibility.test.ts
  • git diff --check
  • autoreview --mode local: no accepted/actionable findings
  • autoreview --mode branch --base origin/main: no accepted/actionable findings

CI:

  • CI run 26694374647: checks-node-agentic-agents-core rerun passed at job 78676538366 after an unrelated timeout/interrupted flake in src/agents/code-mode.test.ts.
  • TUI PTY run 26694374606 passed.
  • Required check dependency-guard passed at run 26694374142 job 78676243471.

Known proof gap: ci-timings-summary is a reporting helper and is currently failing; GitHub does not list it as a required check for this PR.

@steipete

Copy link
Copy Markdown
Contributor

CI follow-up: ci-timings-summary rerun passed at CI run 26694374647 job 78676883672. Real behavior proof passed at run 26694499928 job 78676827000.

@steipete

Copy link
Copy Markdown
Contributor

Rebased proof for head 63293c0:

  • node scripts/run-vitest.mjs src/tui/tui-event-handlers.test.ts src/tui/tui-command-handlers.test.ts test/scripts/test-projects.test.ts src/agents/model-catalog-visibility.test.ts

CI after rebase:

  • CI run 26694652321 passed relevant shards, including checks-node-agentic-agents-core job 78676972544, check-guards job 78676972256, and ci-timings-summary job 78677087309.
  • CodeQL Critical Quality network-runtime-boundary passed at run 26694652339 job 78676966197.
  • TUI PTY run 26694652331 job 78676959762 passed.
  • Real behavior proof run 26694762660 job 78677250985 passed.
  • Required dependency-guard run 26694652254 job 78676972372 passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agents Agent runtime and tooling merge-risk: 🚨 automation 🚨 May affect CI, automerge, proof capture, label sync, or maintainer automation. merge-risk: 🚨 session-state 🚨 May lose, corrupt, stale, or mis-associate session, agent, or context state. P2 Normal backlog priority with limited blast radius. proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: supplied External PR includes structured after-fix real behavior proof. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. scripts Repository scripts size: M status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TUI can show error status without surfacing the run error

4 participants