Work

Work Items

153 of 153 items
Draft 13
WORK-005 changeset-release/main
Build stat Rune
medium
WORK-006 changeset-release/main
Build math Rune
medium
WORK-007 changeset-release/main
Build concept Rune
medium
WORK-008 changeset-release/main
Build exercise Rune
medium
WORK-010 changeset-release/main
Build glossary Rune
medium
WORK-018 changeset-release/main
Build video Rune
medium
WORK-009 changeset-release/main
Build quiz Rune
low
WORK-011 changeset-release/main
Build prerequisite Rune
low
WORK-012 changeset-release/main
Build objective Rune
low
WORK-013 changeset-release/main
Build partner Rune
low
WORK-014 changeset-release/main
Build job Rune
low
WORK-016 changeset-release/main
Build album Rune
low
WORK-017 changeset-release/main
Build artist Rune
low
Ready 13
WORK-055 changeset-release/main
Learning Package Pipeline Hooks
high complex
0/11 criteria
WORK-094 changeset-release/main
Create @refrakt-md/vite plugin — Level 1 static transform
Build the core Vite plugin that intercepts .md files and emits JS modules with rendered HTML, frontmatter, SEO data, and serialized tree. This is the Level 1 (static, per-file) integration — no cross-page awareness.
high moderate
0/13 criteria
WORK-095 changeset-release/main
Vite plugin — virtual CSS module and tree-shaking
Implement virtual:refrakt/styles module that imports theme tokens, per-rune CSS, and package CSS. Supports tree-shaking to include only CSS for runes actually used in content.
high simple
0/9 criteria
WORK-052 changeset-release/main
Create-Refrakt Project Type Defaults
medium simple
0/6 criteria
WORK-053 changeset-release/main
CSS Fallback Resolution for Third-Party Packages
medium moderate
0/6 criteria
WORK-056 changeset-release/main
Editor Background Entity Registry
medium complex
0/10 criteria
WORK-057 changeset-release/main
Editor Registry-Powered Autocomplete
medium moderate
0/7 criteria
WORK-096 changeset-release/main
Vite plugin — dev server HMR
Implement hot module replacement for .md file changes during development. When a markdown file is saved, re-transform it and trigger a page update.
medium simple
0/6 criteria
WORK-097 changeset-release/main
Vite plugin — Level 2 cross-page pipeline
Implement the level: 'pipeline' mode that runs the full four-phase cross-page pipeline at build time, enabling breadcrumbs, nav, glossary auto-linking, and other entity-dependent features.
medium moderate
0/11 criteria
WORK-115 changeset-release/main
Migrate community package postTransform uses to declarative config
With WORK-110 through WORK-114 complete, convert the 5 postTransform uses identified in SPEC-033 to their declarative equivalents. Validate identical HTML output before and after each migration.
medium moderate
0/7 criteria
WORK-116 changeset-release/main
Update inspect and contracts tooling for structure slots features
Update refrakt inspect and refrakt contracts to surface the new SPEC-033 features: slot assignments, projection effects, and repeated elements.
medium moderate
0/7 criteria
WORK-058 changeset-release/main
Pipeline Incremental Build Optimization
low complex
0/9 criteria
WORK-098 changeset-release/main
Vite plugin — behavior init helper export
Export a thin initBehaviors() wrapper from @refrakt-md/vite/behaviors that frameworks can call after navigation to re-initialize interactive rune behaviors (accordion, tabs, datatable, etc.).
low trivial
0/6 criteria
In Progress · median 32d 2
WORK-051 36d changeset-release/main
Editor Package Awareness
high complex
3/8 criteria
WORK-089 28d changeset-release/main
Create @refrakt-md/astro adapter package
Build the Astro framework adapter — the first non-SvelteKit target. Astro is MPA-first and SSG-focused, making it the simplest adapter to build and validate.
high moderate
11/12 criteria
Review 0
Done · 5 archived 125
WORK-001 changeset-release/main
Official Rune Packages — Breakout Plan
high
WORK-021 changeset-release/main
Update Plan Documents to Use Xref Syntax
high
4/4 criteria
WORK-027 changeset-release/main
CLI Plugin Discovery Architecture
high moderate
6/6 criteria
WORK-028 changeset-release/main
Plan File Scanner Library
high moderate
10/10 criteria
WORK-030 changeset-release/main
plan update Command
high moderate
10/10 criteria
WORK-031 changeset-release/main
plan next Command
high moderate
10/10 criteria
WORK-036 changeset-release/main
Update CLAUDE.md files for plan CLI usage
high simple
6/7 criteria
WORK-037 changeset-release/main
Define planLayout in @refrakt-md/transform
Add a planLayout alongside the existing docsLayout and blogArticleLayout in the transform package's layout configs.The plan layout is structurally simple: a fixed sidebar slot for navigation and a main content area. No TOC, no breadcrumbs, no version switcher — just the two slots.
high simple
0/5 criteria
WORK-038 changeset-release/main
Build nav region builder for plan site
Convert the existing buildNavigation() output (NavGroup[]) into a renderable tag tree that can be passed as a layout region to renderFullPage().Currently the sidebar HTML is hand-rolled in the HTML shell template. This work item replaces that with a buildNavRegion() function that produces serialized tags with BEM classes matching the existing .rf-plan-sidebar__* selectors.
high moderate
0/6 criteria
WORK-039 changeset-release/main
Refactor plan render pipeline to use @refrakt-md/html
The main refactor: replace the bespoke HTML shell template in @refrakt-md/plan with calls to renderFullPage() from @refrakt-md/html. This removes the hand-rolled document structure, inline styles, and direct HTML string concatenation.
high complex
0/13 criteria
WORK-044 changeset-release/main
Collapsible status groups in plan sidebar
Replace the flat entity list in the plan sidebar with status-grouped, collapsible sections. Items are grouped by status within each entity type, with active statuses expanded and terminal statuses collapsed by default. Collapse state persists in localStorage.
high moderate
8/8 criteria
WORK-045 changeset-release/main
Sidebar search and filter bar for plan site
Add a text input at the top of the sidebar that filters visible items in real-time. Supports plain text fuzzy matching across ID, title, tags, assignee, and milestone, plus structured field:value filter syntax matching the {% backlog %} rune.
high moderate
8/8 criteria
WORK-050 changeset-release/main
Converge plan site renderer with shared layout engine
The plan site's renderPage() in runes/plan/src/commands/render-pipeline.ts manually assembles HTML using a local planTheme/planLayout definition, bypassing the shared layout engine in @refrakt-md/transform. Meanwhile, packages/transform/src/layouts.ts already exports a planLayout config (WORK-037) that goes through the standard layout engine but isn't used by the plan site's renderer.Converge the plan site's renderer to use the shared layout engine so it can leverage declarative layout features — computed ToC, conditional slots, behaviors array, computed content — rather than hand-building HTML. This unblocks ToC ("on this page"), dependency visualization (WORK-049), keyboard nav behaviors (WORK-048), and any future layout-level features without custom rendering code.
high complex
11/11 criteria
WORK-054 changeset-release/main
Storytelling Package Pipeline Hooks
high moderate
10/10 criteria
WORK-059 changeset-release/main
Metadata Dimensions on StructureEntry
high moderate
7/7 criteria
WORK-060 changeset-release/main
Annotate Rune Configs with Metadata Dimensions
high moderate
9/9 criteria
WORK-061 changeset-release/main
Lumina Generic Metadata CSS
high moderate
7/7 criteria
WORK-063 changeset-release/main
Density Dimension
high moderate
6/6 criteria
WORK-064 changeset-release/main
Section Anatomy Dimension
high moderate
6/6 criteria
WORK-067 changeset-release/main
Lumina Universal Dimension CSS
high moderate
9/10 criteria
WORK-072 changeset-release/main
Add --resolve and --resolve-file flags to plan update
Extend the refrakt plan update command to accept resolution content and append a ## Resolution section to work item and bug files.
high moderate
9/9 criteria
WORK-076 changeset-release/main
Extract Shared Layout Meta Tag Utility
high simple
0/7 criteria
WORK-077 changeset-release/main
Extract Shared Media Image Unwrap Utility
high simple
0/7 criteria
WORK-079 changeset-release/main
Align Playlist Transform to Standard Structure
high moderate
0/9 criteria
WORK-080 changeset-release/main
Refactor Realm and Faction Transforms to Use Shared Utilities
high moderate
0/8 criteria
WORK-082 changeset-release/main
Shared Split Layout CSS with Two-Mode Mobile Collapse
high moderate
0/14 criteria
WORK-083 changeset-release/main
Create Shared Git Timestamp Utility
high moderate
10/10 criteria
WORK-084 changeset-release/main
Inject $file.created and $file.modified Variables into Content Pipeline
high moderate
8/8 criteria
WORK-088 changeset-release/main
Extract shared utilities from @refrakt-md/svelte to @refrakt-md/transform
Prerequisite for all framework adapters. Two modules in @refrakt-md/svelte are framework-agnostic and needed by every adapter package.
high simple
1/7 criteria
WORK-099 changeset-release/main
Migrate simple core runes from Model to createContentModelSchema
Migrate the straightforward core runes that use @group decorators with sequential or sectioned patterns. These have no custom processChildren logic — they map directly to sequence, sections, or delimited content models.
high simple
7/7 criteria
WORK-100 changeset-release/main
Migrate simple community runes from Model to createContentModelSchema
Migrate community package runes that use straightforward @group decorator patterns. These map directly to sequence or sections content models with no custom processChildren logic.
high simple
5/5 criteria
WORK-101 changeset-release/main
Migrate moderate-complexity runes from Model to createContentModelSchema
Migrate runes that have multiple groups, context-dependent group logic, or light custom processing. These need more careful mapping but don't require the custom escape hatch.
high moderate
7/7 criteria
WORK-102 changeset-release/main
Migrate complex runes from Model to createContentModelSchema
Migrate the remaining runes that have custom processChildren overrides with stateful parsing, text pattern matching, or DOM surgery. All will use the custom content model type.
high complex
8/8 criteria
WORK-103 changeset-release/main
Remove legacy Model class, decorators, and createSchema
Once all runes are migrated to createContentModelSchema, delete the legacy API surface from @refrakt-md/runes.
high moderate
7/7 criteria
WORK-105 changeset-release/main
Add dual-signature support to createComponentRenderable and update RuneDescriptor
Phase 1 of ADR-005. Update createComponentRenderable to accept either the current Type first argument or a new inline { rune: string, schemaOrgType?: string } form. Update RuneDescriptor and Rune class to carry typeName?: string and schemaOrgType?: string instead of type?: Type.Both signatures must work simultaneously so Phase 2 migration can happen incrementally.
high moderate
6/6 criteria
WORK-106 changeset-release/main
Migrate core runes to inline rune identifiers
Phase 2a of ADR-005. Update all ~37 core rune transforms in packages/runes/src/tags/ to use the new inline { rune: 'name' } signature for createComponentRenderable instead of importing schema.X from the registry. Each update is a 2-3 line change per file.Depends on WORK-105 (dual-signature support) being complete.
high simple
5/5 criteria
WORK-107 changeset-release/main
Migrate community package runes to inline rune identifiers
Phase 2b of ADR-005. Update all ~65 community package rune transforms across 8 packages to use the new inline { rune: 'name' } signature for createComponentRenderable. Same mechanical change as WORK-106 but across community packages.Depends on WORK-105 (dual-signature support) being complete.
high simple
6/6 criteria
WORK-110 changeset-release/main
Add value mapping to modifier config
Extend ModifierConfig with valueMap and mapTarget fields so that modifier values can be declaratively mapped to different data attribute values. This is the smallest SPEC-033 feature and eliminates 2 existing postTransform uses.
high simple
0/7 criteria
WORK-111 changeset-release/main
Replace hardcoded density contexts with configurable childDensity
Remove the hardcoded COMPACT_CONTEXTS and MINIMAL_CONTEXTS sets from the identity transform engine and replace them with a childDensity field on RuneConfig. This lets community packages declare density behavior without modifying the engine.
high simple
0/8 criteria
WORK-112 changeset-release/main
Implement named slots with ordering for structure entries
Add a slots array to RuneConfig and slot/order fields to StructureEntry. The engine assembles children by iterating slots in declared order instead of using binary before/after placement. This is the core structural change in SPEC-033 that enables multi-zone layouts.
high moderate
0/10 criteria
WORK-117 changeset-release/main
Implement framework-agnostic extraction logic for component interface
high moderate
WORK-126 changeset-release/main
Parse Resolution sections in the plan scanner
Extend the plan scanner to extract ## Resolution sections from work item and bug files into a structured resolution field on PlanEntity.
high moderate
0/8 criteria
WORK-127 changeset-release/main
Fix plan schema bugs: pending status, severity mismatch, tag filtering
Four small bugs identified in the SPEC-037 audit that need immediate fixes.
high simple
5/5 criteria
WORK-128 changeset-release/main
Add source, milestone, and complexity validation to plan validate
The validate command has blind spots: source attribute references to non-existent specs/decisions go undetected, milestone references to non-existent milestones pass silently, and complexity values aren't checked at all. These gaps let broken references and invalid data persist.
high simple
5/5 criteria
WORK-134 changeset-release/main
Event model types and per-entity git history extraction
Define the core TypeScript types for the git-native entity history system and implement the per-entity extraction algorithm that derives structured lifecycle events from git commits.This is the foundational piece that all other SPEC-038 work items depend on. The extraction algorithm walks a file's git history, parses each version's attributes/criteria/resolution, and diffs consecutive snapshots to emit typed HistoryEvent objects.
high moderate
15/15 criteria
WORK-136 changeset-release/main
CLI plan history single-entity mode
Implement the plan history <ID> CLI subcommand for viewing the git-derived lifecycle timeline of a single plan entity.
high simple
11/11 criteria
WORK-140 changeset-release/main
Tab layout for plan entity pages
Add a tab panel to plan entity pages (spec, work, bug, decision) that separates the main authored content from pipeline-generated metadata views. Each entity page gets tabs:
high moderate
12/12 criteria
WORK-149 main
Promote shared rune-reference infrastructure to packages/runes
high simple claude
8/8 criteria
WORK-150 main
Add content-model renderer for agent-facing rune docs
high moderate claude
9/9 criteria
WORK-155 main
Build refrakt reference CLI commands
high moderate
11/11 criteria
WORK-002 changeset-release/main
Batch 3: Convert Runes Using sections Resolver
medium
WORK-003 changeset-release/main
Editor Visual Polish Plan
medium
WORK-004 changeset-release/main
Build gallery Rune
medium
WORK-015 changeset-release/main
Build track and playlist Runes
medium
WORK-019 changeset-release/main
Build audio Rune
medium
WORK-020 changeset-release/main
Add Entity Registration to @refrakt-md/plan
medium
4/7 criteria
WORK-022 changeset-release/main
Build backlog Rune
medium complex
11/11 criteria
WORK-024 changeset-release/main
Add knownSections to Plan Rune Content Models
medium moderate
8/8 criteria
WORK-026 changeset-release/main
Add ref as Alias for xref
medium trivial
4/4 criteria
WORK-029 changeset-release/main
plan init and plan create Commands
medium simple
7/7 criteria
WORK-032 changeset-release/main
plan status Command
medium moderate
8/8 criteria
WORK-033 changeset-release/main
plan validate Command
medium moderate
10/10 criteria
WORK-034 changeset-release/main
Plan Dashboard Theme
medium moderate
9/9 criteria
WORK-035 changeset-release/main
plan serve and plan build Commands
medium complex
10/10 criteria
WORK-040 changeset-release/main
Add syntax highlighting to plan site
Apply @refrakt-md/highlight to the plan render pipeline so code fences in plan content get proper syntax coloring. Currently code blocks render as plain <pre><code> with no highlighting.
medium moderate
0/7 criteria
WORK-041 changeset-release/main
Add client behaviors to plan site
Wire @refrakt-md/behaviors into the plan site via initPage() from @refrakt-md/html/client. This enables copy-to-clipboard buttons on code blocks and provides the foundation for future interactive behaviors.
medium simple
0/5 criteria
WORK-042 changeset-release/main
Config-aware theme resolution for plan site
Update the plan site's resolveThemeCss() to read refrakt.config.json when no --theme flag is provided, so the plan site automatically uses the project's installed theme.When a theme package is specified in config, resolve its CSS (design tokens + base styles) and layer it under the plan rune CSS. When resolution fails or no config exists, fall back to the built-in default theme.
medium moderate
0/7 criteria
WORK-043 changeset-release/main
Token bridging — update plan CSS to use --rf-* tokens
Update plan rune CSS to reference --rf-* tokens (the standard refrakt token namespace) as primary values, with --plan-* as fallbacks. This allows plan styles to adapt to any installed theme's token palette while remaining functional in standalone mode.
medium moderate
0/6 criteria
WORK-046 changeset-release/main
Enhanced plan dashboard with progress and milestone scoping
Improve the auto-generated dashboard to show project health at a glance: status count summaries, a blocked items callout, per-milestone grouping when multiple milestones exist, and a recent activity section.
medium moderate
7/7 criteria
WORK-047 changeset-release/main
Tag-based cross-cutting view pages for plan site
Auto-generate pages that group entities by tag, assignee, or milestone. These appear in a "Views" section in the sidebar and use the {% backlog %} rune with appropriate filters.
medium moderate
7/7 criteria
WORK-062 changeset-release/main
Inspector Metadata Audit
medium simple
6/6 criteria
WORK-065 changeset-release/main
Interactive State Dimension
medium moderate
9/9 criteria
WORK-066 changeset-release/main
Media Slots Dimension
medium simple
5/5 criteria
WORK-068 changeset-release/main
Inspector Dimensions Audit
medium simple
7/7 criteria
WORK-069 changeset-release/main
Universal Checklist Styling
medium moderate
11/11 criteria
WORK-070 changeset-release/main
Universal Sequential Item Styling
medium moderate
12/12 criteria
WORK-073 changeset-release/main
Add resolution validation checks to plan validate
Add three resolution-related checks to refrakt plan validate as specified in SPEC-027.
medium simple
5/5 criteria
WORK-074 changeset-release/main
Display resolution metadata in plan status and plan serve
Show resolution data (completion date, PR link) in the plan status output and the plan serve dashboard.
medium moderate
0/5 criteria
WORK-078 changeset-release/main
BEM Modifier Hygiene for Storytelling Runes
medium trivial
0/8 criteria
WORK-085 changeset-release/main
Add Timestamp Attributes to Plan Rune Schemas
medium moderate
8/8 criteria
WORK-086 changeset-release/main
Consolidate Plan Scanner with Shared Git Timestamp Utility
medium simple
6/6 criteria
WORK-090 changeset-release/main
Create @refrakt-md/nuxt adapter package
Build the Nuxt framework adapter. Nuxt is Vite-based like SvelteKit, so the existing Vite plugin logic (virtual modules, content HMR) can be substantially reused.
medium moderate
0/10 criteria
WORK-091 changeset-release/main
Create @refrakt-md/next adapter package
Build the Next.js framework adapter. Uses React Server Components + renderToHtml() for zero-hydration content rendering, with a thin client component for behavior initialization.
medium moderate
0/11 criteria
WORK-093 changeset-release/main
Add multi-framework support to create-refrakt
Extend create-refrakt to scaffold projects for Astro, Nuxt, Next.js, and Eleventy in addition to the existing SvelteKit and HTML targets.
medium moderate
1/11 criteria
WORK-104 changeset-release/main
Update authoring docs after legacy Model removal
Remove or rewrite documentation that references the legacy Model class, decorators, and createSchema. After this work, the authoring docs present createContentModelSchema as the single path.
medium simple
7/7 criteria
WORK-108 changeset-release/main
Update inspect tooling for string-based rune types
Phase 2c of ADR-005. Update refrakt inspect and related tooling to use the Rune.typeName string field instead of rune.type?.name. Small change (~4 lines) but needed before Phase 3 cleanup can remove the Type class.Depends on WORK-105 (dual-signature support) being complete.
medium simple
5/5 criteria
WORK-109 changeset-release/main
Remove Type system — delete schema classes, registries, and old signature
Phase 3 of ADR-005 (breaking change). Once all runes are migrated (WORK-106, WORK-107) and tooling updated (WORK-108), remove the legacy Type class system entirely.Depends on WORK-106, WORK-107, and WORK-108 all being complete.
medium moderate
11/11 criteria
WORK-113 changeset-release/main
Add repeated element generation to structure entries
Extend StructureEntry with a repeat field that generates N copies of a template element, with optional filled/unfilled distinction. Eliminates the testimonial rune's postTransform for star ratings.
medium moderate
0/8 criteria
WORK-114 changeset-release/main
Implement element projection (hide, group, relocate)
Add a projection field to RuneConfig that enables declarative structural reshaping of the output tree. Projection runs as a distinct pass after BEM class application but before meta tag filtering, operating on data-name addresses. This is SPEC-033's most powerful feature, giving themes control over schema-produced elements.
medium complex
0/11 criteria
WORK-120 changeset-release/main
Export generic type interfaces for rune component overrides
medium moderate
WORK-121 changeset-release/main
Add component interface view to refrakt inspect
medium simple
WORK-122 changeset-release/main
Document framework-native component override interface
medium moderate
WORK-123 changeset-release/main
Create @refrakt-md/react renderer with ADR-008 component interface
The Next.js adapter currently renders all runes via renderToHtml() (identity transform only). To support React component overrides — where theme or site authors provide custom React components for specific runes — we need a @refrakt-md/react renderer package that dispatches on typeof/data-rune and provides the ADR-008 framework-native interface (props + named children).
medium complex
12/12 criteria
WORK-124 changeset-release/main
Create @refrakt-md/vue renderer with ADR-008 component interface
The Nuxt adapter currently renders all runes via renderToHtml() (identity transform only). To support Vue component overrides — where theme or site authors provide custom Vue components for specific runes — we need a @refrakt-md/vue renderer package that dispatches on typeof/data-rune and provides the ADR-008 framework-native interface (props + named slots).
medium complex
12/12 criteria
WORK-125 changeset-release/main
Add Astro native component override support with ADR-008 named slots
Astro is a special case per ADR-008: it is both an adapter (routing, build integration) and has its own component format with native named slots. Unlike Next.js and Nuxt which need separate renderer packages (@refrakt-md/react, @refrakt-md/vue), Astro component overrides can be handled directly in packages/astro/ using Astro's built-in <slot name="..."> mechanism.For interactive runes rendered inside Astro islands, the island's framework renderer (React, Svelte, or Vue) handles extraction — that is covered by WORK-123, WORK-124, and WORK-119 respectively. This work item covers static .astro component overrides only.
medium complex
10/10 criteria
WORK-129 changeset-release/main
knownSections scanner integration: section-scoped refs and validation
Once knownSections are declared in the plan rune content models (WORK-024), the scanner and validator need to become section-aware. Today, refs are extracted from the entire file without knowing which section they belong to. With knownSections, refs get tagged with their canonical section name, enabling the next command to distinguish blocking dependencies from informational references.
medium moderate
9/9 criteria
WORK-131 changeset-release/main
Update site docs and plan CLAUDE.md for plan package hardening changes
After the SPEC-037 work items ship, the documentation needs to reflect the new capabilities: pending status, knownSections, attribute clearing, and the updated validation checks.
medium simple
6/6 criteria
WORK-132 changeset-release/main
Convert plan content to machine-readable refs and adopt knownSections conventions
The plan content has a systemic gap: most cross-references are plain text (- SPEC-028 (Standard 2)) rather than machine-readable ref tags ({% ref "SPEC-028" /%}). Out of ~125 work items, only 44 use ref tags. References sections are the worst: 79 use plain text vs 22 with ref tags. Dependencies sections are split roughly evenly (21 plain text, 20 with refs).This means the next command's dependency blocking is essentially non-functional for most work items — it can only resolve {% ref %} tags, so plain text ID mentions are invisible to it. The knownSections work (WORK-024, WORK-129) will make the system section-aware, but it's only useful if refs are actually machine-readable.This work item converts existing plan content to use ref tags and adopts the knownSections conventions so the full dependency graph comes alive.
medium complex
WORK-133 changeset-release/main
Mobile plan section navigation and desktop TOC filtering
Long plan entities (specs, work items, decisions) are hard to navigate on mobile — you have to scroll through the entire document to reach a section. The toolbar scrolls away so you can't even reach the sidebar nav. On desktop, the TOC sidebar lists every H2/H3 heading, which becomes a wall of text for detailed specs and is hard to scan.Plan runes already declare known sections with canonical names (Acceptance Criteria, Dependencies, Approach, etc.) and the transform wraps them in <section data-name="..."> elements. We can leverage this to build focused section navigation for both mobile and desktop.
medium moderate
10/10 criteria
WORK-135 changeset-release/main
Batch extraction and history caching
Implement efficient batch extraction of history for all plan entities and integrate with the existing .plan-cache.json caching mechanism. Handle shallow clone edge cases.
medium simple
9/9 criteria
WORK-137 changeset-release/main
CLI plan history global mode and filters
Implement the global history feed and all filter flags for the plan history CLI command. The global mode shows recent events across all entities, grouped by commit.
medium moderate
13/13 criteria
WORK-138 changeset-release/main
plan-history site rune — tag definition and pipeline hooks
Implement the plan-history Markdoc tag as a self-closing aggregation rune following the established plan rune pattern (sentinel + meta tags + placeholder → aggregate → postProcess resolution). Supports both per-entity and global feed modes.
medium moderate
13/13 criteria
WORK-141 changeset-release/main
Split plan entity header into primary badges, title, secondary badges
Restructure the identity transform config for plan entity runes (spec, work, bug, decision, milestone) so the header badges are split into two groups around the title, matching the visual hierarchy already used by backlog cards:
medium moderate
12/12 criteria
WORK-142 changeset-release/main
Make plan init tool-agnostic
refrakt plan init currently hardcodes writing workflow instructions to CLAUDE.md. Decouple the init command from any specific AI tool so the plan package works naturally for users of Cursor, GitHub Copilot, Windsurf, Cline, Aider, or no AI tool at all.
medium moderate
13/13 criteria
WORK-143 changeset-release/main
Rename plan directories to plural form
Change the plan package's directory convention from singular to plural: spec/ to specs/, decision/ to decisions/, milestone/ to milestones/. Keep work/ unchanged (collective noun).
medium simple
12/12 criteria
WORK-151 main
Add attribute preset registry for tier-aware reference output
medium simple claude
7/7 criteria
WORK-152 main
Migrate legacy Model-class runes and audit custom-pattern descriptions
medium moderate claude
6/6 criteria
WORK-153 main
Rename RuneInfo.prompt → authoringHints and surface in reference output
medium simple claude
7/7 criteria
WORK-156 main
Generate AGENTS.md during create-refrakt scaffolding
medium simple
7/7 criteria
WORK-157 main
Add --type plan to create-refrakt
Add a planning-only scaffold option to create-refrakt that produces a minimal package.json + .gitignore and delegates the plan/ tree creation to refrakt plan init. Single-command entry point for users who want refrakt just for plan management.
medium moderate
12/12 criteria
WORK-158 main
Adopt {ID}-{slug}.md filename convention for plan items
Plan files currently live under plan/{work,specs,decisions}/ with slug-only filenames (e.g. plan-validate-command.md). The ID (WORK-033) lives in the {% work %} frontmatter tag but doesn't appear in the filename. A few recent items (WORK-149 through WORK-156) started prefixing the ID, producing an inconsistent mix: 8 prefixed vs. 196 unprefixed across work/specs/decisions.Standardising on {ID}-{slug}.md for every auto-ID type (work, bug, spec, decision) makes files grep-friendly, gives unambiguous references in commits/PRs/chat ("see WORK-158" points at exactly one file without a frontmatter scan), and sorts items by ID naturally in directory listings. Milestones keep their semver names (v1.0.0.md) since they don't use the numeric ID scheme.
medium moderate
12/12 criteria
WORK-023 changeset-release/main
Build decision-log Rune
low moderate
9/9 criteria
WORK-025 changeset-release/main
Milestone Auto-Backlog and Checklist Progress
low moderate
7/7 criteria
WORK-048 changeset-release/main
Keyboard navigation for plan site
Add keyboard shortcuts for fast navigation: / to focus search, j/k to move between sidebar items, Enter to navigate, [/] to jump between entity type groups, o to toggle collapse, Escape to clear.
low simple
8/8 criteria
WORK-049 changeset-release/main
Dependency visualization for plan site
Surface cross-entity relationships by scanning content for ID references (WORK-XXX, SPEC-XXX, BUG-XXX, ADR-XXX). Build a bidirectional relationship index and render relationships in a dedicated layout slot on each entity page.
low complex
7/7 criteria
WORK-071 changeset-release/main
Lumina Per-Rune Redundant CSS Cleanup
low moderate
8/8 criteria
WORK-075 changeset-release/main
Update plan init CLAUDE.md template with resolution guidance
Update the workflow section that refrakt plan init writes to CLAUDE.md to include guidance on using --resolve when completing work items.
low trivial
3/3 criteria
WORK-081 changeset-release/main
Consolidate Character Transform to Single Code Path
low trivial
0/3 criteria
WORK-087 changeset-release/main
Add Sitemap lastmod Support Using File Timestamps
low simple
5/5 criteria
WORK-092 changeset-release/main
Create @refrakt-md/eleventy adapter package
Build the Eleventy (11ty v3) framework adapter. The simplest integration — no Vite, no bundler, no framework. Just global data files, templates, and renderToHtml().
low simple
0/10 criteria
WORK-130 changeset-release/main
Support attribute clearing in plan CLI update command
The update command can set or replace attribute values but cannot remove them. Once you set --assignee claude or --milestone v1.0.0, there's no way to unset it. Support empty string as "clear": --assignee "" removes the attribute from the tag.
low simple
5/5 criteria
WORK-139 changeset-release/main
plan-history CSS rendering
Style the plan-history rune with a vertical timeline layout following the design conventions established by the timeline rune (connected line, circle markers) and the diff rune (add/remove coloring).
low simple
12/12 criteria
WORK-154 main
Drop the reinterprets field entirely
low simple claude
6/6 criteria