First Real Team — bounded retry, task_status, charter rewrite #5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "team/first-real-team"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
First Real Team — bounded retry,
task_status, charter rewriteReframes build-order step 3 off long-lived pull-claiming and onto the shipped assigned-claim/queue machinery, delivering the two things genuinely missing for a trustworthy team. Design:
docs/2026-07-07-first-real-team-design.md; plan:docs/plans/2026-07-07-first-real-team.md.Why the reframe
The in-memory queue + global semaphore already drains N tasks across M concurrent workers, and at the system's ≤20-agent design scale long-lived pullers save little; their real payoff (a cross-process delivery channel) is gated behind the deferred
execution: processmilestone. So pullers stay deferred and step 3 ships reliability + observability instead — all of it on-path for pull-claiming later, nothing thrown away.What's in it
runSwarmfan-out. A worker that hangs (lease-expired) or hits a transient error is re-spawned up totaskMaxAttempts(default 2); the best attempt per item is rendered. Contract violations and user aborts are never retried. Retries are exempt from a lead'smax_team_sizebudget but still respect the global concurrency semaphore;maxAttemptsbounds the loop (no infinite retry).retriableclassification set at every terminal path (AgentRecord→ChildResult), plusattempt/retryOflineage onspec.jsonfor post-mortem.task_status— a read-only tool over the durable store (states, attempts, claim owners).team-lead.mdcharter rewrite so the lead doesn't double-retry hangs, + a README note.Known limitation (documented, not a regression)
Retry-on-hang relies on the root-only reconciler. Under a nested lead (depth ≥ 1) a genuinely hung worker blocks the lead's
allTerminal— this is pre-existing (the prior single-pass fan-out awaited the same way) and is closed by step-4's spawn-health-check. Retry-on-transient-error works at every depth. Until step 4: drive teams from the root session, not autonomous nested leads.Verification
tsc --noEmitclean.Commits
7 implementation (
c4bd1d7 → 1abf904) + design/plan + review-driven doc clarification.🤖 Generated with Claude Code
https://claude.ai/code/session_015MWFoW4hyPkHYkC4AtgLhE