You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

3.7 KiB

TASKS

Use this board to coordinate handoff between planner, implementer, and reviewer.

Status values:

  • in_planning
  • ready_for_implement
  • in_implementation
  • ready_for_review
  • in_review
  • ready_to_commit
  • changes_requested
  • done

Command expectations:

  • planner moves tasks into in_planning and ready_for_implement
  • implementer moves tasks into in_implementation, ready_for_review, and done, and resumes work from changes_requested and ready_to_commit
  • reviewer moves tasks into in_review, ready_to_commit, or changes_requested
  • status_cycle should report deterministic task status, current owner role, and next recommended action based on this board
Task ID Scope Status Acceptance Criteria Evidence Next Role
T-001 Status evaluation logic (3-sample window, 3.00 W threshold, waiting/incomplete/running/done) and Tasmota payload parsing, with tests first done All state/boundary tests pass (2.99 idle, 3.00 active, gap -> incomplete, <3 samples -> waiting); payload parser handles valid, missing ENERGY/Power, and invalid JSON; fmt/vet/test pass 2026-10-12T11:03:20Z: tests first, fmt/vet/test PASS; review PASS none
T-002 Per-minute sampler, MQTT subscription, HTTP /api/status and phone-first page, main.go env config done Sampler records valid/missing samples per tick; /api/status matches JSON contract; page has white background, large status, 47.70W readings, viewport meta, 60 s refresh; fmt/vet/test pass 2026-10-12T11:17:06Z: fmt/vet/test/race PASS; MQTT and 360px Chrome smoke PASS none
T-003 Dockerfile, docker-compose example, .dockerignore, README documentation done Image builds (or noted if Docker unavailable); README documents rules, env vars, deployment, limitations; existing AI Workflow section untouched 2026-10-12T11:22:18Z: fmt/vet/test PASS; Docker build/runtime PASS; README workflow preserved none
T-004 SSE push (GET /api/events) so the page refreshes on each valid MQTT message: sensor Hub, Sampler.OnReceive, SSE handler with keep-alive and write-deadline override, page EventSource with 60 s polling fallback, README/comment updates, tests first done Valid message -> update event to all clients; invalid -> none; immediate update on connect; keep-alive sent; stream outlives 10 s WriteTimeout; slow subscriber never blocks Receive; disconnects/shutdown clean up; /api/status unchanged; README documents endpoint and updated refresh behavior; fmt/vet/test (+race) pass 2026-10-12T13:18:18Z: fmt/vet/test/race PASS; MQTT/SSE/Chrome smoke PASS; review PASS none
T-005 Show "Laundry done" status text in green (.done { color: #1a7f37 } in index.html), page test first, README status table update done Page contains the .done green rule (test fails before, passes after); text and status rule unchanged; README table says Green; fmt/vet/test pass 2026-10-12T13:24:25Z: tests first, fmt/vet/test PASS; review PASS; E2E NOT_CONFIGURED none
T-006 Home screen support: cartoon washing-machine icon (SVG + 192/512/maskable/apple-touch PNGs), manifest.webmanifest ("Home Lanundry", standalone), embedded routes with correct content types, head tags in index.html, README section, tests first done New routes return 200 with correct content types and valid PNG sizes; manifest JSON has name/short_name "Home Lanundry", display standalone, start_url /, 192/512 and maskable icons that all resolve; page has manifest/theme-color/apple-touch-icon tags; page layout, title, status rule, JSON and SSE unchanged; README documents the home-screen steps and plain-HTTP limitation; fmt/vet/test pass 2026-10-13T09:08:01Z: tests first; fmt/vet/test/web-race PASS; Docker/Chrome/icon smoke PASS; review PASS none