Build package / xml-lint (push) Successful in 1m55s
Build package / unit-tests (push) Successful in 3m39s
Build package / php-lint (8.4) (push) Successful in 3m45s
Build package / php-lint (8.5) (push) Successful in 3m55s
Build package / package (push) Successful in 3m10s
Deck's Entity getters are magic (__call), so method_exists() never saw getDeletedAt() or getArchived(): trashed cards were moved, trashed boards were neither dropped from "my boards" nor detected by findStackIds(), and every board counted as not archived. DeckIntegrationService now checks the properties with property_exists() via isTrashed()/isArchived(). Workflows on archived boards stay enabled but are skipped by the runner (isBoardArchived(), read through BoardMapper) until the board is unarchived, and the settings list marks them. Archived boards are no longer offered in the board dropdown at all; editing a workflow on one clears board and stacks and says why.