Story: Agile dashboard PoC: JavaScript UI over org-mode data
Table of Contents
This page documents a story in Sprint 20. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
Determine whether a lightweight, read-only JavaScript agile dashboard is feasible for this project: a single-page application that parses org-mode files (and optionally the knowledge-graph SQLite database) to render sprints, stories, and tasks in an interactive kanban/list view. The deliverable is a PoC that can be served from GitHub Pages and run locally without a backend.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 20 |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing — follow-ups live in the backlog. |
| Last touched | 2026-06-06 |
Acceptance
- A PoC page loads in a browser (GitHub Pages URL and
file:/// local dev server) and displays the current sprint with its stories and tasks. - Clicking a story expands its details (goal, status, acceptance).
- Data is sourced exclusively from checked-in org files and/or the knowledge-graph database; no additional backend is required.
- A brief written assessment covers: feasibility, chosen libraries, known limitations, and a recommended path forward (or a clear "not worth it" verdict with rationale).
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Scaffold story | DONE | 2026-06-06 | 2026-06-06 | Create story, wire sprint table, open scaffold PR. |
| Research JS libraries and org-mode parsing | DONE | 2026-06-06 | 2026-06-07 | Evaluate libraries; produce feasibility assessment. |
Decisions
- Project naming
- The browser apps live in
projects/ores.org-js/— "dashboard" is owned by theores-dashboard.elemacs mode, and the org parsing layer may be generalised beyond agile. - Fork org-roam-ui
- Its static build moved from
external/toprojects/ores.org-js/graph/; graph and agile deploy uniformly viaores-deploy-web-appsin the site build. - Single data artefact
- The agile app reads
graphdata.json— the existing org-roam db export that drives the graph — whose nodes carry the full raw org source. No manifest, no second data path; the org files remain the source of truth and the database remains the only intermediary. - No build step
- Preact + htm and uniorg over ESM CDN — no bundler in the repo. uniorg (the parser family org-roam-ui uses) renders documents; a small tailored parser extracts the board model (states, tasks, epics) from our codegen-regular docs.
- Charts
- Hand-rolled SVG (burn-up, velocity, tasks-by-state) — no chart library for the PoC.
Out of scope
- Any write or edit capability — this PoC is strictly read-only.
- Real-time data sync or webhooks.
- Authentication or access control.
- Integration with external agile tools (Jira, Linear, etc.).