Context
Follow-up to #895.
When BASE_CACHE_DIR points at an unwritable directory, Python-backed Base commands now emit a concise Click error without a traceback. During manual validation, basectl check bankbuddy --format json did show that error, but the shell-backed check flow continued into project resolution and emitted additional diagnostics/JSON.
Reproduction
tmpdir=$(mktemp -d /private/tmp/base-unwritable-cache.XXXXXX)
chmod 500 "$tmpdir"
BASE_CACHE_DIR="$tmpdir" basectl check bankbuddy --format json
chmod 700 "$tmpdir"
Expected
basectl check should fail fast once the Base runtime directory cannot be created, returning the concise runtime-dir error only and avoiding project discovery/check output that could make the failure look mixed or partially successful.
Notes
This is polish over the #895 behavior, not a blocker for the core traceback fix. The generic basectl workspace status --workspace /tmp --format json path already behaves cleanly.
Context
Follow-up to #895.
When
BASE_CACHE_DIRpoints at an unwritable directory, Python-backed Base commands now emit a concise Click error without a traceback. During manual validation,basectl check bankbuddy --format jsondid show that error, but the shell-backed check flow continued into project resolution and emitted additional diagnostics/JSON.Reproduction
Expected
basectl checkshould fail fast once the Base runtime directory cannot be created, returning the concise runtime-dir error only and avoiding project discovery/check output that could make the failure look mixed or partially successful.Notes
This is polish over the #895 behavior, not a blocker for the core traceback fix. The generic
basectl workspace status --workspace /tmp --format jsonpath already behaves cleanly.