Skip to content

[product-manager-impersonator] Preview matching workflow runs before log download #1244

Description

@github-actions

Feature Idea

Summary: Add a --list-only mode to scripts/fetch-workflow-logs.py that previews matching workflow runs (and writes metadata-only manifest output) without downloading log archives.

Why a Customer Would Want This

When maintainers are debugging noisy CI periods, they often need to confirm which runs match --since/--until/--conclusion before pulling ZIP logs. Today the script always downloads logs once matches are found, which makes quick investigation loops slower and more expensive.

Rough Implementation Sketch

  • Add --list-only (and optional --format table|json) CLI flags in scripts/fetch-workflow-logs.py.
  • Reuse existing _fetch_runs(...) output to print a compact run summary (run_id, created_at, conclusion, html_url) and skip _download_runs(...) when list-only is enabled.
  • Keep manifest output behavior, but in list-only mode write run metadata with empty log_files arrays.
  • Extend tests/test_fetch_workflow_logs.py with coverage for list-only path (no download call, correct manifest/screen output).

Why It Won't Be That Hard

This is a focused change in one script plus one test module. The script already has clear phase boundaries (_fetch_runs, _download_runs, _write_manifest) and existing tests around filtering behavior, so list-only is mostly a control-flow addition rather than new infrastructure.

Evidence

Note

🔒 Integrity filter blocked 15 items

The following items were blocked because they don't meet the GitHub integrity level.

  • #1175 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #1128 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #359 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #1175 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #121 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #437 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #575 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • Mint Ephemeral Tokens #1067 list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • Issue Fixer can use Ephemeral Token #1025 list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #318 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #295 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #235 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #353 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #547 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #53 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

What is this? | From workflow: Trigger Product Manager Impersonator

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions