Skip to content

feat(daemon): PollFallback + split push prepare/deliver (closes architecture beads) - #50

Merged
Skeyelab merged 2 commits into
mainfrom
feat/close-beads-3fq-hud
May 4, 2026
Merged

Skeyelab merged 2 commits into
mainfrom
feat/close-beads-3fq-hud

Conversation

@Skeyelab

@Skeyelab Skeyelab commented May 4, 2026

Copy link
Copy Markdown
Member

Summary

Implements the remaining architecture beads omarchy-wled-3fq (poll fallback adapter) and omarchy-wled-hud (push orchestration vs transport).

Poll (internal/daemon/poll.go)

  • PollFallback — encapsulates the sentinel polling loop (configurable TickInterval, default 1s).
  • RunSentinelPollLoop delegates to (&PollFallback{}).Run(...).

Push pipeline (internal/daemon/push.go)

  • PreparedColors, PreparePushColors, DeliverPreparedColors — read + saturation + optional strip resolution is separate from dedupe + WLED HTTP.
  • PushCurrentColorIfChanged is a thin wrapper (stderr on error, stdout when logProgress in deliver).
  • TUI previewPushTUI uses the same path with strict flags (errors for wrong gradient source / strip decode), logProgress=false.

Tests

  • internal/daemon/push_test.go — strict vs daemon skip; DeliverPreparedColors dedupe without HTTP when color unchanged.

Docs

  • ADR-0007 — Go Source.Sentinel, PollFallback, push split; ADR-0003 footnote (Python).
  • AGENTS.md / CONTEXT.md — daemon file description.

Verification

go test ./... · go vet ./...

Skeyelab and others added 2 commits May 3, 2026 22:40
- Add PreparedColors, PreparePushColors, DeliverPreparedColors (shared CLI/TUI path)
- PollFallback type + RunSentinelPollLoop delegation
- daemon tests: strict gradient source, dedupe skips HTTP on Deliver
- ADR-0007 documents Go sentinel + pipeline; ADR-0003 marked Python-only
- AGENTS/CONTEXT: daemon layout

Closes omarchy-wled-3fq omarchy-wled-hud

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@Skeyelab
Skeyelab merged commit be4bebd into main May 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant