The project YAML is. layers: in projects/demo-shop/sdods.project.yaml is an allow-list of what this project may be run at, and yours says [api]. The features being present does not enable a layer — that would make a stray tag silently add a browser run to everybody's pipeline.
Add it:
yaml
layers: [api, ui]
Exit code 2 always means configuration or usage rather than a failing test, which is the distinction to teach your CI file: a 2 is your problem, a 1 is the product's. The full list is on Reference → Exit codes.