Skip to content

feat(har): port date filter and dry-run summary improvements from legacy hc - #73

Merged
BlueLabelscotch merged 6 commits into
mainfrom
Feat/8-har
Aug 4, 2026
Merged

feat(har): port date filter and dry-run summary improvements from legacy hc#73
BlueLabelscotch merged 6 commits into
mainfrom
Feat/8-har

Conversation

@BlueLabelscotch

Copy link
Copy Markdown
Collaborator

Summary

Ports the date-based file filtering feature and dry-run output improvements from the legacy hc CLI into the unified harness CLI migration module.

Date filter (AH-4341, AH-4458, AH-4518):

  • Adds DateFilter config block per registry mapping — createdAfter / downloadedAfter with ANY / ALL match logic
  • Queries JFrog via AQL (POST /artifactory/api/search/aql) to get per-file timestamps, then narrows the file list before tree construction
  • For PYTHON (atomic version artifacts), threads an unfilteredRoot through the job chain so all distribution files for a version are migrated if any single file is within the date window
  • DryRunStats mutations are now protected by a mutex — fixes concurrent map write panics (AH-4458)

Dry-run summary (AH-4430):

  • Tally loop now counts registries → packages → versions → files from the directory tree
  • For OCI types (DOCKER/HELM) with no versioned file entries, falls back to totalPackages with label "Total packages (filtered):" instead of the raw source file count
  • Nil guards added at all three nesting levels in the tally loop
  • Two pterm.Info console messages added during filtering: pulled file count and skip count

@sawka-harness

Copy link
Copy Markdown
Collaborator

@BlueLabelscotch needs conflict resolution after previous merge

@BlueLabelscotch
BlueLabelscotch merged commit 4315575 into main Aug 4, 2026
1 check passed
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.

2 participants