WORK-022
ID:WORK-022Status:done

Build backlog Rune

Priority:mediumComplexity:complex
claude/align-sidenav-styling-4MuxV View source

Criteria completion

No incremental history — criteria tracking started on Apr 17.

Branches 3
History 6
  1. cf0cfc0
    Content editedby Claude
    Revert "Fix plan site truncation by escaping Markdoc tags in code fences
  2. 703b85a
    Content editedby Claude
    Fix plan site truncation by escaping Markdoc tags in code fences
  3. 28a3e49
    Content editedby Claude
    Add Lumina CSS for backlog and decision-log runes
  4. bcb01d8
    Content editedby Claude
    Add entity registration, backlog, and decision-log runes (WORK-020, WORK
  5. ebe0c64
    Content editedby Claude
    Migrate plan files to {% ref %} xref syntax (WORK-021)
  6. 3fc7634
    Created (done)by Claude
    Add work items for remaining SPEC-021 plan runes gaps

Summary

Aggregation rune that queries the entity registry and renders a filtered, sorted, grouped view of work items and bugs. This is the first Phase 2 rune in the plan package — it requires the cross-page pipeline and entity registration (WORK-020) to function.

The backlog rune is also the rendering primitive used by the milestone auto-backlog feature (WORK-025).

Attributes

NameTypeDefaultDescription
filterStringFilter expression: field:value pairs (e.g., status:ready priority:high)
sortStringprioritySort order: priority, status, id, assignee, complexity, milestone
groupStringGroup items by: status, priority, assignee, milestone, type, tags
showStringallEntity types to include: all, work, bug

Filter Syntax

Space-separated field:value pairs. Multiple values for the same field act as OR. Different fields act as AND.

{% backlog filter="status:ready priority:high" /%}
{% backlog filter="milestone:v0.5.0" sort="priority" group="status" /%}
{% backlog filter="assignee:bjorn status:in-progress" /%}
{% backlog filter="tags:tint" show="work" /%}

Card Layout

Each entity renders as a compact summary card showing id, status badge, priority badge, complexity dots, title, milestone, and checklist progress (if available).

Acceptance Criteria

  • Rune schema in runes/plan/src/tags/backlog.ts with filter/sort/group/show attributes
  • Filter parser handles field:value syntax with AND/OR semantics
  • aggregate() pipeline hook queries entity registry for work and bug entities
  • Results sorted by specified field
  • Results grouped into sections when group specified
  • Summary card rendering with BEM classes (rf-backlog, rf-backlog__card, etc.)
  • Engine config in runes/plan/src/config.ts
  • CSS in packages/lumina/styles/runes/backlog.css
  • Tests for filter parsing, sorting, grouping, and card rendering
  • Type definition in runes/plan/src/types.ts
  • Exported from runes/plan/src/index.ts

Dependencies

  • WORK-020 (entity registration) must be complete first
  • Uses PackagePipelineHooks.aggregate() from @refrakt-md/types