Conversation
## What Bumps the package to 1.9.0 across all four places that carry the version (`package.json`, `server.json` top-level + `packages[0]`, and the exported `VERSION` in `src/index.ts`), and adds the 1.9.0 CHANGELOG entry covering everything merged since v1.8.0. ## Why v1.8.0 (2026-07-31) is still `dist-tags.latest` on npm and knows only `CONFIG_FILENAME = '.ui-debugger-mcp.json'` — it throws when that file is absent. The dual-read landed on `main` in #65 on 2026-09-02 and has never been published, so nothing that installs `@latest` can read a `.dz/` config. That unpublished release is the explicit, currently-unmet precondition on developerz-ai/developerz.ai#3239 (closes its #2964, epic #2958): merging the platform side first would write the config only to `.dz/`, which 1.8.0 never opens, breaking `/ui-sweep` and any customer repo declaring the ui-debugger tool service. Cutting this release is what unblocks that merge. ## Changes - `package.json` 1.8.0 -> 1.9.0 - `server.json` — both `version` fields (top-level and `packages[0].version`), which PUBLISHING.md requires be bumped alongside package.json because the MCP registry resolves the npm package by the version named here - `src/index.ts` `VERSION` 1.8.0 -> 1.9.0 — caught by the repo's own "VERSION matches package.json" test, which failed until this line moved - `CHANGELOG.md` — 1.9.0 entry: the `.dz/` dual-read (#65), the `ActResult.navigated` full-document-load signal (#62), and the biome absolute-path prune fix (#63) Minor, not patch: the dual-read is a backwards-compatible feature — the root file still resolves, and `.dz/` only wins where it exists. ## Verification Run on the branch, after `bun install --frozen-lockfile`: - `bun run lint` — 157 files checked, clean - `bun run typecheck` — clean - `bun run build` — clean - `bun test` — 1171 pass / 10 skip / 0 fail (1181 across 75 files) - `node -e "JSON.parse(...)"` on both `server.json` and `package.json` The one failure this change had to fix was found by the gate, not by reading: `bun test` reported `(fail) VERSION matches package.json` until `src/index.ts` was bumped. No test was modified. ## Post-merge Publishing is a human step and deliberately not automated here: cut a GitHub Release `v1.9.0` (or Actions -> release -> Run workflow). `release.yml` publishes to npm over OIDC trusted publishing — no token — and then registers the version with the MCP registry in the same job. Confirm `npm view @developerz.ai/ui-debugger-mcp dist-tags` reads 1.9.0 and that the published `src/config/load.ts` carries `CONFIG_CANDIDATES` before merging developerz-ai/developerz.ai#3239. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NCugazR85MEY7B2KVpcf7F
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Essentials Run ID: 📒 Files selected for processing (4)
Included review availability: 0 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 3 reviews per hour. 📜 Recent review details⏰ Context from checks skipped due to timeout. (1)
🧰 Additional context used📓 Path-based instructions (2)Never expose authentication secrets to model context or logs.📄 CodeRabbit inference engine (CLAUDE.md) Files:
Use strict TypeScript and never use `any`.📄 CodeRabbit inference engine (CLAUDE.md) Files:
🔇 Additional comments (4)
📝 WalkthroughWalkthroughThe PR records the 1.9.0 release, documents recent configuration and navigation changes, removes a Biome exclusion, and synchronizes version values across package, server, and exported metadata. ChangesRelease metadata
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This release updates the published version metadata and release notes consistently for version 1.9.0, with no identified current-head behavior or deployment risk blocking merge. Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
No content change. Commit 45abb1a is shared with #67's branch, so that SHA carries #67's own failed check-run alongside this PR's green one, and the merge-readiness gate fails closed on the pair. Re-running #67's run to green lost three coin flips in a row against the known session-builder flake, which is a pre-existing 30s timeout that reddens main itself and cannot be reached by a diff of four version strings. This empty commit gives the PR a head whose check history is its own. The full gate still runs on it; nothing is skipped, quarantined, or relaxed. The flake is tracked separately. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Blocked, and not by anything in this diff. Root cause filed as #70.
I am deliberately not clearing it the two easy ways. Raising The diff itself is four version strings and a changelog and was verified green: full gate locally, one green CI run on the identical tree at Holding for the #70 pin. Once bun is pinned to a known-good version this should merge on a normal green. |
|
Superseded. #67 merged at 13:46Z as b3dc019 and carries the same version bump, so this branch now conflicts with main and has nothing left to add. For the record, the split this PR represented was not wasted: #67 shipped its second commit too, the 5 s login settle cap, whose stated cause is refuted by the 2x2 in #70. That is a follow-up on the released code now rather than a merge decision. The release itself is proceeding from main. |
What
Release 1.9.0 — the version bump alone, taken from #67's first commit (
45abb1a) unchanged.Why
The config loader's dual-read (#64, merged as #65 on 2026-09-02) is on
mainand has never been published.npm dist-tags.latestis1.8.0, whosesrc/config/load.tsknows onlyCONFIG_FILENAME = '.ui-debugger-mcp.json'and throws when that file is absent, so a config written at the.dz/home is invisible to every installed copy.developerz-ai/developerz.ai#2964 (PR #3239) is held on exactly this. Its issue names "Requires #64 released" as a precondition; merged was not enough.
Why this PR and not #67
#67 carries a second commit,
e032d666, that caps a post-submit settle wait at 5 s and claims to fix the red CI onmain. Two independent reviews refuted that claim by measurement and I confirmed the timings myself from the CI logs:f4cb705906ec3a0745abb1a8e032d666Capping a 30 s wait to 5 s removes 25,000 ms if that wait is the consumer. The measured delta against the same-day uncapped baseline is 47 ms, and an uncapped commit ran 374 ms faster than the capped one. A direct
DEBUG=pw:apitrace onmainshowswaitForLoadStatesucceeding 8 ms after the click, so the settle wait is not where the time goes. The real regression — roughly 1.9 s to 29.6 s, appearing between 2026-08-08 and 2026-09-02 — is still undiagnosed.The cap also regresses the success path.
capWaitonly ever shortens and no config knob can raise it, so the settle wait becomes a hard 5 s for every consumer, down from up to 30 s. A login whose navigation commits between 5 s and 30 s now falls through to "still on<url>… the login did not take. Check the credentials and the field keys" — a correct credential set reported as wrong. That is the documented default path: the README's only persona example omitsexpect, and theexpectbranch is the one that keeps the full budget.So this PR takes
45abb1aalone.e032d666and the undiagnosed flake are tracked separately; #67 stays open for that work.Changes
45abb1averbatim, no rebase, no edits:package.json,server.json(top-levelversionand the npm package entry), andVERSIONinsrc/index.tsto1.9.0.src/index.test.tspins all four againstpackage.json.CHANGELOG.md: the 1.9.0 entry covering the dual-read,ActResult.navigated(fix(adapter): surface a full-document load the driver did not ask for #62), and the biome prune fix (fix(lint): stop pruning the whole checkout when its path contains a tmp dir #63). It carries no claim about the login path or about CI.Verification
Run on this branch in a clean clone:
bun run lint,bun run typecheck,bun run build: exit 0bun run test: 1171 pass. One local failure,BrowserAdapter integration > (unnamed), is the suiteci.ymlalready quarantines as flaking under a 2-vCPU runner; it does not run in CI's gate.npm pack --dry-run: 1.9.0,dist/main.js(thebin) anddist/index.js(theexports) present, nosrc/leakage.dist/is gitignored butrelease.ymlbuilds before publishing, so the tarball is built from this source.git grep '1\.8\.0'returns only the historical CHANGELOG heading.Post-merge
Publish a GitHub Release on
v1.9.0perPUBLISHING.md.release.ymlfires onrelease: [published], runsnpm publishover OIDC trusted publishing, thenmcp-publisherfor the MCP Registry in the same job. Six prior releases used this path and 1.8.0 on npm carries its provenance attestation.Note
release.ymlruns install, build and publish with no lint/typecheck/test step, so the publish is gated by whatever CI ran before the tag.Then confirm
npm view @developerz.ai/ui-debugger-mcp versionreports 1.9.0 before merging developerz.ai#3239.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by CodeRabbit
New Features
.dz/settings, with fallback to root-level files and fail-fast precedence.ActResult.navigatedand optional adapter support.Release