Implement sources_sync.sh from scratch using e2e_log.sh (was empty).
Add e2e_log.sh sourcing and standard event emission to cli_flow.sh,
semantic_index.sh, and cass_daemon_e2e.sh while preserving their
existing custom JSONL logging (Option A compatibility layer).
All scripts now emit structured JSONL to test-results/e2e/ in addition
to their custom output locations. Remove sources_sync.sh from .gitignore
since it is no longer a stub.
Closes br-20bz.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Two bugs were preventing the daemon E2E test from working:
1. Semantic indexing needed --full flag - incremental scan found no
messages because the test data timestamps were considered "old"
2. Test data filename pattern was wrong - Codex connector expects
rollout-*.jsonl, not daemon-e2e.jsonl
Also add scripts/e2e/daemon_fallback.sh wrapper so the daemon test
is included in the orchestrated E2E runner (run_all.sh picks up
scripts/e2e/*.sh).
Part of T7.3: E2E daemon fallback + health script
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit enhances the daemon fallback E2E script (bead
coding_agent_session_search-yx9h) to emit structured JSONL logs following
the unified E2E logging schema defined in test-results/e2e/logging-audit.md.
New JSONL Event Functions:
- emit_run_start(): Captures environment metadata (git sha, branch, OS, arch)
- emit_phase_start(name, description): Marks logical phase boundaries
- emit_phase_end(name): Records phase duration in milliseconds
- emit_test_start(name, suite): Individual test start marker
- emit_test_end(name, status, duration_ms, error?): Test completion with pass/fail
- emit_metrics(name, key=value...): Performance metrics capture
- emit_run_end(exit_code): Final summary with test counts
New Test Coverage:
- Added test_status_command: Validates cass status --json health check
- Added test_daemon_fallback_unavailable: Tests fallback when daemon unavailable
- Both tests emit proper test_start/test_end events with timing
Phase Markers Added:
- build: Compile cass binary (when --no-build not specified)
- setup_sandbox: Prepare test fixtures and codex session data
- indexing: Build full-text and semantic indexes
- health_check: Validate cass status command
- daemon_fallback_test: Exercise daemon unavailable fallback path
Output Files:
- daemon_e2e.jsonl: Structured event log compatible with E2E aggregation
- report.json: Enhanced with test_summary (total/passed/failed) and jsonl path
CLI Options:
- Added --skip-health-check flag to bypass status validation
- Enhanced --help with full option descriptions
The JSONL events follow the schema:
{"ts":"ISO8601","event":"phase_start|phase_end|test_start|test_end|metrics|run_start|run_end","run_id":"...","runner":"bash",...}
This enables unified E2E log aggregation across Rust, Playwright, and bash
test runners for CI observability.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Introduces comprehensive documentation for the bakeoff validation process
and adds integration testing for the daemon client. Includes shell scripts
for automated E2E validation of the cass bakeoff system.
- Add cass_bakeoff_validation.md documenting validation methodology
- Create bakeoff E2E validation shell script
- Add daemon directory with startup/management scripts
- Implement daemon client integration tests
Co-Authored-By: Claude <noreply@anthropic.com>