Skip to content

Tracker observer loop: poll + ApplyTrackerFacts into LCM #35

Description

@harshitsinghbhandari

Context

Tracker v1 is write-mostly (Get for spawn-bootstrap, Comment for session updates, Transition for state changes). Pull-on-demand from SM, no goroutine, no facts-into-LCM.

This issue tracks the v2 work: an observer loop that polls tracker state and pushes facts into LCM, mirroring adil's SCM observer pattern (PR #28) and our reaper pattern (PR #29).

Scope

  • New goroutine per project that polls each tracker on a configurable cadence.
  • New typed ApplyTrackerFacts(...) method on LifecycleManager.
  • DECIDE consumes tracker facts (e.g., issue reassigned -> session-orphaned reaction; issue closed externally -> session-cancelled; new comment with bot mention -> nudge reaction).
  • Per-project enable/disable config (some users won't want polling overhead).
  • Rate-limit / backoff strategy for each provider.

Why deferred

  • LCM doesn't currently consume tracker state; no reactions are defined.
  • Polling cadence + rate-limit design needs its own design pass.
  • Webhook alternative may be better for some providers (Linear has webhooks; GitHub does too) — needs the HTTP daemon (aditi's lane).

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    coding-agentsRuntime + Workspace + Agent adapters lanefutureA feature to be worked on in the future.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions