ID:WORK-022Status:done
Build backlog Rune
Priority:mediumComplexity:complexSource:SPEC-021
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 (Add Entity Registration to @refrakt-md/plan) to function.
The backlog rune is also the rendering primitive used by the milestone auto-backlog feature (Milestone Auto-Backlog and Checklist Progress).
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
filter | String | — | Filter expression: field:value pairs (e.g., status:ready priority:high) |
sort | String | priority | Sort order: priority, status, id, assignee, complexity, milestone |
group | String | — | Group items by: status, priority, assignee, milestone, type, tags |
show | String | all | Entity 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.tswith filter/sort/group/show attributes - Filter parser handles
field:valuesyntax 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
groupspecified - 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
- Add Entity Registration to @refrakt-md/plan (entity registration) must be complete first
- Uses
PackagePipelineHooks.aggregate()from@refrakt-md/types
Relationships
Dependency of
History
- f262d7bsource+SPEC-021
- cf0cfc0Content edited
- 703b85aContent edited
- 28a3e49
- ☑ CSS in `packages/lumina/styles/runes/backlog.css`
- bcb01d8statuspending→done
- ☑ 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
- +7 more criteria
- ebe0c64Content edited
- 3fc7634Created (pending, medium, complex, runes, plan, pipeline)