The bee http rendered view of a .mkd/.md page (/<repo>/cat/<page>) links a bare reference in prose and a [BEE-001] shortcut, but a reference written in backticks — ` index/perma.js:6:ur , http.js:843:gw — renders as a dead <code>. The painted source (/raw/) links the very same bytes. [/meta/comment] and [/meta/link] tell every writer to spell a link in backticks, so nearly every permalink in this journal is unclickable on the page it was written for. Repro'd 2026-09-08 on bee/README.mkd (3 hrefs rendered vs 18 painted) and on meta/link.mkd` (no ref links at all).
http.js:390:dX pageHref and http.js:406:dX autoSegs are the door for the rendered page (LITE-043): hk.fTokens(bytes, "txt") scans a TEXT run, refUrl resolves each F token, a miss stays plain. http.js:427:dX pageBody passes both hooks to the ONE emitter.mark/html.js:192:4b the emitter runs opts.autolink on a text node only; mark/html.js:209:4b a code node emits <code id=..> + the escaped literal and never calls the hook. So the door never sees a span the writer fenced.render/html.js:220:eM spansHtml links a painted F token inside a backtick run regardless — the tokenizer's F fires there — which is why /raw/ shows the links and /cat/ does not./bee/cat/README.mkd renders <code id="b709">index/perma.js:6:ur</code>; /bee/raw/README.mkd renders <a href="/bee/cat/index/perma.js#b73"><span class="tok-F">index/perma.js:6:ur</span></a>. A bare http.js:510:dX in BEE-020.mkd:54:Uh prose DOES link (/bee/cat/http.js#b42825), so the door itself is fine.test/http/run.sh:235:1l pins the rendered doc.mkd: the fixture's bare sub/x.txt links, the ticket code naming no file stays prose; no backtick case there.view/html.js (bee html, BEE-062) renders with mark.pageHref and NO autolink hook, so a dumped site page links only [Page] shortcuts; view/html.js:183:MQ landLink already rules a code reference in a shortcut as plain text there. Out of scope unless it comes free.code span whose literal the LITE-043 scanner reads as one or more F tokens links through the SAME door a text run does: <a href="…"><code id="b<off>">http.js:843:gw</code></a>; a miss paints the <code> exactly as today. bee see index/perma.js:6:ur ) links the ref inside the <code> the way cutRun splits a text run: <code id=..>bee see <a href="…">index/perma.js:6:ur</a></code>`, ids per BEE-052.<a> (inA), never inside a fenced block (code_block is lexed per MARK-018 and is not this ticket's).test/http/run.sh's doc.mkd fixture gains a backticked ref (` sub/x.txt ) and a bare one on the same line; assert the <code> is wrapped in / carries the <a href="/repo/cat/sub/x.txt"> and the painted /raw/` page is unchanged.mark/html.js's code case (and cutRun if the split is reused), not in a second scanner; hk.fTokens stays the ONE F scanner, no regex over the literal.test/mark/* (cmark side-by-side) stays green — a page with no autolink hook emits what it always did.~/src/bee (gritzko's explicit permission for this ticket, 2026-09-08); ln -s . jsrc is in place, run with LITEJAB=$HOME/bin/quickjab sh test/http/run.sh.<a> goes INSIDE the <code>, for the whole-span case too: the Goals allowed either shape, and one shape means ONE code path — the whole-span case is simply the split with no plain bytes around it, so there is no second branch to keep honest and no code a rule to add (blob/style.css styles neither code nor code a).cutRun is NOT reused: mark/strict.js:155:xd mints parts on a TEXT node only, so a code node carries boff and nothing else; the <code> keeps its BEE-052 id via idOf and the segments inside it need none. The branch is the !node.parts half of case "text" verbatim.opts.autolink(node.literal) — http.js:406:dX autoSegs -> hk.fTokens -> refUrl. No regex, no second recognizer, and a miss (null segs) emits esc(node.literal), the exact bytes of before, which is what keeps test/mark byte-identical.inA === 0 guards it exactly as the text case does: a fenced ref inside an already-open <a> stays plain code. A fenced BLOCK is code_block, an untouched case.test/http/run.sh (a backticked ref in doc.mkd)mark/html.js code case: autolink over the literal, <a> inside <code>test/http, test/mark, test/htmlview/html.js (bee html) was left alone as the Context said: it passes no autolink hook, so a dumped site page still links shortcuts only — the fix costs it nothing and buys it nothing.Fixed 2026-09-08 in the main tree (gritzko's explicit permission for this ticket), UNCOMMITTED, MAIN TREE. A code span on a rendered /<repo>/cat/<page> now rides the LITE-043 door: ` sub/x.txt emits <code id="b<off>"><a href="/repo/cat/sub/x.txt">sub/x.txt</a></code> and bee see sub/x.txt emits <code id=..>bee see <a href="…">sub/x.txt</a></code>`.
mark/html.js +13/-1: case "code" alone (mark/html.js:209:4b), plus a 2-line why-comment naming BEE-070. No other file of the tree touched.test/http/run.sh +9/-1: the doc.mkd fixture gained one line carrying a fenced sub/x.txt and a fenced bee see sub/x.txt, and the /repo/cat/doc.mkd block gained two has checks (the whole span, the ref sharing a span) beside a new /repo/raw/doc.mkd page pinning that the painted view still links the same bytes.cat checks FAILED and the new raw check passed — the painted view always linked it, which is the ticket's own evidence. AFTER: lite/http 233 checks all pass.lite/mark 66 checks pass (the cmark side-by-side leg: a page with no autolink hook emits what it always did), lite/html 35 checks pass.bee http on /bee/cat/README.mkd: 19 <a href> on the rendered page, 12 of them a fenced reference — <code id="b709"><a href="/bee/cat/index/perma.js#b73">, <code id="b3830">bee see <a href="/bee/cat/index/perma.js#b73"> — against the 3 the ticket repro'd.