chore: initial scaffold
This commit is contained in:
10
docs/adr/0001-original-estimate-as-baseline.md
Normal file
10
docs/adr/0001-original-estimate-as-baseline.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# On-time vs. late is judged against the Original Estimate
|
||||
|
||||
A Feature's first committed delivery week (the **Original Estimate**, `◯`) is the immovable baseline for deciding whether a **Delivery** is on-time (`◉`) or late (`▲`). **Re-estimates** (`△`) are recorded and stay visible as slips, but they never move the baseline.
|
||||
|
||||
We chose this over judging against the most recent re-estimate because the Macroplan's purpose is to be an honest record of estimation accuracy and a source of **Learning** — judging against the latest re-plan would let the goalposts move and erase the very signal we want to keep. The trade-off is that it's less kind to the team (you can hit your re-plan and still read as late), which we accept deliberately.
|
||||
|
||||
## Consequences
|
||||
|
||||
- Every Feature must retain its Original Estimate for its whole lifetime, independent of any number of Re-estimates.
|
||||
- The full slip history is preserved on the row (`◯` + every `△`), so the gap between promise and reality stays legible.
|
||||
12
docs/adr/0002-local-first-no-backend.md
Normal file
12
docs/adr/0002-local-first-no-backend.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Local-first, no backend; TOML file is the portable source of truth
|
||||
|
||||
The Macroplan app is a static SPA (Vite + Vue + DaisyUI) with **no backend**. A Macroplan is authored as **TOML** in an in-app split editor, parsed on every keystroke. The live store is **localStorage** (an in-app library of named Macroplans); the **`.toml` file is the portable, durable, git-trackable source of truth**, moved in and out via Import/Export. Sharing is done by exporting the rendered plan as a **PNG image** (clipboard + download), not by hosting a URL.
|
||||
|
||||
We chose this over a server-backed app because the tool is a personal/team planning artifact that benefits from zero infrastructure, instant editing, and git-trackable plan files. A hosted URL was rejected for sharing because a client-only app has no data to serve unless the source is also shipped — image export sidesteps that entirely.
|
||||
|
||||
## Consequences
|
||||
|
||||
- **Durability rests on Export.** localStorage can be cleared; the `.toml` file is the real backup. This is a deliberate, watched tension (see DESIGN.md §8).
|
||||
- **No multi-device sync.** Editing happens per-browser; moving a plan between machines means moving the `.toml`.
|
||||
- **Shared snapshots lose hover content.** An exported image shows the status color but not the hover note; "what you see is what exports."
|
||||
- Adding a backend later would be a significant shift, not a tweak — hence this is recorded.
|
||||
Reference in New Issue
Block a user