Skip to content

[linear] Require opt-in labels for dispatch#88

Merged
sharmila-oai merged 1 commit into
mainfrom
dev/sharmila/required-label-routing
Jun 4, 2026
Merged

[linear] Require opt-in labels for dispatch#88
sharmila-oai merged 1 commit into
mainfrom
dev/sharmila/required-label-routing

Conversation

@sharmila-oai

Copy link
Copy Markdown
Contributor

Context

Projects need an explicit opt-in signal so active issues are not dispatched only because they belong to a polled project.

TL;DR

Allow workflows to require Linear labels before an issue is dispatched or continued.

Summary

  • Add normalized tracker.required_labels configuration with all-label matching
  • Apply the label gate to dispatch, retries, reconciliation, and continuation turns
  • Document the configuration and cover opt-in and label-removal behavior

Alternatives

  • Prompt-only filtering happens after an issue is claimed and cannot stop active work when a label is removed.
  • Linear query filtering would hide removed labels from reconciliation, preventing clean agent shutdown.

Test Plan

  • make -C elixir all
  • mix test test/symphony_elixir/workspace_and_config_test.exs

@sharmila-oai sharmila-oai added the symphony Track Symphony work for codebase label Jun 4, 2026
@sharmila-oai

Copy link
Copy Markdown
Contributor Author

@codex review

Sent by Codex

@sharmila-oai
sharmila-oai marked this pull request as ready for review June 4, 2026 19:41
@sharmila-oai
sharmila-oai merged commit 54b456b into main Jun 4, 2026
3 checks passed
@sharmila-oai
sharmila-oai deleted the dev/sharmila/required-label-routing branch June 4, 2026 19:43
PouryaNoufallah96 added a commit to PouryaNoufallah96/symphony that referenced this pull request Jun 5, 2026
Adopt openai#88 'Require opt-in labels for dispatch' (tracker.required_labels).
Backwards-compatible: default [] + no assignee filter keeps all ULT issues
routable, so current behavior is unchanged.

Conflicts resolved (all additive):
- config/schema.ex: kept fork's full tracker cast list + added :required_labels
- workspace_and_config_test.exs: kept both team_key and required_labels asserts
- elixir/README.md: kept fork notes + added required_labels note

Verified: mix compile clean; full suite 256 tests, 0 failures, 2 skipped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
SynchronDEV added a commit to SynchronDEV/symphony that referenced this pull request Jun 11, 2026
…fore new work

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
SynchronDEV added a commit to SynchronDEV/symphony that referenced this pull request Jun 11, 2026
Summary:
- Add persistent per-issue ledger counters, terminal metrics, and status
  API projections for blocked reasons, retries, tokens, stall events, and
  declined elicitations.
- Add structured Linear rate-limit handling, required-label routing,
  delta polling, batched issue refreshes, retry jitter, and FIFO slot
  draining.
- Preserve more Codex context with same-thread timeout/stall recovery,
  previous-attempt prompt injection, in-place tracker-refresh pauses, and
  per-state prompt templates.
- Enforce token, dispatch, and rework caps with Linear comments and stop
  labels, and improve workspace mirror/retention cleanup.
- Port upstream dashboard issue links, favicon/static asset versioning, and
  update FORK/WORKFLOW/AGENTS documentation.

Rationale:
- Production runs were losing useful context and burning tokens on rate
  limits, stale retries, and zombie re-dispatch loops.
- The ledger and cap checks make expensive failure modes durable across
  restarts, while same-thread recovery and previous-attempt context reduce
  re-exploration cost.
- Manually porting upstream openai#88-openai#90 keeps behavior current before the
  follow-up history reconciliation merge.

Tests:
- /opt/homebrew/bin/mise exec -- mix format
- /opt/homebrew/bin/mise exec -- mix specs.check
- /opt/homebrew/bin/mise exec -- mix test

Co-authored-by: Codex <codex@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

symphony Track Symphony work for codebase

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant