File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -136,9 +136,12 @@ def get_semaphore(self, step_name: str) -> asyncio.Semaphore:
136
136
if isinstance (limit := RD_AGENT_SETTINGS .step_semaphore , dict ):
137
137
limit = limit .get (step_name , 1 ) # default to 1 if not specified
138
138
139
- # NOTE: we assume the record step is always the last step to modify the global environment,
140
- # so we set the limit to 1 to avoid race condition
141
- if step_name == "record" :
139
+ # NOTE:
140
+ # (1) we assume the record step is always the last step to modify the global environment,
141
+ # so we set the limit to 1 to avoid race condition
142
+ # (2) Because we support (-1,) as local selection; So it is hard to align a) the comparision target in `feedbck`
143
+ # and b) parent node in `record`; So we prevent parallelism in `feedback` and `record` to avoid inconsistency
144
+ if step_name in ("record" , "feedback" ):
142
145
limit = 1
143
146
144
147
if step_name not in self .semaphores :
You can’t perform that action at this time.
0 commit comments