Quickstart: Auth Local Trust And Multi-Process Hardening
Run commands from:
/Users/robert/spec-kitty-dev/spec-kitty-20260505-085847-6BpmsS/spec-kitty
Hermetic Refresh-Lock Repro
SPEC_KITTY_SAAS_URL=https://spec-kitty-dev.fly.dev \
uv run pytest tests/auth/concurrency/test_machine_refresh_lock.py -q --timeout=60
env -u SPEC_KITTY_SAAS_URL \
uv run pytest tests/auth/concurrency/test_machine_refresh_lock.py -q --timeout=60
Expected result: both commands pass, and the hosted-URL-set run performs zero real /api/v1/me calls.
Diagnostic Classification Checks
uv run pytest \
tests/sync/test_batch_error_surfacing.py \
tests/sync/test_body_transport.py \
tests/sync/test_team_ingress_resolver.py \
tests/sync/tracker/test_saas_client.py \
tests/sync/tracker/test_saas_service.py \
tests/cli/commands/test_sync_routes.py
Expected result: missing Private Teamspace and logged-out tracker-bound paths do not surface as generic server_error.
Auth/Storage Guardrail Checks
uv run pytest tests/review/
uv run ruff check \
src/specify_cli/auth \
src/specify_cli/cli/commands/auth.py \
src/specify_cli/cli/commands/_auth_doctor.py \
src/specify_cli/cli/commands/_auth_login.py \
src/specify_cli/cli/commands/_auth_logout.py \
src/specify_cli/cli/commands/_auth_status.py \
src/specify_cli/cli/commands/review.py
Expected result: scoped broad exception suppressions either have specific inline safety reasons or fail with file and line.
Local Session Hot-Path Checks
uv run pytest \
tests/auth/concurrency \
tests/auth/stress/test_file_storage_concurrent.py \
tests/auth/secure_storage \
tests/packaging/test_windows_no_keyring.py
Expected result: many-process session behavior is coordinated, durable encrypted storage remains authoritative, and forbidden credential-manager dependencies stay absent.
Hosted Smoke Rule On This Computer
When a command path touches hosted auth, tracker, SaaS, or sync behavior for dev smoke testing on this computer, set:
SPEC_KITTY_ENABLE_SAAS_SYNC=1 <command>
Default unit and concurrency tests should not require hosted SaaS. Hosted smoke evidence must be explicit and separate from hermetic suites.
Final Evidence Bundle
Before /spec-kitty.review, collect:
- Focused test output for WP01-WP04.
- Evidence that
SPEC_KITTY_SAAS_URLdoes not make refresh-lock tests call hosted/api/v1/me. - Evidence that #889 missing Private Teamspace does not classify as
server_error. - Evidence that logged-out Teamspace/tracker-bound flows show
spec-kitty auth login. - Evidence that no Keychain/keyring/Secret Service dependency was introduced.
- Any pre-existing failure issue links required by the charter.