Summary
A blocked architect research issue loses its role-specific return path.
The intended completed-research architecture is coherent and must remain unchanged:
- Architect researches in
Researching.
- Architect creates separate implementation task(s) in
Planning.
work_finish(role: "architect", result: "done") transitions the research issue to Done and closes it.
The gap is limited to blocked research:
Researching --BLOCKED--> Refining --APPROVE/task_start--> To Do
Because Refining is shared and its single approval transition targets the developer queue, supplying clarification and restarting a blocked research issue dispatches a developer rather than returning the unfinished research to an architect.
This issue is intentionally separate from the OpenClaw compatibility/native-subagent work and its upstream PR. Defer implementation until that integration is stable.
Historical context
- Upstream issue #213 and PR #217 introduced an iterative architect lane with
To Research and Researching states.
- Commit
7bb9428 deliberately changed successful architect completion from Planning to Done + closeIssue, while requiring separate implementation tasks in Planning. Preserve this decision.
- Commit
6dddf747 / upstream PR #312 added diagrams that still show Researching → Planning; those diagrams were stale when introduced even though adjacent prose correctly describes closing the research issue.
Expected behavior
After a blocked architect receives human clarification, advancing the hold state should return the same research issue to the architect lane, normally through To Research, without dispatching a developer.
A likely deterministic model is:
Researching --BLOCKED--> Research Refining
Research Refining --APPROVE--> To Research
The existing generic developer path can remain:
Doing --BLOCKED--> Refining
Refining --APPROVE--> To Do
An equivalent role-preserving design is acceptable if it does not guess from stale labels or mutable issue metadata.
Acceptance criteria
Out of scope
- OpenClaw native subagent compatibility, model override policy, or routing changes.
- The pending upstream PR for the current OpenClaw compatibility work.
- Reverting architect completion to
Planning.
- Mixing this workflow correction into the compatibility PR.
Summary
A blocked architect research issue loses its role-specific return path.
The intended completed-research architecture is coherent and must remain unchanged:
Researching.Planning.work_finish(role: "architect", result: "done")transitions the research issue toDoneand closes it.The gap is limited to blocked research:
Because
Refiningis shared and its single approval transition targets the developer queue, supplying clarification and restarting a blocked research issue dispatches a developer rather than returning the unfinished research to an architect.This issue is intentionally separate from the OpenClaw compatibility/native-subagent work and its upstream PR. Defer implementation until that integration is stable.
Historical context
To ResearchandResearchingstates.7bb9428deliberately changed successful architect completion fromPlanningtoDone + closeIssue, while requiring separate implementation tasks inPlanning. Preserve this decision.6dddf747/ upstream PR #312 added diagrams that still showResearching → Planning; those diagrams were stale when introduced even though adjacent prose correctly describes closing the research issue.Expected behavior
After a blocked architect receives human clarification, advancing the hold state should return the same research issue to the architect lane, normally through
To Research, without dispatching a developer.A likely deterministic model is:
The existing generic developer path can remain:
An equivalent role-preserving design is acceptable if it does not guess from stale labels or mutable issue metadata.
Acceptance criteria
Done, closes the research issue, and leaves separate implementation tasks inPlanning.To Researchor otherwise dispatches an architect, never a developer.task_startremains deterministic for every hold state; no heuristic inference from issue history or stale role labels.done, architectblocked → human approval → architect redispatch, and developerblocked → human approval → developer redispatch.workflow.yamllacks any new architect-specific hold state.Out of scope
Planning.