Skip to content

fix(workspace): bound worktree add admission - #1135

Merged
chubes4 merged 1 commit into
mainfrom
fix/1132-observable-worktree-add
Aug 23, 2026
Merged

fix(workspace): bound worktree add admission#1135
chubes4 merged 1 commit into
mainfrom
fix/1132-observable-worktree-add

Conversation

@chubes4

@chubes4 chubes4 commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

  • cap repository-preflight and global-capacity lock admission at 30 seconds
  • recompute the second admission wait from the shared aggregate operation deadline
  • return typed retryable timeout evidence with request, queue, owner, ETA, retry command, and no-mutation state
  • add deterministic deadline/cap and contention diagnostics without real sleeps or source-shape assertions

Addresses #1132.

This bounds silent lock admission before normal caller timeouts. The synchronous CLI still emits its typed result when the bounded wait expires rather than streaming progress during the wait.

Verification

  • php -l inc/Workspace/WorkspaceWorktreeLifecycle.php
  • php -l tests/worktree-add-aggregate-deadline.php
  • php tests/worktree-add-aggregate-deadline.php
  • php tests/workspace-capacity-lock-concurrency.php
  • php tests/worktree-add-cli-output-budget.php
  • composer validate --no-check-publish
  • git diff --check

AI assistance

OpenAI GPT-5.6 Sol via OpenCode traced the duplicated admission budget, implemented bounded shared-deadline waits and typed diagnostics, replaced a source-shape assertion with behavioral coverage, reviewed the diff, and ran verification. Chris Huber is responsible for every line.

@chubes4
chubes4 merged commit c51a6e6 into main Aug 23, 2026
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.

1 participant