diff --git a/docs/TODO.md b/docs/TODO.md index e7802af7..e88843ea 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -9,3 +9,5 @@ ## client-reliability - 2026-10-19: client-reliability-1 assigned: reproduce/classify and fix profile-modal suite hang without weakening assertions. Initial evidence: three isolated 60s timeouts (one clean environment), full baseline stopped at file 220/425; read docs/agents/prompts/client-reliability.md and claim the item. Scope excludes app.js and unrelated subsystems. + +- 2026-10-19: client-reliability-1 fix committed at dbdac18d (test-only fixture, original assertions preserved; native focus contract and both mutants fail when broken). Isolated27/27 natural exit2.44s, lint11/11. Full60s/file run passed226/425 files including profile-modal; file227 tests/race/nostr-client-init-race.test.mjs timed out;198 later files untested. Await dispatch routing for this unowned blocker before normal landing/close. No product/browser/build qualification or landing claimed. See test_logs/TEST_LOG_2026-10-19_20-13-00_client-reliability-final.md. diff --git a/docs/agents/backlog/client-reliability-1.json b/docs/agents/backlog/client-reliability-1.json index 607c321e..012f2bd6 100644 --- a/docs/agents/backlog/client-reliability-1.json +++ b/docs/agents/backlog/client-reliability-1.json @@ -1,9 +1,9 @@ { "id": "client-reliability-1", "area": "client-reliability", - "status": "in-progress", + "status": "blocked", "title": "Diagnose and fix profile-modal suite hang without weakening assertions", - "blockedOn": null, + "blockedOn": "dispatch: unowned tests/race/nostr-client-init-race.test.mjs retains background relay work; full gate fails after 226/425 passed; fix dbdac18d passes isolated27/27 and lint11/11", "addedOn": "2026-10-19", "filedAt": "8b204687d2c0020c0fe97cedb3e9f8661a8d709a" } diff --git a/test_logs/TEST_LOG_2026-10-19_20-13-00_client-reliability-final.md b/test_logs/TEST_LOG_2026-10-19_20-13-00_client-reliability-final.md new file mode 100644 index 00000000..389baee1 --- /dev/null +++ b/test_logs/TEST_LOG_2026-10-19_20-13-00_client-reliability-final.md @@ -0,0 +1,10 @@ +# client-reliability-1 final-tree validation: dbdac18df1a4957cf15f47afdb205e28d7cb1724 + +- Branch contains unstable e106a15e, merged at d0224078; final `git merge unstable` reported already up to date. +- `env -u NODE_TEST_CONTEXT NODE_ENV=test node --import ./tests/test-helpers/setup-localstorage.mjs --test-reporter=spec tests/profile-modal-controller.test.mjs`: exit 0 naturally; 27 tests passed, 0 failed/cancelled/skipped/todo; 2442.95ms. +- `npm run lint` (unrestricted because sandbox git subprocess EPERM): exit 0, all 11 lint stages passed. +- `env -u NODE_TEST_CONTEXT UNIT_TEST_TIMEOUT_MS=60000 npm test`: exit 1. 227/425 files started; first 226 exited 0 including tests/profile-modal-controller.test.mjs; file 227 tests/race/nostr-client-init-race.test.mjs aborted after 60000ms. 198 files not run. Full suite is NOT green. Runner reports file outcomes, not an aggregate scenario count. +- Product filtering mutant: exit 1, 1 failed/0 passed. Fixture hidden-attribute mutant: exit 1, 1 failed/0 passed. Both restored. No product source changes remain. +- Not verified: later 198 unit files, browser behavior, full application CSS/layout, signer/wallet/network behavior, build, release/deployment. Test-only change; no browser/build qualification claimed. +- No queue submission while full gate is blocked. Dispatch notified via mailbox 20261019T201304-client-reliability-a7c828.md of the newly exposed unowned race-suite timeout; waiting for routing/scope decision. +- Read-only isolated race diagnostic: `env -u NODE_TEST_CONTEXT NODE_ENV=test timeout 10s node --import ./tests/test-helpers/setup-localstorage.mjs --test-reporter=spec tests/race/nostr-client-init-race.test.mjs`: exit124; its single test reports PASS in60.91ms, then process retains background relay retries. This is a retained-resource/harness-cleanup boundary, distinct from the profile suite's synchronous style cost. No race or Nostr source changed. diff --git a/todo/TODO_2026-10-19_20-13-00_client-reliability.md b/todo/TODO_2026-10-19_20-13-00_client-reliability.md new file mode 100644 index 00000000..aac61f10 --- /dev/null +++ b/todo/TODO_2026-10-19_20-13-00_client-reliability.md @@ -0,0 +1,6 @@ +- [x] Claim/revalidate client-reliability-1 at startup HEAD9e6c310d. +- [x] Classify timeout as expensive JSDOM computed styles; baseline26/26 natural completion57.04s. +- [x] Implement test-only fixture; preserve all assertions; native-JSDOM contract and two failing mutants. +- [x] Commit, merge unstable and verify isolated27/27 and lint11/11 on dbdac18d. +- [ ] Full unit gate:226 files passed; file227 Nostr-client race timed out60s;198 untested. +- [ ] Dispatch routing of unowned race-suite blocker, then normal full gate, queue submission, durable landing and close.