Files
learning-planner/docs/project/decision-log.md

1.8 KiB
Raw Permalink Blame History

Decision log

ADR-01: Local-first persistence

Decision: Use a versioned storage adapter over localStorage with validated JSON import/export. Reason: It keeps a solo project achievable, demonstrates data boundaries and recovery, and avoids unrelated account/cloud work. Consequence: Data is per-browser; the UI says this clearly and provides a portable backup.

ADR-02: Derived progress

Decision: Calculate completion and dashboard summaries from task records. Reason: Storing calculated progress would introduce synchronisation defects. Evidence: Domain tests cover empty and partially complete goals.

ADR-03: Standards and compatibility

Decision: Use semantic HTML, system fonts, Grid/Flexbox, feature detection and a UUID fallback. Reason: Avoid browser-specific styling and unnecessary polyfills while keeping a clear backwards-compatibility path.

RWD-01: 1680 summary-card orphan

Observed: Visual inspection at 1680×1050 showed a three-column grid with the fourth summary card alone on a second row. Functionality passed, but hierarchy and balance were poor. Decision: Use a balanced 2×2 summary grid below 1800 px and a four-column row from 1800 px. Verification: Computed styles changed from three columns to two; scrollWidth remained equal to clientWidth; the full core journey passed again. Evidence: responsive-defect-before-1680x1050.png and responsive-fix-after-1680x1050.png.

ADR-04: Truthful manual evidence

Decision: Do not simulate Microsoft Edge or claim physical-device sessions from a Linux host. Reason: Viewport automation is useful evidence but is not equivalent to two real computers or a genuine Edge build. The supplied protocol makes the remaining evidence reproducible and auditable.