feat(codex): Phase 1 docker — runtime-aware prompt + advertise worker capabilities #34

Merged
janpeter merged 1 commit from feat/codex-plan-review-phase1 into master 2026-06-09 13:34:55 +02:00
Owner

What

Task 5 (docker) of Phase 1 — wire the codex runtime into the runner. A 3-line change to bin/run-one-job.ts:

  • getKindPromptText(ctx.kind, runtime) — the docker runner is the authoritative prompt source; for runtime=CODEX this now selects the codex-portable IDEA_REVIEW_PLAN prompt (added in scrum4me-mcp PR #43, merged to main).
  • pass capabilities to registerWorker + startHeartbeat so the worker row advertises its semantic capabilities (e.g. review); otherwise the workers UI enqueue-gate (capabilities has 'review') blocks a codex review job despite claimable agents. capabilities / runtime are already computed (readWorkerCapabilities() / getWorkerRuntimeFromEnv()); both registerWorker and startHeartbeat already accept the param. Additive, correct for both runtimes.

Verification

  • No docker unit-test harness. The tsx parse smoke is clean (the runtime /opt/scrum4me-mcp import + pg only exist in the built image). The binding gate is the host canary.
  • Depends on scrum4me-mcp main (getKindPromptText(kind, runtime) — merged in PR #43 / 9a08224). The image build uses MCP_GIT_REF=main.
  • Design + plan are dual-GO; this exact 3-line change is in the codex-GO plan (Task 5, incl. the capabilities fix from codex plan-review P1-3).

🤖 Generated with Claude Code

## What Task 5 (docker) of Phase 1 — wire the codex runtime into the runner. A 3-line change to `bin/run-one-job.ts`: - `getKindPromptText(ctx.kind, runtime)` — the docker runner is the authoritative prompt source; for `runtime=CODEX` this now selects the codex-portable `IDEA_REVIEW_PLAN` prompt (added in scrum4me-mcp PR #43, merged to main). - pass `capabilities` to `registerWorker` + `startHeartbeat` so the worker row advertises its semantic capabilities (e.g. `review`); otherwise the workers UI enqueue-gate (`capabilities has 'review'`) blocks a codex review job despite claimable agents. `capabilities` / `runtime` are already computed (`readWorkerCapabilities()` / `getWorkerRuntimeFromEnv()`); both `registerWorker` and `startHeartbeat` already accept the param. Additive, correct for both runtimes. ## Verification - No docker unit-test harness. The tsx parse smoke is clean (the runtime `/opt/scrum4me-mcp` import + `pg` only exist in the built image). The **binding gate is the host canary**. - Depends on scrum4me-mcp `main` (`getKindPromptText(kind, runtime)` — merged in PR #43 / 9a08224). The image build uses `MCP_GIT_REF=main`. - Design + plan are dual-GO; this exact 3-line change is in the codex-GO plan (Task 5, incl. the capabilities fix from codex plan-review P1-3). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
- run-one-job is the authoritative prompt source for CODEX: thread the worker
  runtime into getKindPromptText(ctx.kind, runtime) so IDEA_REVIEW_PLAN+CODEX gets
  the codex-portable prompt.
- pass capabilities to registerWorker + startHeartbeat so the worker row advertises
  its semantic capabilities (e.g. review); else the workers UI gate blocks codex
  review enqueue despite claimable agents.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
janpeter merged commit 31d13aeb12 into master 2026-06-09 13:34:55 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/scrum4me-docker!34
No description provided.