Summary
Operation Google-Level Wave-2 landed a large set of fixes on the local branch integration/audit-fixes that are correct in source and pass the full static gate (pytest 2387, cargo/clippy, tsc, vitest 279, eslint, pyright) — but several change runtime contracts that no static gate can observe (IPC wire delivery, subprocess control flow, browser/CDP attach, React render/lifecycle). This is a verification-only checklist: launch the app on integration/audit-fixes and confirm each area behaves correctly. No code change is expected unless a check fails.
This supersedes the old #13/#15 (which were pinned to the obsolete audit-fixes branch with now-stale line numbers).
How to run
# ensure the venv exists, then:
cd desktop && npm run tauri dev # Rust changes need a full restart (no hot-reload)
Checklist (exercise each in the running app)
Open design question (was #15)
"Retire the legacy stdout-parse path" — note the disposition changed: F-H-3 deliberately reinforced the legacy fallback (it now forwards undecodable chat lines instead of dropping them). So retiring the legacy path is no longer a clean win; re-evaluate before doing it, and keep the Codex CLI text-protocol forwarding regardless.
Origin: Operation Google-Level, docs/ops/findings/ on branch integration/audit-fixes (not yet pushed).
Summary
Operation Google-Level Wave-2 landed a large set of fixes on the local branch
integration/audit-fixesthat are correct in source and pass the full static gate (pytest 2387, cargo/clippy, tsc, vitest 279, eslint, pyright) — but several change runtime contracts that no static gate can observe (IPC wire delivery, subprocess control flow, browser/CDP attach, React render/lifecycle). This is a verification-only checklist: launch the app onintegration/audit-fixesand confirm each area behaves correctly. No code change is expected unless a check fails.This supersedes the old #13/#15 (which were pinned to the obsolete
audit-fixesbranch with now-stale line numbers).How to run
Checklist (exercise each in the running app)
kim:run-done/kim:agent-done/kim:agent-cancelled/kim:agent-error(F-H-1/F-H-2/F-H-8); the Rust IPC translator (desktop/src-tauri/src/subprocess.rs,forward_agent_stdout_line) re-emits them with the run envelope;useChatStream.tsconsumes them. Run a task to completion, cancel one, and force one to error — confirm each terminal state renders and the spinner clears.done; confirmkim:run-failed/kim:agent-errorclears the spinner and surfaces the recovery banner.kim:protocol-error) rather than vanish.kimctl/POST /v1/taskrun near-simultaneously; only one starts, the second is rejected; cancel kills cleanly.127.0.0.1only, and the detached CDP Chrome is reaped when Kim exits (no orphan).POST /v1/callback, not/v1/taskor/v1/open.kim doctorexits non-zero on failure; one-shot exits non-zero on FAILED/Ctrl-C;kimctl send --sessionno longer reports false success from a staleTASK_COMPLETE.Open design question (was #15)
"Retire the legacy stdout-parse path" — note the disposition changed: F-H-3 deliberately reinforced the legacy fallback (it now forwards undecodable chat lines instead of dropping them). So retiring the legacy path is no longer a clean win; re-evaluate before doing it, and keep the Codex CLI text-protocol forwarding regardless.
Origin: Operation Google-Level, docs/ops/findings/ on branch
integration/audit-fixes(not yet pushed).