Bugs

Bugs

12 of 12 bugs
Reported 0
Confirmed 2
BUG-012 main
There is no way to write a comment in refrakt content
Neither comment form is a comment. Both render as visible text, for different reasons, and there is no third option:
0/7 criteria
BUG-013 main
A podcast playlist is published as a music playlist
playlist accepts type="album | podcast | audiobook | series | mix" and emits MusicPlaylist for all five, with every item typed MusicRecording.So a podcast is published as a music playlist whose episodes are music recordings, and an audiobook as one whose chapters are songs. The rune already knows better — the author told it.
0/7 criteria
In Progress 0
Fixed 10
BUG-001 main
Hero, feature, and step stacked media-position labels are inverted
The shared stacked-layout contract (packages/lumina/styles/layouts/split.css) assumes media-first source order: top is plain DOM order, bottom flips visually via a generic column-reverse. But hero, feature, and step emit content-first DOM (text before media — the right reading order for their classic media-beneath-text presentation). Result: both stacked labels lie — the default top rendered media at the bottom, and an explicit bottom hoisted it to the top. Found in SPEC-101 review (PR #432); pre-existing.
BUG-004 main
Scaffolded projects reference schema URLs the site does not serve
create-refrakt writes a $schema URL derived from its own package version:
7/7 criteria
BUG-005 main
Heading IDs drop inline code and keep punctuation, silently breaking deep links
extractHeadings in packages/runes/src/util.ts builds a heading's id by joining only the text child nodes, stripping ?, collapsing whitespace runs to -, and lowercasing. It does not strip any other punctuation, and inline code inside a heading contributes nothing at all — a code node is not a text node, so it is skipped.The result is ids that nobody writing a link would guess:
BUG-006 main
Rune attribute tables document attributes that do not exist, and omit ones that do
Thirteen rune reference pages carry a hand-written ## Attributes table. Two of them disagree with the rune's actual schema.
4/4 criteria
BUG-007 main
Plan entity attribute tables omit attributes the plan workflow requires
site/content/plan/docs/plan-entities.md documents the attributes of {% spec %}, {% work %}, {% bug %}, {% decision %}, and {% milestone %}. All five tables are incomplete, and two of the omissions are attributes the project's own mandatory workflow depends on.Measured against refrakt reference <rune> --format json --site plan:
6/6 criteria
BUG-008 main
Two universal attributes have no author-facing documentation
spacing and inset are universal attributes — every one of the 45 block runes that carries universals accepts both. Neither has a page that says what it does.Found while checking whether /runes/surfaces was a sound link target for SPEC-128 D1's axis accordion. It is, for most axes, but not all.
4/4 criteria
BUG-009 main
The reference command disagrees with itself about which runes exist
refrakt reference answers "which runes are there?" differently depending on which way you ask. Two symptoms, one question, so they are filed together.Found by WORK-547's survey, which reads reference dump as the rune set and got a set that matches neither reference <name> nor check-rune-docs.mjs.
7/7 criteria
BUG-010 main
An unresolvable data where value silently matches every row
{% data %} resolves where through resolveString, which handles string literals and Variable nodes. Anything else — a Function node, most obviously — returns the empty string, and applyWhere treats an empty expression as no filter. So a where the rune cannot understand renders the entire source instead of erroring.
5/5 criteria
BUG-011 main
A legitimately empty data filter is a build error, because nothing else catches a typo
{% data %} throws result is empty after projection (no rows to render) whenever the projection chain ends with zero rows. That fires on a filter which is correct and simply has no matches — a normal thing to ask of real data.The check cannot be relaxed on its own, because it is the only thing standing between an author and a silently wrong page. Measured against a two-row source with headers name,scope:
7/7 criteria
Won't fix 0
Duplicate 0