andreagrandi / andreagrandi/draftomen
Clarify profile refresh data counts in CI summaries
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 23m
- Merged PRs (30d)
- 181
Description
## Problem
The Profile Refresh GitHub Actions summary labels static card-data inventory totals as “Eligible” and “Already valid”. These are counts of set artifacts, but they can reasonably be read as card counts. The profile section reports only whether each set/format pair succeeded, so it does not show how many 17Lands card-rating rows were fetched, accepted into the generated profile, or rejected and why.
This made an LCI refresh appear to contain only 49 cards even though 49 was the repository-wide count of valid set artifacts. The generated LCI QuickDraft profile actually accepted 277 of 286 17Lands rows; nine rows lacked a usable GIH win rate.
## Proposed change
Make static inventory labels explicitly refer to set artifacts. For each selected profile pair, report reconciled card-rating counts: fetched rows, accepted profile ratings, and rejected rows grouped by stable reason. Keep the summary bounded and free of local paths or raw payload data.
## Acceptance Criteria
- [ ] AC1: The static card-data summary labels `eligible_count` and `already_valid_count` explicitly as set-artifact counts, verified by `tests/test_profile_refresh_workflow_helper.py`.
- [ ] AC2: Every successful selected set/format pair reports fetched, accepted, and rejected card-rating counts, with rejected rows grouped by stable reason, verified by `tests/test_profile_data_refresh.py` and `tests/test_profile_refresh_workflow_helper.py`.
- [ ] AC3: Reported per-pair counts reconcile deterministically and render safely when counts or rejection reasons are unavailable, verified by `tests/test_profile_refresh_workflow_helper.py`.
- [ ] AC4: A focused local profile-refresh smoke check produces an unambiguous summary without requiring profile artifact inspection.
## Implementation classification
- **Estimated size:** M
- **Orchestration risk:** Normal
- **Reason:** One operations-reporting outcome requires carrying existing generation diagnostics through the refresh result into the workflow summary.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.