Project references workspace "payments" which is not declared in sdods.workspace.yaml
Asked 4,090 views3 answers
14votes
Put workspace: payments in a new project so it would not sit with the rest. Now every command in the repo fails, including ones about other projects:
text
✖ CONFIG_INVALID: Project "billing" references workspace "payments" which is not declared in sdods.workspace.yaml.
hint: Declared workspaces: default, platform-qa. Add it to workspaces[] or fix the project's workspace: field.
Why does one project break sdods project list for all of them?
Because discovery is eager: every project under projects/ is parsed and checked on startup, before any command decides which project it cares about. A repo where one project is misfiled is a repo with a broken hierarchy, and finding that out only when you happen to name that project would be worse.
There are two siblings of this error you will meet eventually:
text
✖ CONFIG_INVALID: Project "billing" references organization "acme" but this repo belongs to "sdods".
✖ CONFIG_INVALID: defaultWorkspace "payments" is not declared in workspaces[] of /work/shop-tests/sdods.workspace.yaml.
One repo is one organization; workspaces are how you split teams inside it.
Omitting workspace: entirely is also legal — the project then joins defaultWorkspace. We only set it explicitly on the projects that genuinely belong elsewhere, which keeps the diff small when the workspace list changes.
Organization, then workspaces, then the projects in each with their modules and processes. It is the quickest check that a project landed where you meant it to.