Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions docs/stories/US-005-ux-polish-accessibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

**Story ID:** US-005
**Epic:** Platform Quality (cross-feature)
**Status:** In progress
**Status:** Done — deployed (PR #15, rebase-merged 2026-09-14); owner
visual sign-off on prod 2026-09-15

---

Expand Down Expand Up @@ -97,7 +98,7 @@ US-003 items 1–3.
assertions + jsdom FLIP unit tests).
- [x] `make check` green; prettier clean.
- [x] Backlog updated (US-003 absorbed; priorities adjusted).
- [ ] QA assessment passed; code review approved.
- [x] QA assessment passed; code review approved.

---

Expand Down
8 changes: 3 additions & 5 deletions memory-bank/activeContext.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ widening.
- Verified: 152/152 unit tests (12 new), `make check` green, 7/7 Playwright
assertions, 2 screenshots in the story folder.
- Owner-verified on prod (2026-09-15): repeat alarm rings live; alarm tone
audible — closes the last US-001/US-002 QA items; both stories Done.
audible; US-005 visual sign-off — **all stories Done, no open DoD items**.

## Repo cleanup & workflow change (2026-09-15)

Expand All @@ -36,8 +36,6 @@ widening.

## Next steps

- Owner: US-005 visual sign-off on prod (last open DoD item) — then the
story's Status flips to Done.
- Then: US-004 multi-clock epic, run individually per owner decision —
needs a PO story defining "a clock" + likely an ADR before starting.
- US-004 multi-clock epic, run individually per owner decision — needs a
PO story defining "a clock" + likely an ADR before starting.

10 changes: 4 additions & 6 deletions memory-bank/progress.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

## Status

US-002 (recurring alarms) is **merged and deployed** (PR #18, rebase-merged
into `main` on 2026-09-15; merging fires the automatic release deploy).
Repo cleanup, same day: merged feature branches and `dev` deleted (local +
All alarm-epic stories are **merged, deployed, and owner-verified on prod**
(US-001 PR #13, US-002 PR #18, US-005 PR #15 — live ring, audible tone, and
visual sign-off confirmed 2026-09-15; every story DoD is closed). Repo
cleanup, same day: merged feature branches and `dev` deleted (local +
origin); `dev` is retired — work now branches from `main` and PRs into
`main` (rebase-merge, linear history). Site is live at
`clock.taylormadetech.net`. 152 unit tests green.
Expand Down Expand Up @@ -34,9 +35,6 @@ origin); `dev` is retired — work now branches from `main` and PRs into

## Remaining / known issues

- US-005 visual sign-off on prod still pending (owner eyeball) — the last
open DoD item anywhere. Audio tone and live repeat-ring verified by the
owner on prod 2026-09-15.
- Edge-cached homepage can lag up to 2 h behind a deploy (expected; judge
freshness via `/healthz` or a query-string cache-bust, which works).
- npm minor drift: eslint/prettier/lint-staged/TS patch bumps available;
Expand Down
41 changes: 15 additions & 26 deletions tasks/sprint.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,21 @@ Sprint window: active (no fixed calendar sprint; pipeline-driven).

### US-001 — Multiple Alarms (Epic: Alarms)

- Status: **MERGED + DEPLOYED** (PR #13, 2026-09-13 21:17Z). Release run #5 →
webhook deploy → `/healthz` 200.
- Remaining DoD: manual browser check that the alarm tone plays (audio cannot
be verified in jsdom) — owner task. Then this entry is deleted.
- Status: **MERGED + DEPLOYED + OWNER-VERIFIED** (PR #13, 2026-09-13 21:17Z;
Release run #5 → webhook deploy → `/healthz` 200). Alarm tone audible —
owner check on prod 2026-09-15.

### US-005 — UX Polish & Accessibility Hardening

- Status: **MERGED + DEPLOYED** (PR #15 rebase-merged into `main`,
2026-09-14; Release run succeeded → deploy verified on origin via fresh
asset hashes + US-005 markers in the served bundle/CSS; `/healthz` 200).
- Status: **MERGED + DEPLOYED + OWNER-VERIFIED** (PR #15 rebase-merged into
`main`, 2026-09-14; deploy verified on origin via fresh asset hashes +
US-005 markers in the served bundle/CSS; `/healthz` 200).
- All 8 ACs verified pre-merge (140 unit tests, 20/20 Playwright a11y
assertions, computed contrast table, 14 before/after screenshots in
`docs/stories/US-005/screenshots/`).
- Absorbed US-003 items 1–3 (shared FLIP helper, ring-overlay outside-click
guard, panel focus management) — **US-003 is closed**.
- Remaining DoD: owner visual pass on the live site — a human eyeball on
prod is the last gate; rollback via revert PR if anything regressed.
- Owner visual pass on prod done 2026-09-15 — story DoD fully closed.

### HK-6 — Eliminate the stale-HTML/dead-asset window after deploys

Expand All @@ -47,23 +45,16 @@ Sprint window: active (no fixed calendar sprint; pipeline-driven).
- Verified: local pull of the digest reports `nginx/1.30.4`; `nginx -t`
passes on both configs against the new image; all four CI checks green.

## In flight

### US-002 — Recurring (daily-repeat) alarms

- Status: **IMPLEMENTED on `feat/us-002-recurring-alarms`** (off `main`) —
story in `docs/stories/US-002-recurring-alarms.md` (MVP scope: daily
repeat only; weekday scheduling recorded as future work in §6).
- Core: persisted `repeat` + `lastRungDay` flags; repeat alarms are never
consumed by ringing (a rung occurrence is consumed per local calendar
day, so a mid-grace-window dismiss or reload cannot re-ring); toggling
re-arms from the configured time; legacy JSON loads as one-shot, no
migration.
- UI: "Daily" checkbox in the create form; monochrome ↻ indicator
(`role="img"`, aria-label "Repeats daily") on repeat rows only.
- Status: **MERGED + DEPLOYED + OWNER-VERIFIED** (PR #18 rebase-merged into
`main`, 2026-09-15; Release + webhook succeeded, `/healthz` 200). Live
repeat-ring confirmed by the owner on prod 2026-09-15. Story: Done.
- MVP scope: daily repeat only; weekday scheduling recorded as future work
in the story §6. Core: persisted `repeat` + `lastRungDay` (schema-additive,
no migration); toggling re-arms from the configured time.
- Verified: **152/152 unit tests** (12 new), `make check` green, 7/7
Playwright assertions (indicator on repeat rows only, flags persist,
checkbox resets), 2 screenshots committed in the story folder.
Playwright assertions, 2 screenshots committed in the story folder.

## Ready (not started)

Expand All @@ -74,12 +65,10 @@ Sprint window: active (no fixed calendar sprint; pipeline-driven).

## Dependencies & sequencing

- Nothing queued behind US-002; US-004 is owner-scheduled.
- Nothing queued; US-004 is owner-scheduled.

## Risks

| Risk | Likelihood | Impact | Mitigation |
| -------------------------------------------------------------------------- | ---------- | -------------------------------------------- | -------------------------------------------- |
| Production alarm audio unverified | Medium | Medium (US-001 DoD gap) | Owner manual check; tracked above |
| US-005 sign-off without a human look at prod | Low | Low (aesthetic regressions screenshots miss) | Owner visual pass; rollback via revert PR |
| HK-6 fallback unproven on the real host until the second post-merge deploy | Low | Low (old behaviour = broken window recurs) | Owner: verify next deploy via old-hash asset |