Skip to content

Install configured work queue pools on first use - #71675

Merged
pelikhan merged 2 commits into
mainfrom
pelikhan-effective-robot
Oct 24, 2026
Merged

pelikhan merged 2 commits into
mainfrom
pelikhan-effective-robot

Conversation

@pelikhan

@pelikhan pelikhan commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Configured pools were rejected by submission and dispatch handlers when absent from the installed queue Policy, even when declared in aw.json. In the smoke workflow, admission and dispatch failed before any Claims were created; Claims were not getting stuck during completion.

Approach

Reuse the existing authenticated, additive PoolInstall transition during trusted first-use submission and dispatch, before deployment synchronization. Preserve installed pools, the Policy epoch, existing worker authority, immutable route verification, preview behavior, and accepted-request recovery. Validate dispatch bounds before installation and retain actionable missing-pool diagnostics.

Update operator guidance and add regression coverage for first-use installation, admission, native launch binding, recovery, and rejection paths.

Boundaries and trade-offs

Pool installation is a separate durable transaction: a successfully installed pool can remain if subsequent admission or dispatch fails. Workers, observers, and dry-run previews cannot install pools. Installation cannot approve new worker profiles or change existing pool economics.

The live smoke queue also lacks approved smoke-work-queue-worker authority. This change intentionally preserves that approval boundary; installing the pool alone does not resolve it. The smoke pool has no admitted Work or Claims to reset, and resetting the shared queue would affect unrelated pools.

Validation

  • make fmt-cjs && make lint-cjs
  • npm run typecheck --silent in actions/setup/js
  • make agent-report-progress
  • make agent-report-progress-no-test after the final diagnostic adjustment
  • Targeted Vitest suites: work_queue_dispatch.test.cjs, work_queue_logging.test.cjs, and work_queue_control_receipts.test.cjs: 286 tests passed

No live workflow was dispatched and no production queue state was changed during this work. Live installation and worker completion remain unverified; dry-run execution suppresses the mutations and launches needed to prove those effects.

Invoke the existing authenticated PoolInstall transition before new submission and dispatch requests, preserving installed authority and recovery semantics.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI max review requested due to automatic review settings October 24, 2026 16:59
Condense first-use pool guidance and remove redundant instruction text without relaxing the documentation contract.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Automatic durable Policy publication needs human review of authorization and recovery guarantees, and the instruction update exceeds an enforced word limit.

1 open issue
What changed in this PR

Enables trusted work queue producers and dispatchers to install missing configured pools on first use through the existing authenticated PoolInstall transition, before deployment synchronization.

Changes:

  • Adds installation calls for new submission and dispatch requests.
  • Adds regression coverage for installation, recovery, launch, and refusal paths.
  • Updates documentation, agent instructions, and missing-pool recovery guidance.
File Description
docs/​src/​content/​docs/​specs/​work-queue-specification.md Defines first-use installation requirements and exclusions.
docs/​src/​content/​docs/​reference/​work-queue.md Explains on-demand installation and administrator-only changes.
docs/​src/​content/​docs/​patterns/​workqueue-ops.md Updates native queue deployment guidance.
docs/​adr/​71495-additive-first-use-work-queue-pool-installation.md Revises the decision to support trusted first-use installation.
actions/​setup/​js/​work_queue_logging.test.cjs Updates expected missing-pool recovery guidance.
actions/​setup/​js/​work_queue_logging.cjs Explains configuration, recompilation, and authority constraints.
actions/​setup/​js/​work_queue_dispatch.test.cjs Covers installation, recovery, launch, and refusal scenarios.
actions/​setup/​js/​work_queue_dispatch.cjs Invokes the installer before new submission and dispatch processing.
.github/​aw/​work-queue.md Updates agent instructions for automatic installation and exclusions.

Review effort: Max

Comment thread .github/aw/work-queue.md Resolved
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot address the following outstanding work in one pass:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Review (.github/aw/work-queue.md:45): This change raises .github/aw/work-queue.md to 832 whitespace-separated words, exceeding the 800-word limit enforced by actions/setup/js/work_queue_documentation.test.cjs:60, so the documentation test will fail. Shorten this paragraph or trim other instructions while retaining the first-use authority and preview/recovery restrictions. - Install configured work queue pools on first use #71675 (comment)
  3. Fix failing check JS Tests (shard 4/4) (FAILURE): https://github.com/github/gh-aw/actions/runs/40115236376/job/120935141225.

Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI.

Sous-chef head: 5f90ed9
Sous-chef work: 31f7e812d45f0792093269b7b90445aa9803225a204ec130694b9ceb0227d7cc d58aa523f69729e8d8b64f753833b48e2c50e5cb1f448e832f070d343d1177c7
Sous-chef state: 5cff8a7ad0243d7bfc110add6ffdf883777843aaedfcbc2775f0023188f80b1c

Generated by 👨‍🍳 PR Sous Chef · pi · haiku45 · ~9 AIC · ⌖ ~8 AIC · ⊞ 1.1K · ◷
Comment /souschef to run again

@pelikhan
pelikhan merged commit 121b446 into main Oct 24, 2026
24 of 28 checks passed
@pelikhan
pelikhan deleted the pelikhan-effective-robot branch October 24, 2026 18:00
Copilot stopped work on behalf of gh-aw-bot due to an error October 24, 2026 18:01
Copilot AI requested a review from gh-aw-bot October 24, 2026 18:01
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.93.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants