From 69932fa2bf60bf0f95feb20c32e8045c48e6fdca Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Wed, 17 Jun 2026 09:53:09 +0200 Subject: [PATCH] docs: record the Library term and mark the plans library as built --- CONTEXT.md | 5 +++++ README.md | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CONTEXT.md b/CONTEXT.md index ea1b538..2458daa 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -44,6 +44,10 @@ _Avoid_: column, period, sprint A vertical line marking the current week across the whole plan — the at-a-glance "where are we right now". _Avoid_: today marker, cursor +**Library**: +The collection of saved **Macroplans** held in the browser's localStorage — the live store. Always holds at least one Macroplan; durability rests on exporting a Macroplan's `.toml` (per ADR-0002), not on the Library itself. Carries no status of its own. +_Avoid_: workspace, project, file list + ## Symbols - `┣` start of a Feature's bar @@ -56,6 +60,7 @@ _Avoid_: today marker, cursor ## Relationships - A **Macroplan** contains a flat, author-ordered list of **Features** (typically ordered by start **Week**) and many **Milestones**. There is no grouping/workstream concept. +- The **Library** holds many **Macroplans**, exactly one of which is active (shown in the editor and grid). Each is identified internally by a stable id and labelled by its **title**. - A **Feature** has exactly one **Original Estimate**, zero or more **Re-estimates**, at most one **Delivery**, and at most one **Learning**. - A **Milestone** explicitly names the **Features** required by it; a Feature may be required by zero, one, or several Milestones, and a Feature may be in the plan without belonging to any Milestone. - On-time vs. late is judged against the **Original Estimate**, never a **Re-estimate**. diff --git a/README.md b/README.md index 2fc5ce5..7092d70 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,7 @@ Dashboard ┣━━━━━◯ 🔴 n ## Status -**Feature-complete** against the [design](DESIGN.md) and covered by tests — TOML authoring with live reload, the full week × feature grid render, derived on-time/late classification, milestones, and PNG export all work client-side. - -Not yet built: a **library** of multiple named plans. Today a single source autosaves to localStorage. +**Feature-complete** against the [design](DESIGN.md) and covered by tests — TOML authoring with live reload, a **library** of named plans, the full week × feature grid render, derived on-time/late classification, milestones, and PNG + `.toml` export all work client-side. ## How it works @@ -27,7 +25,7 @@ Not yet built: a **library** of multiple named plans. Today a single source auto - The view is a **CSS-Grid** week × feature layout with the symbol vocabulary, real status colors (🟢/🟠/🔴 with hover notes), a "now" line, sticky feature-name and week-axis panes, and a trailing **Learning** column. - On-time vs. late is **derived** by the app against the Original Estimate — you never type "late". - **Milestones** are vertical lines tied to an explicit list of required features. -- Your source **autosaves to localStorage**; **export a PNG** to share into Slack or a deck. +- Keep a **library** of named plans in localStorage and switch between them; **export** any plan as a `.toml` file, or the rendered view as a **PNG** to share into Slack or a deck. - Stack: Vite + Vue 3 + DaisyUI · `smol-toml` (parse) · `html-to-image` (export). Static SPA, no backend. ## Documentation