Board Execution
Board Execution
Section titled “Board Execution”Board Execution is the Kanban execution engine used by Assemble during Phase 4 — IMPLEMENT of COMPLEX Spec-Driven workflows. Instead of treating implementation as one linear block, Assemble generates a structured _board.yaml and executes multiple tickets in parallel without losing review gates, dependency order, or traceability.
Introduction
Section titled “Introduction”Board Execution sits between planning and delivery. Once tasks.md exists, Captain America converts it into _board.yaml, which becomes the source of truth for execution state. The engine then advances tickets through a controlled pipeline, automatically respecting dependencies, WIP limits, and role boundaries.
Use Board Execution when a workflow is large enough to benefit from parallelism. For smaller jobs, Assemble can keep a simpler linear implementation path.
Board Format
Section titled “Board Format”_board.yaml stores workflow metadata, board columns, WIP limits, and every execution ticket.
Example _board.yaml
Section titled “Example _board.yaml”meta: workflow: feature-development created_at: 2026-03-29T16:00:00Z sprint_goal: "User management API + admin dashboard" source_files: - spec.md - plan.md - tasks.mdcolumns: - todo - in_progress - review - test - donewip_limits: in_progress: 3 review: 2 test: 2tickets: - id: T-001 title: "Create POST /users endpoint" type: story story: "As an admin, I want to create a user through the API so that onboarding can be automated." points: 5 priority: 1 acceptance_criteria: - id: AC-001 given: "valid user payload" when: "POST /users is called" then: "the API returns 201 and the created user object" - id: AC-002 given: "an email that already exists" when: "POST /users is called" then: "the API returns 409 with DUPLICATE_EMAIL" depends_on: [] pipeline: implement: [dev-backend] review: [dev-fullstack] test: [qa] status: in_progress assigned_to: - dev-backend started_at: 2026-03-29T16:10:00Z completed_at: null artifacts: - path: src/api/users.ts type: code - path: tests/users.spec.ts type: test feedback: review: null test: null
- id: T-002 title: "Build users table on admin dashboard" type: story story: "As an admin, I want to see all users in a dashboard table so that I can manage accounts quickly." points: 3 priority: 2 acceptance_criteria: - id: AC-003 given: "existing users in the system" when: "the admin dashboard loads" then: "the table displays user name, email, and status" depends_on: - T-001 pipeline: implement: [dev-frontend] review: [dev-fullstack] test: [qa] status: todo assigned_to: null started_at: null completed_at: null artifacts: [] feedback: review: null test: nullField overview
Section titled “Field overview”meta: workflow metadata and provenancecolumns: visible board stageswip_limits: maximum tickets allowed in constrained columnstickets: execution units with ownership, status, dependencies, artifacts, and feedbackacceptance_criteria: Given/When/Then checks used during validationpipeline: role assignment for implement, review, and test
Ticket Lifecycle
Section titled “Ticket Lifecycle”Each ticket follows the same lifecycle:
todo → in_progress → review → test → doneTransition rules
Section titled “Transition rules”todo → in_progress
Section titled “todo → in_progress”Allowed only when:
- all
depends_ontickets are alreadydone - the
in_progressWIP limit is not exceeded - implementation ownership is defined in
pipeline.implement
On transition, the engine sets assigned_to and started_at.
in_progress → review
Section titled “in_progress → review”Allowed only after implementation artifacts exist. The ticket is reassigned to the review role defined in pipeline.review.
review → in_progress
Section titled “review → in_progress”Used when review finds blocking issues. Existing artifacts stay attached and blocking feedback is appended for the implementing agent.
review → test
Section titled “review → test”Allowed only after explicit review approval. The ticket is then handed to the testing role defined in pipeline.test.
test → in_progress
Section titled “test → in_progress”Used when one or more acceptance criteria fail. Feedback should point to the exact acceptance criterion that failed.
test → done
Section titled “test → done”Allowed only when every acceptance criterion passes. The engine sets completed_at and preserves the artifact and feedback trail.
WIP Limits
Section titled “WIP Limits”WIP limits prevent the board from flooding a stage faster than the team can process it. They are configured in wip_limits.
wip_limits: in_progress: 3 review: 2 test: 2Rules:
- if
in_progressis full, ready tickets remain intodo - if
reviewis full, completed implementation waits before moving forward - if
testis full, approved tickets queue until a slot opens - columns without an explicit limit are unconstrained
Dependency Resolution
Section titled “Dependency Resolution”A ticket can start only when every ticket listed in depends_on is already done. Dependency resolution is automatic; agents do not bypass it manually.
This enables safe parallelism:
- independent tickets can move at the same time
- blocked tickets remain visible
- downstream work starts only after upstream artifacts are complete and validated
Context Injection
Section titled “Context Injection”Board Execution injects ticket-specific context into each agent invocation rather than dumping the whole board into every prompt. Typical injected context includes:
- ticket identity:
id,title,type,priority,story - acceptance contract: full
acceptance_criteria - dependency context: dependency IDs plus completed artifacts from upstream tickets
- current state:
status,assigned_to, timestamps, and known feedback - current stage role: implement, review, or test
This keeps agents focused and reduces accidental cross-ticket interference.
Agent Roles
Section titled “Agent Roles”Board Execution depends on clear responsibility boundaries:
- PM (Professor X) defines structured tickets and Given/When/Then acceptance criteria
- Scrum Master (Captain America) transforms
tasks.mdinto_board.yamland manages execution rules - Dev agents implement ticket work during
in_progress - Review agents validate implementation quality before promotion to test
- QA verifies acceptance criteria in the
teststage - Jarvis orchestrates transitions, checks dependencies, and keeps state synchronized
Integration with Spec-Driven Methodology
Section titled “Integration with Spec-Driven Methodology”Board Execution powers Phase 4 — IMPLEMENT for complex workflows:
- BRAINSTORM or upstream discovery, if needed
- SPECIFY →
spec.md - PLAN →
plan.md - TASKS →
tasks.md - IMPLEMENT → Captain America generates
_board.yaml, then Board Execution runs tickets - CLOSE → Jarvis consolidates quality output in
_quality.md
For simple work, Assemble can skip board creation and keep a linear implementation path. The board is for complexity, not ceremony.
Anti-patterns
Section titled “Anti-patterns”Avoid these mistakes:
- executing a ticket whose dependencies are not
done - exceeding a declared WIP limit
- skipping review or test to move faster
- injecting the full board into every ticket execution
- rewriting acceptance criteria during execution
- marking a ticket
donewithout validating every Given/When/Then criterion - dropping artifacts or feedback when a ticket loops back from review or test
- using the board for trivial work that does not justify Kanban overhead