Skip to content

fix(subagent): defer critic, ignore blank retry task ids#679

Merged
yogthos merged 3 commits into
mainfrom
fix/defer-critic-for-subagents
Jul 17, 2026
Merged

fix(subagent): defer critic, ignore blank retry task ids#679
yogthos merged 3 commits into
mainfrom
fix/defer-critic-for-subagents

Conversation

@nikolap

@nikolap nikolap commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Normalize optional retry identifiers at the task-tool boundary so empty or whitespace-only values behave like omitted fields. This keeps generated tool calls from entering coordinator retry validation for a nonexistent task while preserving the existing one-retry policy for real IDs.

Deliberately keep strict validation for nonblank IDs and trim surrounding whitespace rather than weakening coordinator admission rules.

Verified: regression and coordinator retry tests pass; fmt and clippy clean; full binary suite passes excluding live h7_glm; binary builds.


Normalize optional retry identifiers at the task-tool boundary so empty or whitespace-only values behave like omitted fields. This keeps generated tool calls from entering coordinator retry validation for a nonexistent task while preserving the existing one-retry policy for real IDs.

Deliberately keep strict validation for nonblank IDs and trim surrounding whitespace rather than weakening coordinator admission rules.

Verified: regression and coordinator retry tests pass; fmt and clippy clean; full binary suite passes excluding live h7_glm; binary builds.

nikolap added 2 commits July 17, 2026 09:19
Normalize optional retry identifiers at the task-tool boundary so empty or whitespace-only values behave like omitted fields. This keeps generated tool calls from entering coordinator retry validation for a nonexistent task while preserving the existing one-retry policy for real IDs.

Deliberately keep strict validation for nonblank IDs and trim surrounding whitespace rather than weakening coordinator admission rules.

Verified: regression and coordinator retry tests pass; fmt and clippy clean; full binary suite passes excluding live h7_glm; binary builds.
Treat a nonterminal coordinator generation as an intentional suspension rather than a completion candidate. This keeps the critic and other finalization gates from reviewing an interim response that merely announces background work.

Give completed batch delivery priority over deferral so a task finishing at the finalization boundary is reconciled immediately. Preserve the existing UI wakeup path instead of polling from the parent loop or weakening critic completeness checks.

Verified: fmt and clippy clean; binary tests pass excluding live h7_glm; normal and windows-default builds pass.
@nikolap
nikolap requested a review from yogthos July 17, 2026 07:40
Match the rest of LoopConfig — every other field/hook type carries a doc
comment. No behavior change.
@yogthos
yogthos merged commit edc5ad5 into main Jul 17, 2026
13 checks passed
@yogthos
yogthos deleted the fix/defer-critic-for-subagents branch July 17, 2026 13:24
yogthos pushed a commit that referenced this pull request Jul 17, 2026
Defer the critic on a parent turn waiting for coordinated subagents, and
normalize blank task retry ids (#679). Also backfill CHANGELOG: coordinated
subagent dispatch (#670) under 0.19.10 and the OpenCode reasoning fix (#671)
under 0.19.9, which shipped but weren't recorded.
allen-munsch pushed a commit to allen-munsch/dirge that referenced this pull request Jul 18, 2026
Defer the critic on a parent turn waiting for coordinated subagents, and
normalize blank task retry ids (dirge-code#679). Also backfill CHANGELOG: coordinated
subagent dispatch (dirge-code#670) under 0.19.10 and the OpenCode reasoning fix (dirge-code#671)
under 0.19.9, which shipped but weren't recorded.
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.

2 participants