Skip to content

Poll Open Linear issues for current readiness#244

Merged
ferueda merged 1 commit into
mainfrom
codex/fer-270-open-readiness-polling
Jul 23, 2026
Merged

Poll Open Linear issues for current readiness#244
ferueda merged 1 commit into
mainfrom
codex/fer-270-open-readiness-polling

Conversation

@ferueda

@ferueda ferueda commented Jul 23, 2026

Copy link
Copy Markdown
Owner

What changed

  • generalize the Backlog poller into a small issue poller that preserves revision-based Backlog observations
  • add per-cycle readiness checks for Open issues when Spec or Implement routes are composed
  • refetch and confirm current Linear state, action labels, and blockers before dispatch
  • derive observed states from the same worker route map that enables consumers
  • document the event identity and composition contract

Why

A blocked Open issue can become ready when its blocker changes state without changing the blocked issue revision. Revision-only polling therefore cannot reliably wake future Spec or Implement work. Per-cycle readiness checks reload current Linear truth, while snapshot-based downstream IDs keep unchanged work idempotent.

The current composition still enables triage only, so deployed behavior remains Backlog-only until a Spec or Implement consumer lands.

Validation

  • make check
  • make smoke-linear-automation
  • focused Linear automation tests: 37 passed
  • change review: implementation and code quality passed with no findings

@ferueda

ferueda commented Jul 23, 2026

Copy link
Copy Markdown
Owner Author

Docs drift review: no concrete drift found. The PR updates the closest architecture and Linear automation docs for route-derived observed states, per-cycle Open readiness checks, snapshot-based work identity, and the current Backlog-only composition.

Verification reviewed: make check and make smoke-linear-automation.

ferueda commented Jul 23, 2026

Copy link
Copy Markdown
Owner Author

Live FER-270 smoke: PASS

  • Used a disposable Linear project with one Open + Spec target and one unresolved blocker.
  • Ran the production poller and readiness router through a fresh local self-hosted Inngest instance with a capture Spec consumer.
  • While blocked: no work request.
  • Moved only the blocker to Done: the target issue revision remained unchanged and one Spec request was dispatched after the router's confirmation read.
  • Polled the unchanged ready snapshot again: no duplicate Spec consumer run.
  • Deleted both throwaway issues, the disposable project, local SQLite state, and the temporary smoke driver.

No model was invoked and no existing Harness issue was touched.

@ferueda ferueda self-assigned this Jul 23, 2026
@ferueda
ferueda marked this pull request as ready for review July 23, 2026 04:07
@ferueda
ferueda merged commit 760c862 into main Jul 23, 2026
5 checks passed
@ferueda
ferueda deleted the codex/fer-270-open-readiness-polling branch July 23, 2026 04:15
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