The single error class the CMS surface throws for the three
application-level failure modes. The REST layer maps code to an
HTTP status:
denied → 403
not-found → 404
invalid → 400
Sandbox escapes stay the existing SourceTreeSandboxError (which
propagates unchanged). No new lib/cms/ module: this error lives
with the surface that throws it.
The single error class the CMS surface throws for the three application-level failure modes. The REST layer maps
codeto an HTTP status:denied→ 403not-found→ 404invalid→ 400Sandbox escapes stay the existing
SourceTreeSandboxError(which propagates unchanged). No newlib/cms/module: this error lives with the surface that throws it.