# V1 verify — tui-dynwf-ux (2026-07-17)

Audience: AI coding agents first.

## Verdict

Branch verified; no dynwf regressions. All failures found were either fixed on-branch or reproduced verbatim on a clean `main` worktree oracle (pre-existing debt, out of scope).

## Evidence

- Node suite (`run-tests.sh`, TEST_FILE_TIMEOUT=3600): green through `test/dynwf-drift-guard.sh` on first pass; remainder re-run individually after fixes — all green except pre-existing items below. All 39 `**/*.test.js` files (incl. web/): PASS.
- `src/test/control-api.test.js`: 42/42 PASS (post-merge union of dynwf endpoint tests + main's capi-spin regression tests).
- Cargo (`local-gate -- cargo build --release` + `cargo test`, tui/): 210 passed / 0 failed, 0 warnings. One pty flake (`real_pty_reconnects_after_stream_close_and_replays_last_event_id`) under load 26; passed in isolation and on full re-run at load 7 — not re-pinned.
- Live screen walk (real pty via `script`, 40x140): S5 plans ladder + columns, launcher empty-state, tabs 1 Run/2 DAG/3 Events/4 Plans, help overlay, footer keymap; clean exit on `q`. Detailed per-screen assertions delegated to the 12-test pty suite (all PASS).

## Fixed on branch

- `test/dynwf-drift-guard.sh` — regex pinned old inline wrapper-args form; E1/E5 extracted `wrapperArgs`. Re-pinned same contract in new shape (commit 6274065).
- Merged `main` (f69fa43, f2af086, 883d95e) into branch; `src/test/control-api.test.js` conflict resolved as both-sides union (commit d62f522).
- `test/runner-integration.sh` — 15 fixture metas lacked `land_mode`, refused by preflight `land-mode-invalid` (validation predates branch). Added `"land_mode":"merge-to-main"` (commit for fixture fix). Cleared 15 of 22 failures; also fixes `self-healing-integration.sh` (sources it).
- `systemd/harnessd.service` — `NotifyAccess=all` (READY sent by perl child; default `main` discarded it → start timeout). Same fix existed unmerged on fix/task-worktree-dependency-repair.

## Pre-existing on main (reproduced on main-worktree oracle; NOT dynwf)

- `test/runner-integration.sh`: 7 cases red after fixture fix (merge-conflict resume/quarantine, dirty-integration resume, commit trailers, reconcile, plan deps ×2). Identical set on main.
- `test/harness-release.sh`: e2e step hangs >25 min on branch AND main, healthy daemon. Suspect: bundled runner submits supervised run that waits on dispatch window. Needs its own fix task.
- `src/test/control-api.test.js` line 6: unused `os` import (present on pre-merge HEAD).

## Environment repairs done during verify (system, not repo)

- `harnessd.service` pointed at stale root `~/tmp/harness-task-worktree-repair`; reinstalled via `bin/harness-init.sh <root> --systemd-user-install`, restarted, active from canonical root.
- Killed 12.5h orphan `control-api.js --port 4973` from `.worktrees/fix-capi-spin` (its fix already landed as 883d95e); it was blocking the daemon's port.
- Stale `harness-release-e2e` run pointers accumulate in `~/.harness/runs/` from the hanging test (fixture repos are deleted mktemp dirs) — cleanup candidate.
