Skip to content

feat: file log sink and Compose worker log collection - #44

Merged
aykoooo merged 2 commits into
mainfrom
feat/42-log-sink-and-telemetry
Aug 19, 2026
Merged

aykoooo merged 2 commits into
mainfrom
feat/42-log-sink-and-telemetry

Conversation

@aykoooo

@aykoooo aykoooo commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

What & why

Finish remaining TASK 1 LOGS: optional file tee of stderr JSONL, and host-side Compose collection so pipeline runs can join worker logs.

Verify still exits 0 if a log sink fails. Host CLI and cache-sweep honor AIBOM_RUN_ID when set. Compose workers use an explicit json-file driver; collect with docker compose logs --no-log-prefix worker.

Fixes #42

Two commits: file sink first, then collect / AIBOM_RUN_ID.

Test plan

  • Happy path: test_cli_log_file_tee_does_not_change_stdout (file JSONL == stderr; stdout still VerificationResult)
  • Happy path: test_cli_honors_aibom_run_id_on_every_line (and sweep equivalent)
  • Collect config: test_worker_uses_json_file_logging_driver (YAML pin; no live Docker in CI)
  • uv run ruff check . / uv run ruff format --check . / uv run ty check / uv run pytest -m "not network" (175 passed)
  • uv run pytest -m network (2 passed)
  • Live: local + Compose verify with AIBOM_LOG_FILE / AIBOM_RUN_ID; collect with docker compose logs --no-log-prefix worker

Out of scope / follow-ups

Best-effort file sink so verify still succeeds if the log file cannot be written.

Refs #42
Host CLI and cache-sweep join a pipeline run_id. Worker json-file
logs are available with docker compose logs --no-log-prefix worker.

Refs #42
@aykoooo
aykoooo merged commit 4df6f54 into main Aug 19, 2026
1 check passed
@aykoooo
aykoooo deleted the feat/42-log-sink-and-telemetry branch August 19, 2026 16:53
@aykoooo aykoooo self-assigned this Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Epic: TASK 1 — LOGS (file sink + collect telemetry)

1 participant