No default, and that is the intent. The rule is narrow: when exactly one project is discovered it is used; otherwise -p is required.
The alternative would be a default project stored somewhere, and then "which project did that run touch" becomes a question you cannot answer from the command in the pull request. With two projects, the slug is the cheapest disambiguation there is.
The third state in that family, for completeness, is an empty repo:
text
✖ PROJECT_NOT_FOUND: No projects found.
hint: Run `sdods project create <slug>`.
Shell aliases are the usual workaround — alias sdshop="sdods -p demo-shop" and so on.