Handoff: Verify and update ExternalBrainWui readiness tests
Active progress — 2026-10-21T23:27:08.892611+00:00
Verification is RUNNING on exact reviewed source d1c722e39386362ec46d65042b08f4aa2373c809. Combined completed native records: 195 first passes / 196 final passes / 197 actual attempts, with 38 of 59 files complete at five repetitions each. repeat-coverage.json records every file and sample; recover that file and raw XML from the current evidence branch, and resume only missing repetitions. Primary labels are repeat-final-*; auxiliary labels are repeat-aux-*. Earlier resource-interrupted labels and the remote ERROR 0/0 health probe receive no credit.
The supported remote probe could not select a test because buildtest health returned STARTING: recovering local state (elapsedMs=609515) rather than OK. It emitted no XML or run ID and started no remote service run. Its isolated clone/processes are cleaned. The current local file ownership is recorded in primary-test-list.txt, aux-primary-twenty.txt, and third-test-list.txt. These are execution checkpoints, not a required future concurrency plan; recover the evidence and resume only missing records. The full local suite has not started, and host available memory remains below its 8.5 GB admission guard. The PR source/body remain at the original head, so its green bld-build is old-head evidence only.
The older observations below are historical snapshots; this active-progress section and the latest native evidence supersede their incomplete-run counts. The claim remains active.
Written 2026-10-21T21:39:08.577304+00:00.
RE-VERIFY: State below is a write-time snapshot. Check https://github.com/CodexCoder21Organization/ExternalBrainWui/pull/58 using gh pr view 58 --repo CodexCoder21Organization/ExternalBrainWui --json state,headRefOid,mergeStateStatus,statusCheckRollup,mergedAt; check source/evidence branch heads with git ls-remote; check runner disk/memory and machine-wide ps -eo pid,args -ww before running tests. The reviewed code is on a WIP branch, not on the PR source branch.
Design decisions in force — 2026-10-21
The original task is preserved verbatim in the evidence branch at verification/r123/p123.md. Key instructions:
Do NOT merge, enqueue, deploy or publish.
Do not stop to ask the user anything; decide and record your reasoning in $PWD/out/r123-findings.md.
never increase any timeout/deadline/window value, never reduce iteration counts, never weaken/delete/skip assertions, no reflection, no mocks.
Owner behavior requirement, verbatim:
Stay up, return 503 naming the backend, and keep retrying (exponential backoff) the open with the existing per-attempt limit (no new timeouts, exponenial backoff) until it succeeds, so the site heals itself once the backend is reachable.
This task changes readiness tests only; no production behavior, API, dependency, deployment, or publication was changed. Do not use --to-merged. The eventual required check must be watched with build-watchman 0.0.21 in plain --pr mode. No merge authorization is present.
Mission summary
Finish verification of the reviewed event-based readiness changes, update the existing open PR source/body once verified, watch required bld-build, and clean owned state. The previous task's sole full run at f1dd2e76e had 113/133 first-attempt passes, 133/133 final passes, and 153 attempts. This task was asked to replace PR-added wall-clock readiness assumptions, prove two mutation controls, run each touched test five times, and run one guarded full local suite from the exact head to push.
What was found and done
- A fresh clone was made at the explicitly requested
$PWD/r123. No project AGENTS file exists. README plus the live TESTING.md and PHILOSOPHY.md were read; copies are in evidence. The PR began and remains at f1dd2e76ee3a388b07aa632f97a1acd0f861ca02. The source was rebased over origin/main a0638f7784f5f951f706e3af59e7c62aecd8582b; the source tree immediately after rebase matched the original PR tree. This replays the original PR history, so the eventual PR push requires a carefully checked force-with-lease if it still targets that history.
- Native baseline XML was independently parsed again: 113 first passes, 133 final passes, 153 attempts, 20 failed first attempts. Fourteen failures were PR-added paths, six existed on main. All names, classifications, and complete first stacks are in
baseline-first-failures.json; original baseline native XML is retained byte-for-byte as baseline-full-local-01.xml. The baseline contains an invalid XML numeric character reference from ANSI output; native_xml.py normalizes only the analysis string and records that substitution, without altering the original. A no-frame timeout does not establish a readiness defect. One failure explicitly received503 still-starting instead of200.
- The audit classifies 108 changed-in-PR test paths: 69 newly added, 3 renamed existing-main scenarios, 36 other existing-main paths.
readiness-inventory.json records baseline time references and causal events; changed-test-mechanisms.md lists all 59 touched tests with old/new mechanisms. Of those59,57 are new paths, one is the renamed reconciliation-failure scenario, and one is the explicitly requested existing process-budget test.
- Ten post-startup real protocol-error/recovery fixtures now construct the same real client and complete its first RPC synchronously before starting the application. The original operation/recovery wrappers and call assertions remain. These fixtures exercise faults after a healthy setup; startup/cancellation tests retain their original asynchronous factories. Twenty-one ordinary factory fixtures now wait on explicit completion latches using the remaining original deadline, then verify actual publication by public HTTP. Failure assertions use retry registration signals where available; remaining publication probes follow causal entry/release/retry events and pause gently.
- Production has no public successful markdown-publication callback or log. Factory return precedes publication;
Search index reconciled: precedes publication as well. The public HTTP 200 transition is therefore still required. The tests retain their original hard deadline, and repeat requests recheck it after the pause. No production visibility was increased and no reflection or mocks were added.
- The process-budget test now observes the child's existing reconciliation log before the final HTTP readiness check. Repeated TCP probes are at least 100 ms apart while original 5 ms passive memory sampling continues. The 256 MiB cap, 120 s process deadline, three full-second startup gates, HTTP body checks, connection-count checks, and shutdown assertions remain.
- Deterministic mutation controls hold the provider's first real bytecode response for 16 seconds, longer than the old 15 s readiness window and shorter than the existing production connection-attempt limit. Old controls failed 2/2 first/final, all 6 runner attempts, with503where200wasexpected. New controls passed 2/2 first/final across 2 attempts under the identical delay. Native XML, complete stacks, exact old/new control scripts, and a red control branch are retained. The temporary controls are absent from the fixed source branch and do not add final scenarios.
- Dedicated test-design and independent code reviews were completed. The latter found two helper loops that could repeat GET after sleeping across a deadline; fixed in54f882f. A moved retry registration wait could otherwise consume 10 s instead of the old 5 s; d1c722e preserves the former 5 s absolute bound. Both reviewers confirmed no remaining material issue. No original assertion content, iteration count, annotation timeout, connection limit, or readiness bound was relaxed.
- Verification was stopped by explicit resource guards, not by a completed test verdict. The59-selector batch started before the three review-followup test edits; it was interrupted at a stricter 8 GiB disk guard, with native INTERRUPTED 0/0 and no XML. Two later per-file attempts using the exact requested8,000,000,000-byte disk guard also stopped. They credit no completed repetition. One bootstrap handshake warning appeared in the interrupted batch; no cause or test verdict is inferred from it. No full suite was started because requested free-memory admission never opened. No first/final full-suite comparison to the baseline 20 is available.
- Recovery examined only this task's private cache. Immutable duplicate JAR copies were consolidated, but a subsequent admission attempt still crossed the guard. All owned Java processes were confirmed gone, and the private cache was deleted. Other efforts' files, caches, processes, and checkouts were left alone. Source/evidence are all remote. Disk space recovered to about13.9GB at21:41UTC before the clone was deleted, so targeted verification resumed at21:42UTC. The private cache is being rebuilt normally. No clone cleanup occurs while tests are active; this handoff is an active execution checkpoint.
- The PR source and body are unchanged. A concrete append section is preserved as
pr-append-draft.md, keeping the original why opening and citing113/133. Required bld-build is SUCCESS on the old f1dd2e76e PR head only. No CI verdict exists for the new WIP head, and no watcher, CI requeue, queue, merge, publish, or deploy was started. Do not describe old-head CI as new-head verification.
Relevant PRs / refs
No code was deployed or published by this effort. No service/container/runtime artifact was changed; command/evidence records contain no deployment or Maven-publication invocation.
Remaining steps
- Re-verify all state and the resource-admission dependency url://handoff/handoffs/hf-2026-10-21-satisfy-resource-guards-for-externalbrainwui-readiness-verification. Current observations are transient. The source branch is a reviewable checkpoint, not verified completion. Do not lower any requested guard or test bound, and do not change shared infrastructure or remove other work to make admission pass.
- Clone fresh at the task-requested
$PWD/r123, then checkout the WIP readiness source. Read README/instructions. Recover verification/r123/ from the evidence branch into $PWD/out/r123/; read findings.md, both reviews, inventory/table, and the original p123.md before work.
- Complete five authoritative targeted repetitions per touched file from its final content. Read the current
repeat-coverage.json and raw XML first; preserve and credit completed groups rather than repeating them. The interrupted attempts count as none. Use server/scripts/test.bash --test tests/<file>.kts --log <unique.xml> --result-file <unique.json> and parse native attempt-history, not just final PASS. Per-file runs preserve completed XML on an interruption. The saved helper run.py has a session-specific2026-10-22T03:00Z outer stop instant; replace that stale session stop instant with a fresh bounded controller deadline before reuse, without changing any test timeout/deadline/window. Fetch/rebase before builds; stop and investigate any actual nonzero test outcome rather than rerunning unchanged to get green.
- Once targeted results support the changes, run exactly one full local suite from the exact final head, after machine-wide
ps -eo pid,args -ww proves no other full scripts/test.bash is active and the requested8.5 GB available-memory / 8 GB free-disk guards permit it. Preserve raw XML/JSON, first/final/actual-attempt counts, and all first stacks. Compare first failures to the baseline 20 without claiming every timeout has the readiness mechanism.
- Before the PR source push, fetch, verify it is still OPEN, and verify remote source is f1dd2e76e or carefully incorporate a descendant's changes. Rebase on current origin/main and rerun needed verification if source changes. Push normally where possible; if the history-preserving rebase requires it, use force-with-lease tied to the freshly verified expected remote head. Do not overwrite another lane's source edits.
- Fetch the current PR body, preserve its existing why opening and any other lane's body-only changes, append the reviewed readiness explanation and actual native counts (draft retained), then read back exact equality.
gh pr edit previously hit Projects(classic) deprecation; structured REST PATCH is an available fallback once API capacity is available.
- Own a tracked plain watcher:
/home/helena/bin/coursier launch buildwatchman:build-watchman:0.0.21 -r https://kotlin.directory -- --repo CodexCoder21Organization/ExternalBrainWui --pr 58. Never --to-merged; do not poll PR status more than once per 60 s. Stop the watcher before finishing. Report required bld-build separately from any informational suite.
- Record final source SHA, all old/new test mechanisms, mutation proof, five-run native counts, full native first/final/attempt counts and CI verdict. Push evidence, complete/release the handoffs appropriately, delete the owned clone/cache, and confirm no owned workers/watchers remain. Never merge/enqueue/deploy/publish.
Operational knowledge / limits
- The existing main-branch API/operation behavior is not being changed by these tests; README and UI screenshots need no update for this follow-up.
- Use the working
~/bin/coursier; the system binary is known to be the wrong architecture. CLI0.0.124 is pinned by this branch's test wrapper. Keep every native XML even when the runner automatically retries.
- REST core quota was exhausted at 21:32 UTC (remaining 0/5000; reported reset 21:41:46 UTC), while Git reads/pushes and the GraphQL PR snapshot still worked. Do not assume that rate observation remains current. Live canonical handoff README fetch failed with 403; the cached canonical README from the previous task was read. Its legacy git-merge paragraph is superseded by the current create-handoff skill and this task's no-merge direction; use the central service.
- The report-challenge CLI automatically enqueues/merges a PlanRepository PR, contrary to the brief. Friction is retained in these findings/evidence instead; no challenge automation was invoked.
- No questions are pending with the user. The limiting artifact is resource admission, not an unanswered design decision. Tests that timed out without a frame in the baseline remain evidence to classify; the resource guards do not prove those tests' root cause.
2026-10-21T21:44:58.745804+00:00 — active resumption
The new per-file labels are repeat-final-<testName>-NN. Run all five repetitions from final source d1c722e. Disk admission recovered, and the first file is currently building/running. Full-suite available-memory admission is still closed. No new test verdict exists yet. The earlier interrupted labels are retained for diagnosis and do not count toward the required repetitions.