Skip to content

feat(edge): strengthen fleet reporter delivery - #31

Open
barton87 wants to merge 1 commit into
Clawland-AI:mainfrom
barton87:barton87/edge-reporter-best-of-room
Open

feat(edge): strengthen fleet reporter delivery#31
barton87 wants to merge 1 commit into
Clawland-AI:mainfrom
barton87:barton87/edge-reporter-best-of-room

Conversation

@barton87

@barton87 barton87 commented Jun 1, 2026

Copy link
Copy Markdown

Closes #24.

Bounty-board submission for the Edge Reporter Module.

Summary

This PR strengthens pkg/edge/reporter.go as a Fleet Manager / MoltClaw reporter while keeping the existing edge config shape compatible:

  • sends startup registration to /fleet/register
  • sends immediate + periodic heartbeats to /fleet/heartbeat
  • adds configurable periodic status reports to /fleet/status
  • keeps synchronous ReportEvent delivery to /fleet/events
  • adds bounded asynchronous QueueEvent delivery for non-blocking event reports
  • keeps gene publishing to /fleet/genes/publish
  • includes gene stats in heartbeat and high-confidence genes in status snapshots
  • adds bearer auth plus X-Clawland-Node-ID headers
  • normalizes trailing-slash endpoints and rejects empty cloud endpoints clearly
  • makes Stop() idempotent
  • exposes SetHTTPClient for tests and embedded transports
  • returns bounded response-body details on non-2xx fleet responses
  • documents reporter endpoints and adds status_seconds config/env support

I also included the small deterministic pkg/gene.SelectGenes tie-breaker fix so the repository-wide Go suite passes while reviewing this reporter branch.

Validation

  • go test ./pkg/edge ./cmd/picoclaw ./pkg/gene -> passed
  • go test ./... -> passed
  • git diff --check -> passed

Notes

This is an independent implementation for the Edge Reporter bounty. It is test-backed and covers registration, heartbeat, status, event, queued event, gene publishing, auth headers, endpoint normalization, failure detail, empty endpoint handling, interval defaults, and idempotent shutdown.

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.

bounty: edge reporter module

1 participant