diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9bbdabd --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +*.docx binary +*.pdf binary +*.png binary diff --git a/docs/project/decision-log.md b/docs/project/decision-log.md index f5823bd..42f29ae 100644 --- a/docs/project/decision-log.md +++ b/docs/project/decision-log.md @@ -2,29 +2,29 @@ ## 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. +**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. +**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. +**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. +**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. +**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.