Skip to content

Expose tracking results in the Collection API - #1281

Merged
Ndpnt merged 12 commits into
mainfrom
tracking-results-api
Sep 30, 2026
Merged

Ndpnt merged 12 commits into
mainfrom
tracking-results-api

Conversation

@Ndpnt

@Ndpnt Ndpnt commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Implements the second part of RFC #1241: Collection API endpoints serving the tracking results recorded since #1275.

  • GET /tracking-results: tracking status of all terms, filterable by status
  • GET /tracking-result/{serviceId}: tracking status of the terms of a service
  • GET /tracking-result/{serviceId}/{termsType}: tracking status of some terms
  • GET /tracking-results/run: summary of the latest completed run

Lists are paginated like /versions.

Every request reads a single commit, the one that completed the latest run, so a run in progress or crashed never exposes half-updated results. Files are read from Git objects in a single git cat-file --batch call for the whole collection, and cached per commit, as the content at a commit never changes.

The API opens the repository read-only, as it does for versions and snapshots since #1273: it never touches the working tree, the index or the commit-graph, never takes the writer lock, and never runs the crash recovery, which only the tracker may do. Until a first run completes, the endpoints answer an empty list or a 404. They are not exposed when tracking-results is disabled.

@Ndpnt
Ndpnt requested a review from clementbiron September 30, 2026 14:10
@Ndpnt
Ndpnt merged commit a19b97d into main Sep 30, 2026
8 checks passed
@Ndpnt
Ndpnt deleted the tracking-results-api branch September 30, 2026 14:58
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