Repository navigation
Standardize work-queue naming across runtime, specs, and ADRs - #65208
Conversation
Use aw_context.work_queue for inbound assignments and rename MCP tools, artifacts, compiler and report types, workflow wiring, TLA+ sources, and ADR references. Define the existing versioned workflow transaction and assignment contracts in TypeSpec and regenerate their schemas. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
✅ Design Decision Gate 🏗️ completed the design decision gate check. See the comment below for the result and any generated ADR draft.
|
|
✅ Test Quality Sentinel completed test quality analysis. Test Quality Sentinel skipped because pre-fetch PR data was unavailable: unable to fetch test file diff
|
|
✅ Ponytail Reviewer completed successfully! Warning Threat Detection Engine Failure — The analysis engine could not complete. This is a tooling failure, not a security finding. What happenedThe threat detection engine failed to produce results. Review the workflow run logs for details.
|
|
🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅
|
|
✅ PR Code Quality Reviewer completed the code quality review.
|
🏗️ ADR gate: verified against existing ADRsResult: ADR-backed and aligned. No additional ADR is required for this PR. Evidence
Divergences
Next action
|
There was a problem hiding this comment.
Applied Impeccable distill and extract modes (refactor/rename PR). This is a large, mechanical rename of "dispatch coordinator" → "work-queue" across runtime, specs, schemas, and ADRs. The renamed identifiers, file paths, and documentation are consistent almost everywhere.
Non-blocking finding: one leftover local variable name in pkg/cli/logs_run_processor.go (dispatchBackfillApplied) wasn't updated to match the new workQueue convention used by its sibling flags — see inline comment.
No other correctness, security, or terminology issues found in the diff.
🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · copilot · sonnet50 · 66.2 AIC · ⌖ 13 AIC · ⊞ 8.1K
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
MCP tool results are discarded and valid nested work-queue context is removed during normalization.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Standardizes the work-queue terminology across runtime, compiler, reporting, schemas, formal specifications, documentation, and workflows.
Changes:
- Renames dispatch-coordinator identifiers, files, branches, artifacts, and tools.
- Adds schemas for workflow transactions, assignments, and finish intents.
- Updates tests, ADRs, TLA+ tooling, and generated workflow output.
| File | Description |
|---|---|
specs/work-queue/WorkQueue.tla |
Renames the TLA+ module. |
specs/work-queue/WorkQueue.cfg |
Adds the primary TLC configuration. |
specs/work-queue/transactions.tsp |
Defines operator and runtime schemas. |
specs/work-queue/traces.sh |
Uses renamed TLA+ files and output paths. |
specs/work-queue/RecoveryWitness.cfg |
Adds recovery witness configuration. |
specs/work-queue/Recovery.cfg |
Adds recovery verification configuration. |
specs/work-queue/README.md |
Documents renamed protocols and artifacts. |
specs/work-queue/ExternalEffectWitness.cfg |
Adds external-effect witness configuration. |
specs/work-queue/CompetingClaimsWitness.cfg |
Adds competing-claims witness configuration. |
specs/work-queue/check.sh |
Runs renamed TLC models. |
specs/work-queue/BrokenTerminal.cfg |
Adds terminal-protection negative control. |
specs/work-queue/BrokenCAS.cfg |
Adds CAS negative control. |
specs/dispatch-work-coordinator/transactions.tsp |
Removes the old TypeSpec source. |
pkg/workqueue/schema/WorkTransaction.json |
Documents the operator record schema. |
pkg/workqueue/schema/WorkQueueWorkTransaction.json |
Adds runtime Work schema. |
pkg/workqueue/schema/WorkQueueWorkCancellationTransaction.json |
Adds runtime cancellation schema. |
pkg/workqueue/schema/WorkQueueTransaction.json |
Adds the runtime transaction union. |
pkg/workqueue/schema/WorkQueueFinishIntent.json |
Adds finish-intent schema. |
pkg/workqueue/schema/WorkQueueCompletionTransaction.json |
Adds Completion schema. |
pkg/workqueue/schema/WorkQueueClaimTransaction.json |
Adds Claim schema. |
pkg/workqueue/schema/WorkQueueClaimCancellationTransaction.json |
Adds claim-cancellation schema. |
pkg/workqueue/schema/WorkQueueAssignment.json |
Adds inbound assignment schema. |
pkg/workqueue/schema_test.go |
Tests storage names and schemas. |
pkg/workqueue/replay.go |
Renames operator storage defaults. |
pkg/workqueue/branch.go |
Renames branch diagnostics and commits. |
pkg/workflow/work_queue_compilation_integration_test.go |
Updates compilation integration coverage. |
pkg/workflow/notify_comment.go |
Uses the renamed enablement helper. |
pkg/workflow/notify_comment_work_queue_test.go |
Updates summary tests. |
pkg/workflow/notify_comment_conclusion_helpers.go |
Loads the renamed summary module. |
pkg/workflow/mcp_renderer.go |
Dispatches to the work-queue renderer. |
pkg/workflow/mcp_renderer_types.go |
Renames the renderer callback. |
pkg/workflow/mcp_renderer_test.go |
Updates MCP rendering coverage. |
pkg/workflow/mcp_renderer_factory.go |
Wires the renamed renderer. |
pkg/workflow/mcp_renderer_builtin.go |
Renames tools, mounts, and entrypoint. |
pkg/workflow/mcp_manifest.go |
Publishes renamed MCP tools. |
pkg/workflow/compiler_yaml_step_lifecycle.go |
Renames finish-intent collection. |
pkg/workflow/compiler_yaml_post_agent.go |
Collects the renamed artifact. |
pkg/workflow/compiler_safe_outputs_job.go |
Renames reconciliation and gating. |
pkg/workflow/compiler_activation_outputs.go |
Generates the renamed snapshot step. |
pkg/workflow/compiler_activation_job.go |
Calls the work-queue snapshot builder. |
pkg/workflow/compiler_activation_job_test.go |
Updates activation tests. |
pkg/workflow/codex_mcp.go |
Uses the renamed Codex renderer. |
pkg/parser/schemas/main_workflow_schema.json |
Updates tool documentation. |
pkg/constants/constants.go |
Renames work-queue paths and mounts. |
pkg/cli/work_command.go |
Updates CLI terminology. |
pkg/cli/logs_work_queue.go |
Renames report extraction types and logic. |
pkg/cli/logs_work_queue_test.go |
Updates report and artifact tests. |
pkg/cli/logs_work_queue_render.go |
Renames report rendering functions. |
pkg/cli/logs_run_processor.go |
Propagates renamed report fields. |
pkg/cli/logs_report.go |
Renames the structured report field. |
pkg/cli/logs_orchestrator_filters.go |
Propagates work-queue reports. |
pkg/cli/logs_models.go |
Renames report model fields. |
pkg/cli/logs_format_compact.go |
Uses work-queue rendering. |
pkg/cli/logs_download.go |
Ensures queue diagnostic logs. |
pkg/cli/logs_download_workflow_test.go |
Updates workflow-log fixtures. |
pkg/cli/logs_cached_json.go |
Restores renamed cached fields. |
pkg/cli/audit.go |
Renames audit analysis state. |
pkg/cli/audit_summary_build.go |
Propagates audit queue reports. |
pkg/cli/audit_run_pipeline.go |
Backfills renamed report fields. |
pkg/cli/audit_report.go |
Renames structured audit output. |
pkg/cli/audit_report_render.go |
Renders work-queue operations. |
pkg/cli/audit_render_output.go |
Merges renamed queue reports. |
pkg/cli/audit_cache.go |
Hydrates renamed cached reports. |
pkg/cli/audit_analysis_fanout.go |
Extracts work-queue evidence. |
docs/src/content/docs/reference/frontmatter-full.md |
Updates tool terminology. |
docs/src/content/docs/reference/audit.md |
Updates report documentation. |
docs/adr/work-queue-protocol-upgrades.md |
Adds the renamed protocol ADR. |
docs/adr/dispatch-work-coordinator-protocol-upgrades.md |
Removes the old protocol ADR. |
docs/adr/65163-report-work-queue-operations-in-audit-and-logs.md |
Adds the renamed reporting ADR. |
docs/adr/65163-report-dispatch-coordinator-operations-in-audit-and-logs.md |
Removes the old reporting ADR. |
docs/adr/64955-git-backed-work-queue-coordination.md |
Updates the architectural terminology. |
actions/setup/setup.sh |
Prepares renamed runtime files and directory. |
actions/setup/js/write_work_queue_snapshot.test.cjs |
Updates snapshot tests. |
actions/setup/js/write_work_queue_snapshot.cjs |
Reads the renamed assignment and store. |
actions/setup/js/work_queue_summary.test.cjs |
Updates summary tests. |
actions/setup/js/work_queue_summary.cjs |
Uses renamed runtime modules. |
actions/setup/js/work_queue_store.test.cjs |
Updates Git-store tests. |
actions/setup/js/work_queue_store.cjs |
Renames runtime branch and storage API. |
actions/setup/js/work_queue_replay.test.cjs |
Updates replay tests. |
actions/setup/js/work_queue_replay.cjs |
Renames replay types and diagnostics. |
actions/setup/js/work_queue_mcp_server.test.cjs |
Updates MCP tool tests. |
actions/setup/js/work_queue_mcp_server.cjs |
Exposes renamed MCP tools. |
actions/setup/js/work_queue_codemods.cjs |
Renames upgrade diagnostics. |
actions/setup/js/setup_sh_file_lists.test.cjs |
Verifies renamed setup files. |
actions/setup/js/finish_work_queue_claim.test.cjs |
Updates reconciliation tests. |
actions/setup/js/finish_work_queue_claim.cjs |
Renames trusted reconciliation logic. |
actions/setup/js/create_prompt.test.cjs |
Updates assignment prompt tests. |
actions/setup/js/create_prompt.cjs |
Reads and describes the renamed assignment. |
.github/workflows/work-queue-integration.yml |
Renames integration workflow paths and tests. |
.github/workflows/smoke-work-queue.md |
Renames the smoke workflow and tools. |
.github/workflows/smoke-work-queue.lock.yml |
Regenerates the compiled smoke workflow. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
Comment MemoryNote This comment is managed by comment memory.It stores persistent context for this thread in the code block at the top of this comment.
|
There was a problem hiding this comment.
Request changes
This rename introduces three blocking regressions: pre-rename worker payloads can bypass queue reconciliation, the durable branch/file rename drops existing live queue state without a migration path, and the logs/audit reader loses compatibility with historical dispatch-coordinator artifacts.
Blocking themes
aw_context.work_claimis still present on already-dispatched and retried workers; treating it as absent turns them intounassignedruns that skip the ownership re-check.work-queue/work-queue.jsonlreplaces the existing durable storage identifiers without any fallback read or migration, so live queues will look empty immediately after deploy.gh aw logs/gh aw auditnow parse only the renamed artifact and step-log identifiers, so older runs lose queue evidence during backfill/regeneration.
🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 102 AIC · ⌖ 7.29 AIC · ⊞ 20.2K
Comment /review to run again
There was a problem hiding this comment.
Skills-Based Review 🧠
Applied /codebase-design and /grill-with-docs — approving. This is a disciplined, mechanical rename with no actionable issues found.
📋 Review Notes
Verification performed
- Grepped the full diff and the checked-out tree for any leftover
dispatch-coordinator/dispatch_work_coordinator/DispatchCoordinatoridentifiers in added lines — none found. - Confirmed
aw_context.work_queue,work_queue_read, andwork_queue_claim_finishare consistently named acrosspkg/workflow,actions/setup/js, and the TypeSpec/JSON-schema definitions. - Confirmed constants (
WorkQueueSnapshotPath,WorkQueueFinishIntentDir,WorkQueueFinishIntentMount) are renamed and correctly threaded throughmcp_renderer_builtin.goand the compilation integration test. - Ran
go build ./...(clean) andgo test ./pkg/workqueue/... ./pkg/cli/... -run 'WorkQueue'(pass). - Checked the new ADR prose (
64955-git-backed-work-queue-coordination.md,work-queue-protocol-upgrades.md) — it proactively documents the three-way naming distinction between the workflow runtime'swork-queuebranch/work_queuecontext field and the operator CLI'sgh-aw-work-queuebranch/Transactionformat, which is exactly the kind of clarification/grill-with-docslooks for when new vocabulary is introduced. - Spot-checked
pkg/workqueue/schema/*.jsonandspecs/work-queue/transactions.tspfor cross-references — schema$ids, descriptions, and theWorkQueueTransactionunion all align with the Go/JS identifiers.
Positive Highlights
- ✅ Clear separation maintained between the workflow-runtime
WorkQueueTransactionformat and the operator-CLITransactionformat, explicitly called out in both code comments and ADRs — avoids a subtle naming collision that could otherwise confuse readers. - ✅ Renames applied symmetrically to implementation, tests, and specs in the same commit, so there's no split-brain window where code and docs disagree.
- ✅ New JSON Schemas for
WorkQueueAssignment/WorkQueueFinishIntent/etc. give the previously-implicit wire contract a formally validated, navigable home underpkg/workqueue/schema/.
No functional behavior changes were introduced; nothing to request changes on.
🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · copilot · sonnet50 · 114.3 AIC · ⌖ 14.4 AIC · ⊞ 10K
Comment /matt to run again
|
@copilot quick PR triage nudge: Please refresh this branch if GitHub offers it, address the feedback above, and run the
|
Validate and retain nested work_queue assignments, normalize legacy worker contexts, keep checked writes on existing queue storage, and preserve historical logs/audit evidence. Add regression coverage for in-flight workers, storage conflicts, malformed assignments, and legacy artifacts; finish the backfill flag rename. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The branch is based on the current |
|
🎉 This pull request is included in a new release. Release: |

Summary
The work-queue feature still used dispatch-coordinator names across its runtime, compiler, artifacts, and specifications. Standardize the feature on
work-queue, withwork_queuein AW context and MCP identifiers, so its public interface and implementation use consistent terminology.aw_context.work_queuefor inbound assignments and exposework_queue_readandwork_queue_claim_finish.aw_info.context. Accept legacywork_claimfor in-flight workers and normalize it towork_queue; malformed or dual assignments fail closed.This is not a queue protocol redesign. New workflows use the renamed public tools and identifiers. Legacy reads exist only to preserve historical evidence and live ownership; no automatic storage migration or old MCP tool aliases are added.
Validation
Passed:
make fmt,make build,make lint, and impacted Go unit tests.make recompile(302 workflows); the initial rename also passedmake check-workflow-drift.go test -tags=integration ./pkg/workflow -run '^TestWorkQueueCompilationPhases$' -count=1.npm --prefix actions/setup/js run typecheck.Remaining baseline limitations:
make agent-report-progressfails on pre-existing custom Go lint findings in logs/reporting (function length, slice indexing, and discarded close errors).make testwas run. Its full Go suite fails in unchanged completion case-sensitivity, shellcheck, chi-square, and Copilot installer tests. Isolated reruns reproduce those failures. This macOS/arm64 host has case-insensitive paths, while installer fixtures assume x64; unrelated failures were not changed or suppressed.Prior CI was inspected at log level: 13 checks were cancelled, with no product failure in the inspected cancellation logs. CI on the pushed review-fix HEAD is unverified and must be re-triggered by a maintainer before merge.