Build the runtime BoardWorker seam (DefaultBoardWorker + reserved AgentSdkBoardWorker)
task-runtime-board-worker-seam
Build the runtime BoardWorker seam
The board needs a runtime drain that follows the same seam discipline as the existing Orchestrator (Runtime orchestration & per-tenant control plane — the learning loop becomes a runnable system): an interface the runtime depends on, a DefaultBoardWorker that ships now (deterministic, offline, CI-green), and a reserved AgentSdkBoardWorker that is the only place @anthropic-ai/claude-agent-sdk would import — stubbed to keep CI offline, exactly like the reserved AgentSdkOrchestrator. This activates the work queue that Agentic "sprint board" architecture — a git-resident OKF task board worked by bounded, hook-governed Agent SDK loops says the reserved seam drains.
Shape (analogy to the Orchestrator seam)
BoardWorker { name; claim(tenant, opts) -> ClaimedTask | null; execute(task) -> TaskResult }.DefaultBoardWorker— readstenant.okfRepoPathtask atoms, applies claim/lease (frontmatter timestamps), transitions deterministically, no network.AgentSdkBoardWorker— reserved stub; bounded (maxTurns+maxBudgetUsd), honors the board-level pause flag, writes the transition back, commits.drainBoard(tenant, opts)— claim → execute → commit, bounded (maxTasksPerRun, idempotency keys) and resumable, as a newboard.tsplugged intoindex.tswith zero changes toloop.ts/orchestrator.ts/provision.ts.
Depends on
Design the OKF `task` concept type + seed the board (the task schema it reads). Pairs with the governance hook Build the PreToolUse claim/lease governance hook (claim enforcement) and assumes the compounding-merge guard from Make the learning loop compound (reconcile merge by id + confidence) (repeated agent writes must not clobber curation). The durable scheduler host (open question 1 of Agentic "sprint board" architecture — a git-resident OKF task board worked by bounded, hook-governed Agent SDK loops) is a separate deployment concern — this task delivers the bounded worker abstraction, not the harness.