test_tools 0.17.0

Tools for writing and running tests.
Documentation
# Task 027: Implement Conditional Smoke Test Execution

## Overview
Implement conditional execution of smoke tests triggered by WITH_SMOKE environment variable or CI/CD detection (FR-8).

## Specification Reference
**FR-8:** The execution of smoke tests must be conditional, triggered by the presence of the `WITH_SMOKE` environment variable or by the detection of a CI/CD environment.

## Acceptance Criteria
- [ ] Implement WITH_SMOKE environment variable detection and handling
- [ ] Implement CI/CD environment detection logic
- [ ] Add conditional execution logic to smoke test entry points
- [ ] Support different WITH_SMOKE values (1, local, published) as specified
- [ ] Implement proper test skipping when conditions are not met
- [ ] Add environment variable precedence over CI/CD detection
- [ ] All conditional execution tests from task 026 must pass
- [ ] Maintain backward compatibility with existing smoke test functions

## Implementation Notes
- This task implements the GREEN phase of TDD - making the failing tests from task 026 pass
- Build upon existing environment detection in process/environment.rs
- Enhance smoke test entry points with conditional execution logic
- Focus on reliable environment detection and proper test skipping

## Technical Approach
1. **Environment Detection**
   - Enhance existing is_cicd() function in process/environment.rs
   - Add WITH_SMOKE environment variable detection
   - Implement proper precedence logic (WITH_SMOKE overrides CI/CD detection)

2. **Conditional Execution Logic**
   - Add conditional execution to smoke_test_for_local_run()
   - Add conditional execution to smoke_test_for_published_run()
   - Implement proper test skipping mechanisms

3. **WITH_SMOKE Value Handling**
   - Support value "1" for general smoke test execution
   - Support value "local" for local-only smoke tests
   - Support value "published" for published-only smoke tests
   - Add proper value validation and error handling

## Code Areas to Enhance
- Strengthen environment detection in process/environment.rs
- Add conditional logic to smoke test functions (lines 248-300+ in current implementation)
- Implement proper test skipping patterns
- Add environment variable parsing and validation

## Success Metrics
- All conditional execution tests pass
- Smoke tests execute only when appropriate conditions are met
- CI/CD environment detection works reliably across different platforms
- WITH_SMOKE environment variable handling supports all specified values
- Test skipping provides clear feedback about why tests were skipped

## Related Tasks
- **Previous:** Task 026 - Write Tests for Conditional Smoke Test Execution
- **Next:** Task 028 - Refactor Conditional Execution Logic
- **Context:** Core implementation of specification requirement FR-8