## MODIFIED Requirements ### Requirement: Board operations The client SHALL provide a method to get a single board by ID (`GET /boards/{id}`), list board actions (`GET /boards/{boardId}/actions`) with pagination support, create a board (`POST /projects/{projectId}/boards`), and delete a board (`DELETE /boards/{id}`). `GetBoard` SHALL parse the `included` object from the response and populate the Board model with `lists`, `cards`, `labels`, `cardLabels`, and `cardMemberships`. #### Scenario: Get board - **WHEN** `GetBoard` is called with a board ID - **THEN** the client SHALL send `GET /boards/{id}` and return a Board model including its included lists, cards, labels, cardLabels, and cardMemberships #### Scenario: Get board includes labels - **WHEN** `GetBoard` is called and the board has labels defined - **THEN** the returned Board SHALL contain a `Labels` slice with all board labels #### Scenario: Get board includes card-label associations - **WHEN** `GetBoard` is called and cards on the board have labels attached - **THEN** the returned Board SHALL contain a `CardLabels` slice with all card-label associations - **AND** each `CardLabel` entry SHALL contain `cardId` and `labelId` fields #### Scenario: Get board includes card memberships - **WHEN** `GetBoard` is called and cards on the board have members assigned - **THEN** the returned Board SHALL contain a `CardMemberships` slice with all card-membership associations #### Scenario: List board actions - **WHEN** `ListBoardActions` is called with a board ID and limit - **THEN** the client SHALL paginate through `GET /boards/{boardId}/actions` and return action items