No ExclusiveJoinTask builder class — defaultExclusiveJoinTask field unreachable
@abhinavrastogi2627 já está trabalhando nisso.
Desde 5/10/2026.
- #515 de @abhinavrastogi2627 — aberto
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 68/100
- Tipo de issue
- Funcionalidade
- Clareza
- Claramente especificada
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- python
- Domínio
- backend-api-design
Direção de pesquisa
Localize os pontos de entrada existentes de JoinTask e TaskInterface e, em seguida, inspecione como eles criam um WorkflowTask e atribuem TaskType. Adicione cobertura para construir uma tarefa EXCLUSIVE_JOIN com join_on e default_exclusive_join_task; considera-se concluído quando o SDK puder serializar esses campos e o workflow resultante for executado corretamente para uma ramificação SWITCH sem correspondência.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
Tested against: Conductor OSS 3.32.0-rc.9
TaskType.EXCLUSIVE_JOIN exists in the SDK enum but there is no ExclusiveJoinTask
builder class. More critically, the defaultExclusiveJoinTask field (which tells
the server which task to use when no SWITCH branch ran) cannot be set through any
SDK path.
Details
JoinTask always produces TaskType.JOIN, not TaskType.EXCLUSIVE_JOIN. There
is no way to build an EXCLUSIVE_JOIN task using SDK classes alone.
EXCLUSIVE_JOIN is designed for SWITCH branches (where exactly one branch executes).
Without defaultExclusiveJoinTask set, EXCLUSIVE_JOIN workflows with a branch that
doesn't match will stall.
Suggested fix
class ExclusiveJoinTask(TaskInterface):
def __init__(self, task_ref_name: str, join_on: List[str],
default_exclusive_join_task: Optional[List[str]] = None):
super().__init__(task_ref_name, TaskType.EXCLUSIVE_JOIN)
self._join_on = join_on
self._default = default_exclusive_join_task or []
def to_workflow_task(self) -> WorkflowTask:
wf = super().to_workflow_task()
wf.join_on = self._join_on
wf.default_exclusive_join_task = self._default
return wf
Verified against
Conductor server 3.32.0-rc.9. EXCLUSIVE_JOIN runs correctly when built via
raw WorkflowTask with the correct fields set. The gap is purely in the SDK —
no builder class exists.
- Linguagem predominante
- Python
- Estrelas
- 104
- Forks
- 45
- Merge médio
- 4d 18h
- PRs com merge (30d)
- 3
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de conductor-oss/python-sdk
-
Async SSE client reuses httpx.AsyncClient across event loops -> "Event loop is closed"Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
conductor-oss/python-sdk#507 ·
-
`.[agents]` extra omits `langchain-anthropic`, so a shipped example cannot runTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug dependencies
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
conductor-oss/python-sdk#486 ·
-
Framework-agent failures return `None` instead of the failed task's reasonTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
conductor-oss/python-sdk#483 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
conductor-oss/python-sdk#478 ·
-
Example 39c_serverless_code_execution.py needs to be changed for it to workTalvez já em andamento @nthmost-orkes assumiu há 12 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
conductor-oss/python-sdk#512 ·
Todas as issues de conductor-oss/python-sdk
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 3 dias
-
Negation with "not" and "no" is ignored during sentiment analysisTalvez já em andamento @vivek-3728 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
techcsispit/mess-mood#11 · 1 comentário ·
-
changelog investigate
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
ramnes/notion-sdk-py#408 ·
-
good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
btclib-org/btclib-wallet#267 ·
Mantenedores costumam responder em até 1 dia
-
good first issue tech-debt
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
knnmelprop/YAADO#111 ·