Bugs

Bugs

16 of 16 bugs
Reported 1
BUG-033 main
playlist and track publish byArtist and duration on types that do not define them
Found by WORK-628, which ran @adobe/structured-data-validator over the SEO baseline. These are the only schema.org-layer findings on today's baseline, and every one of them is real. The baseline never recorded them as defects: SPEC-130 D5 leaves a schema row to the reviewer, and the rows that carry these properties say in their own comments that nothing checks them.
Confirmed 6
BUG-023 main
data-meta-rank is styled and specified but emitted by nothing
data-meta-rank is the channel by which density compaction is meant to drop secondary metadata. It is specified, it is styled, and no code path ever puts it on an element.
BUG-024 main
Four runes duplicate the sequence dimension, and which rule wins differs per rune
howto, recipe, steps and track each hand-roll a CSS counter that the sequence dimension already provides for them. The duplication is invisible because the output looks identical — but the two rules land at different specificities, so which one is actually in effect differs from rune to rune.
BUG-026 main
migrate ids can renumber the published claimant, breaking references it never scans
When two files claim an ID, runMigrateIds sorts the claimants by path and keeps the first (plugins/plan/src/commands/migrate-ids.ts:165). Which claimant is already published on the base ref plays no part, so on a branch the tool will happily renumber the entity that is already on main and leave the local draft holding the ID.The safety argument for that choice is stated in the code:
BUG-029 main
knownSections heading normalisation is inert when emitTag is set
resolveSections has two branches. The emitTag branch (packages/runes/src/lib/resolver.ts:480-502) builds a tag node per section and returns — it never calls matchKnownSection:
BUG-037 main
The runes.prefer docs example uses an npm name that mergePlugins never matches
Found by WORK-634 (#695).site/content/extend/plugin-authoring/authoring.md ("Name Collision Resolution") shows:
BUG-039 main
plan-history ignores its since and group attributes
{% plan-history %} declares five attributes (plugins/plan/src/tags/plan-history.ts): id, limit, type, since and group. The rune emits all five as metas, and the post-process resolver that builds the output (resolvePlanHistory, plugins/plan/src/pipeline.ts:910) uses only three of them.
In Progress 0
Fixed 9
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-020 main
file-ref drawers labelled SiteConfig render three unrelated interfaces
Three live pages point a file-ref at a line range that no longer contains the symbol it is labelled with — and no longer exists in the file at all. This is the exact failure SPEC-131 describes as its motivating case, observed rather than predicted.
BUG-030 main
A mixed list|tag:x field with emitTag silently drops the authored tags
resolveSequence's emit branch walks the nodes a field collected and skips anything that is not a list (packages/runes/src/lib/resolver.ts:194):
BUG-031 main
The reference drops the field-level authoring grammar
For a rune whose primary syntax is a Markdown list, refrakt reference documents that a list is accepted and nothing about what goes in it. Three facts are lost, at two different points in the pipeline.
BUG-032 main
Sandbox context attribute is never emitted, so every sandbox gets the default design tokens
sandbox declares a context attribute ("Shared context scope for multiple sandboxes", packages/runes/src/tags/sandbox.ts:92), and the design plugin reads it to choose which design-context token set to inject. The sandbox transform never puts the value anywhere. The attribute is read nowhere in sandbox.ts (lines 142–155 read the others), and createComponentRenderable is called with no properties (:247), so the rune carries no data-rune-fields entry and no <meta data-field="context">.The consumers therefore always fall back:
BUG-040 main
plan validate --against misses a collision with an ID the base added after the branch point
refrakt plan validate --against <ref> exists to catch an ID collision on the branch, before the merge makes every reference to that ID ambiguous (SPEC-135 D8, WORK-582). It does not catch the most common one: two branches that each create the next free ID. It reports "No ID collisions" and exits 0, so the PR job passes it.The cause is the deletion check in collisionsFrom (plugins/plan/src/commands/against.ts):
4/4 criteria
BUG-041 main
plan create milestone names the file after the title, not the version
Milestones keep their semver name as the filename (v1.0.0.md). CLAUDE.md states the convention, and so does the comment above the line in runCreate that breaks it (plugins/plan/src/commands/create.ts):
5/5 criteria
BUG-042 main
An open drawer keeps the default layout's 4rem section margins, so it does not reach the viewport edges
An open drawer is meant to sit --rf-drawer-gutter (8px) from every viewport edge. On a page using the default layout it stops 64px short at the top and the bottom. Measured in Chromium at 1280×800: the panel spans y 72 → 728 instead of 8 → 792, with a computed margin of 64px 0. A docs-layout page (/runes/xref) is unaffected.The cause is the default layout's section rhythm (packages/lumina/styles/layouts/default.css):
4/4 criteria
Won't fix 0
Duplicate 0