Index of all epics, ordered by priority (top = highest priority). Each epic is its own file under backlog/epics/.
| Order | Epic | File | Status |
|---|---|---|---|
| 1 | End-to-End Text Rendering Slice | epics/01_end_to_end_text_rendering_slice.md |
In Progress (2 of 3 stories Done — Sprint 1) |
| 2 | Template Designer GUI Foundation | epics/02_template_designer_gui_foundation.md |
Done (6 of 6 stories — Sprint 4) |
| 3 | CSV Integration and Field Mapping | epics/03_csv_integration_and_field_mapping.md |
Done (4 of 4 stories — Sprint 4) |
| 4 | CLI Rendering Engine and Debenu Integration | epics/05_cli_rendering_engine_and_debenu_integration.md |
In Progress (5 of 7 stories Done — Sprint 1-3) |
| 5 | Live Preview and Record Navigation | epics/04_live_preview_and_record_navigation.md |
Ready |
| 6 | Layout Efficiency and Operator Tooling | epics/06_layout_efficiency_and_operator_tooling.md |
Not Started |
| 7 | Dynamic and Network Image Handling | epics/07_dynamic_and_network_image_handling.md |
Not Started |
| 8 | Composite Address Controls and Mixed-Content Text | epics/08_composite_address_controls.md |
Not Started (requirements gathered 2026-09-29, not yet sized) |
backlog/epics/01_end_to_end_text_rendering_slice.md and backlog/epics/05_cli_rendering_engine_and_debenu_integration.md. Full summary: backlog/sprints/sprint-1.md (Sprint Review Outcome section).epics/05, 5 points, Ready) early in Sprint 2 refinement/planning alongside whatever else is pulled from epics 2-3 — it's a cheap, high-information risk check that's now overdue (not re-run since Sprint 1 Batch 2) rather than a reason to reorder the epic list itself.epics/05) and “Surface real warning counts in progress and completion reporting” (epics/07). Neither is urgent for Sprint 2's likely candidates (epics 2-3 touch neither CLI configuration nor warnings).logs/impediment_log.md) do not block Sprint 2's likely candidate epics (2 and 3) — neither of those epics’ stories touch images or network asset paths. They only need to be resolved before epic 7 (Dynamic and Network Image Handling) stories are pulled into a sprint; recommend deciding them during backlog refinement once epic 7 nears the top of the backlog, per “delay firm decisions to the last responsible moment,” rather than treating them as urgent now.backlog/epics/02_template_designer_gui_foundation.md and backlog/epics/05_cli_rendering_engine_and_debenu_integration.md. Full summary: backlog/sprints/sprint-2.md (Sprint Review Outcome section).code/BENCHMARK.md. Strong recommendation: prioritize the new “Investigate and address high-volume render throughput degradation” story (epics/05, Ready, not yet sized) at or near the top of Sprint 3, ahead of or alongside CSV Integration — this is a High-impact item that directly threatens a hard product constraint (project_config.md) and gets worse, not better, the longer higher-volume-dependent feature work (CSV integration at scale, eventual 1M-record ceiling) is built on top of an unfixed render path.scrum-master facilitated with dev-team sizing; committed 18 points against a 19-20 point velocity range: the throughput-degradation story (newly sized at 8 points — see backlog/epics/05_cli_rendering_engine_and_debenu_integration.md), then “Load CSV headers and sample rows,” “Create a dynamic text token from a CSV column,” and “Re-map an existing dynamic field” (epic 3, in backlog order). Full plan: backlog/sprints/sprint-3.md.backlog/epics/05_cli_rendering_engine_and_debenu_integration.md (throughput story) and backlog/epics/03_csv_integration_and_field_mapping.md (the CSV Integration chain). Full daily detail: backlog/sprints/sprint-3.md..exe: load headers, bind a dynamic field, rebind it, with the mapping honored on the next CLI render.logs/technical_debt_log.md, 2026-09-21 entry). No committed story renders anywhere near that scale, so this does not block Sprint 3 or any currently-planned Sprint 4 work, but it should be picked up and resolved before any future story commits to rendering near the 1,000,000-record ceiling — two candidate fixes (count-aware batch sizing; subsetted rather than fully-embedded fonts per batch) are already noted in the debt log.logs/impediment_log.md) — still non-blocking for the Sprint 4 candidates named above.product-owner clarified scope directly with the user (angle range, UI interaction, pivot point) before writing the story, then split it into two dependent stories in epics/02_template_designer_gui_foundation.md (previously fully Done, now reopened): “Set a rotation angle for text and dynamic field elements” (properties-panel numeric entry, persistence, and render-side rotation about the bounding-box center — 8 points) and “Rotate elements by dragging a handle on the canvas” (interactive drag handle, depends on the first story — 5 points). dev-team sized both against real code inspection, confirming the vendor Debenu API (DrawRotatedText, GetTextWidth/GetTextAscent/GetTextDescent) supports the underlying capability but has no “rotate about center” primitive, so the center-pivot math is genuine new work, not a pass-through. Both pass the Definition of Ready; recommend against splitting further.AGENTS.md's guidance. This ordering is a recommendation only; the human product owner can reprioritize the rotation stories ahead of the carryover items if rotation is more urgent than sequencing suggests.backlog/epics/02_template_designer_gui_foundation.md (both rotation stories) and backlog/epics/03_csv_integration_and_field_mapping.md (blank-line collapse). Full daily detail: backlog/sprints/sprint-4.md.SetForegroundWindow failing once during GUI automation) briefly misdirected some keystrokes during Batch 3's live verification; caught immediately from screenshot evidence and worked around, confirmed to be a tooling artifact rather than a product defect — no product-facing gap, not logged as technical debt.logs/impediment_log.md).product-owner gathered requirements directly with the user across two rounds of clarifying questions (composition model, single-anchor movement, collapse-default behavior, and — the highest-impact fork — whether mixed static+field content is scoped to the control or general) before writing anything down.epics/08_composite_address_controls.md, with two dependent stories: “Mix static text and CSV fields within a single text element” (a general upgrade to every text element in the designer, not just control lines — confirmed explicitly with the user) and “Group lines into a single, movable Address Control” (a fully custom, operator-built line list with single-anchor movement and automatic spacing, default-on-but-toggleable per-line blank-collapse). Full requirements, including several explicit “Development Team design decision” flags for details not resolved with the user, are in that epic file.scrum-master facilitated. Velocity range tightened to 18-20 points (three data points: 20, 19, 18 completed in Sprints 1-3, the last with zero scope change). Committed 18 points at the low end of the range rather than the 20-point ceiling, per the standing “reserve ~10% for grooming” guidance: “Collapse blank optional address lines consistently” (5 pts, epic 3 — completes that epic outright), plus the full rotation chain from epic 2 — “Set a rotation angle for text and dynamic field elements” (8 pts) then “Rotate elements by dragging a handle on the canvas” (5 pts, depends on the former). Full plan: backlog/sprints/sprint-4.md.Powered by TurnKey Linux.