Improvements
Every GitHub Actionsuses: line, with the action it names. For a repository that ships several actions or reusable workflows, Riftmap used to record only owner/repo — never which action a consumer called — and kept just the first reference to that repository in each workflow file. It now stores one declaration per uses: line: raw_reference is the full path (grafana/shared-workflows/actions/send-slack-message, or owner/repo/.github/workflows/release.yml for a reusable workflow), version_constraint is that line’s own ref, and source_line is the line it is written on, even when the same line is repeated across jobs. Local ./ and self-repository $/ references are skipped.
Reusable workflows in an org’s .github repository now resolve. cloudposse/.github/.github/workflows/x.yml was cut down to the bare owner and never became an edge. It now resolves to cloudposse/.github, and GitHub Actions references match their repository case-insensitively, as GitHub does (posthog/.github → PostHog/.github).
API changes
GET /repositories/{id}/dependentsreturns one row per use. Rows are deduplicated on declaration identity — consumer, dependency type, version, file,raw_referenceand line — so a consumer using several of a repository’s actions or packages appears once per use. The consuming repository istarget_repository_id; group byraw_referenceto list consumers per action or package.X-Total-Countcounts these declarations, not repositories. See Group dependents by action or package.GET /repositories/{id}/contextaddsdependent_repositories_total, the number of distinct repositories behinddependents_total.GET /artifacts/{id}/versionsconsumer_countnow counts distinct consuming repositories per version. It used to count declarations, so a repository declaring the same version twice (two Dockerfiles, a dev and a peer entry) was counted twice.- Declaration counts rise on rescan. Repeated declarations of one reference in a file — a second
uses:of an action, an npm package listed as both a dev and a peer dependency, a repeated DockerfileFROM— are now separate rows, sototal_declarationsand thedeclaration_outcomesbuckets grow for an org once it is rescanned. Graph edges and repository-level dependent counts are unchanged.
/dependents rows carry only the hub’s owner/repo.