hermes-agent/tests/ci
ethernet 7144eb4900 ci: poll review statuses from artifacts dynamically
The live comment poller previously got its review status payloads from
two sources: (1) REVIEW_STATUSES env var, frozen at comment-live job
start from needs.*.outputs.review_status, and (2) a single ci-timings
artifact fetched at the end. This meant status details (error messages,
action_required items, etc.) only appeared in the comment after all
jobs finished, even though job pass/fail was visible in real-time.

Now every status-producing workflow_call uploads a small review-status
artifact (review-status-<name>) as soon as it completes. The poller
enumerates all review-status-* artifacts across the orchestrator run
and all sub-workflow runs every cycle, downloads each, and merges them
into the comment. Statuses appear as soon as each job finishes, not
just at the end.

Changes:
- live_comment.py: replace _fetch_artifact_statuses (single artifact
  via gh CLI) with fetch_all_review_statuses (enumerate all
  review-status-* artifacts via API across all runs, download + parse
  each). Remove review_statuses_json parameter and --review-statuses-
  file CLI arg. Remove subprocess import (no longer shells out to gh).
- ci.yml: remove REVIEW_STATUSES env var, inline Python merger, and
  --review-statuses-file arg from the comment-live step. Rename
  ci-timings-review-status artifact to review-status-ci-timings.
- 8 workflow_call files: add a write review-status.json + upload
  artifact step after each review_status output is produced.
- test_live_comment.py: add tests for _parse_status_file (with/without
  prefix, empty, invalid, nonexistent, non-list) and _merge_statuses.
2026-07-24 18:10:38 -04:00
..
test_assemble_review_comment.py ci: surface E2E screenshots in review comment (#69631) 2026-07-22 23:19:53 +00:00
test_classify_changes.py ci: surface E2E screenshots in review comment (#69631) 2026-07-22 23:19:53 +00:00
test_e2e_screenshot_status.py ci: surface E2E screenshots in review comment (#69631) 2026-07-22 23:19:53 +00:00
test_emit_review_status.py ci: surface E2E screenshots in review comment (#69631) 2026-07-22 23:19:53 +00:00
test_live_comment.py ci: poll review statuses from artifacts dynamically 2026-07-24 18:10:38 -04:00
test_lockfile_diff.py ci: live-updating PR review comment with structured job statuses 2026-07-20 16:48:25 -04:00
test_publish_e2e_evidence.py fix(ci): report E2E evidence upload failures (#69901) 2026-07-23 05:45:17 +00:00
test_timings_report.py ci: surface E2E screenshots in review comment (#69631) 2026-07-22 23:19:53 +00:00