Skip to content

Add trimmed manifest type and candidates scaffold - #13

Closed
justincasher wants to merge 1 commit into
mainfrom
justin/trimmed-manifest
Closed

justincasher wants to merge 1 commit into
mainfrom
justin/trimmed-manifest

Conversation

@justincasher

@justincasher justincasher commented May 9, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Reservoir's full manifest.json is ~53 MB, dominated by per-toolchain build history (85%) and version history (12%) we do not need for candidate selection. This PR adds TrimmedPackage / TrimmedManifest TypedDicts plus a trim_manifest() helper that keeps only core metadata, the most recent version, and the most recent build per package — taking the bundle from 53 MB → 2.7 MB so it can be committed.
  • The aggregator CLI now writes the trimmed snapshot to aggregator/candidates/raw_data/manifest_trimmed.json by default, with an optional --raw-output flag for the full manifest (gitignored). The old python/cache/ location is retired.
  • Scaffolds aggregator/candidates/ with packages/ (where per-package candidate files will live) and raw_data/ (committed trimmed snapshot + ignored full snapshot). The auto-generated summary table in candidates/README.md will be filled in by a follow-up PR that adds the packages/ -> README rendering pipeline.

Layout

aggregator/candidates/
  README.md                          # placeholder, table auto-generated later
  packages/                          # one file per candidate (next PR)
  raw_data/
    manifest_trimmed.json            # 2.7 MB, committed
    manifest.json                    # full ~53 MB, gitignored

Reservoir's full manifest.json is ~53 MB, dominated by per-toolchain
build history (85%) and version history (12%) we do not need for
candidate selection. Introduce TrimmedPackage / TrimmedManifest plus a
trim_manifest() helper that keeps only core metadata, the latest
version, and the latest build per package, taking the bundle from
~53 MB to ~3 MB so it can be committed.

The aggregator CLI now writes the trimmed snapshot to
aggregator/candidates/raw_data/manifest_trimmed.json by default, with
an optional --raw-output flag for the full manifest (gitignored).
Scaffolds aggregator/candidates/{packages,raw_data}/ for the
per-package candidate files that follow in a later PR.
@justincasher
justincasher requested a review from Vilin97 as a code owner May 9, 2026 18:59
@Vilin97
Vilin97 deleted the justin/trimmed-manifest branch May 9, 2026 21:57
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.

1 participant