zz_

073b5577 ยท zzmq.dev@gmail.com/zz

Commit

073b557749f9f562e77a5fce6257f9e137e9bc48

Fix changeset rungs being unreadable, and bracket-username routing, via live testing with a real token Using a real bearer token (the user's own "claude" managed-agent identity) against the live deployed Worker surfaced two real bugs code review alone hadn't caught: 1. Percent-encoded brackets 404'd. A bracket-notation username (thoward37@gmail.com[claude]) works unencoded in a URL path (not in the WHATWG path percent-encode set), but a client that DOES encode it anyway (confirmed live: encodeURIComponent, which the CLI reasonably reaches for) got a permanent 404, since every lookup compared the raw, still-encoded pathname against the literal form stored in D1. handleWebRequest now decodes the pathname once, up front, so both forms resolve the same way. 2. The Ladder bootstrap's changeset rung could be written but never read back. cloudflareBackend.ts's readAnchor had a known, commented limitation: it only ever resolved a bare path as "repo" or "file", with the comment "changeset rungs are read by commitOid, which readAnchor's plain-path signature doesn't carry; nothing in the live agent loop reads a changeset rung by path alone" -- true until this session's own bootstrap became the first thing that needed to. Fixed by using the established "changesets/<full commit sha>" path convention literally: the sha IS the path suffix, so readAnchor can extract it directly and pass it as readRung's existing (but previously unused here) explicitAnchorSha parameter. Also fixed the bootstrap itself to use the full sha instead of a truncated one, to match that convention. Also fixed a punctuation bug in the bootstrapped repo rung's summary (missing separator between the description and "Contains README.md"). Verified live end-to-end: created two fresh repos via the real CLI (zz repo create) against the deployed Worker, confirmed via ladder_read that the repo/README/changeset rungs all resolve correctly and the changeset's filechange children are present, and confirmed the web app's Ladder tab renders the full tree correctly in a real browser. Cleaned up both test repos afterward.

Troy Howard <thoward37@gmail.com> -- 2026-10-12T12:51:06.000Z

Tree at this commit