Finding
docs/check-parallelism.md already captures a good design for speeding up basectl check, but the implementation still collects the base environment probes serially in setup_collect_base_check_results.
basectl check is a high-frequency command. It should feel nearly instant when the machine is healthy.
Project fields
- Priority: P2
- Size: M
- Initiative: Performance
Expected outcome
Independent Base environment probes should run in parallel while preserving deterministic text and JSON output order.
Good first targets from the existing design doc:
- Homebrew presence and path discovery
- Xcode Command Line Tools presence
- Homebrew Python formula presence
- Base virtual environment integrity
- Base bootstrap Python package checks
Suggested implementation
- Follow the shape in
docs/check-parallelism.md.
- Have each probe write structured result data to a temp file or equivalent result channel.
- Merge results in the current display order before printing text or JSON.
- Keep state-mutating work, especially
setup_refresh_brew_path, in the parent shell.
- Do not parallelize profile or project artifact checks until the Python layer has an explicit concurrent diagnostic API.
Validation
- Add BATS coverage for deterministic text output order.
- Add BATS coverage for deterministic JSON output order.
- Test missing Homebrew with other probes still reported.
- Test package checks do not fail spuriously when the venv is absent.
- Run
env -u BASE_HOME ./bin/base-test.
Finding
docs/check-parallelism.mdalready captures a good design for speeding upbasectl check, but the implementation still collects the base environment probes serially insetup_collect_base_check_results.basectl checkis a high-frequency command. It should feel nearly instant when the machine is healthy.Project fields
Expected outcome
Independent Base environment probes should run in parallel while preserving deterministic text and JSON output order.
Good first targets from the existing design doc:
Suggested implementation
docs/check-parallelism.md.setup_refresh_brew_path, in the parent shell.Validation
env -u BASE_HOME ./bin/base-test.