Skip to content

fix/go-mod-tree#1

Merged
SUNsung merged 2 commits into
mainfrom
fix/go-mod-tree
Jul 5, 2026
Merged

fix/go-mod-tree#1
SUNsung merged 2 commits into
mainfrom
fix/go-mod-tree

Conversation

@SUNsung

@SUNsung SUNsung commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Fix universal archive layout and download headers

Summary

  • Make universal .zip and .tar.gz artifacts raw, host-independent global rows, with Go import-path rewriting limited to Go proxy module zips.
  • Rework artifact reconciliation so rebuild-cache and startup cleanup create missing rows, update drifted digests, prune legacy listener-specific universal rows, and persist host/artifact layout fingerprints.
  • Serve universal archive downloads only from the current global artifact format so stale rows cannot shadow rebuilt metadata.
  • Add Content-Disposition filenames for universal archives and Go proxy zip downloads, including range responses.
  • Fail Brother blob fetches on real storage read errors while still skipping genuinely missing blobs.

Testing

  • go test ./...
  • Other: git diff --check origin/main..HEAD

Checklist

  • I updated docs and config examples for user-facing changes.
  • I included generated files when generator inputs changed. OpenAPI manifest was synced; target/api had no diff.
  • I considered security, resource usage, and public API impact.

SUNsung added 2 commits July 5, 2026 05:23
Fix universal archive layout and rebuild reconciliation

Make universal zip and tar.gz artifacts raw, host-independent global rows,
and keep Go import-path rewriting limited to the Go proxy module zip. Bump the
universal artifact format versions so stale rewritten or listener-specific rows
cannot shadow current archive metadata.

Teach rebuild-cache to reconcile the full desired artifact set: create missing
rows, update drifted digests, prune legacy listener-specific universal rows,
and persist host/artifact-layout fingerprints for startup reconciliation.

Serve archive downloads only from current global-format universal artifacts so
old rows cannot be selected before background cleanup completes. Also fail
Brother blob fetches on real read errors while still skipping genuinely missing
blobs.

Update OpenAPI and README/overlay docs for the raw universal archive contract,
and add regression coverage for rebuild reconciliation, stale archive serving,
global storage metadata, and Brother blob read errors.
add Content-Disposition header to artifact downloads

- Extend partialResp to accept and emit a disposition value
- Set attachment filename per ecosystem: package-qualified name
  for universal archives, key@version for Go proxy artifacts
- Replace rate-limit range test with Content-Disposition coverage
  for both universal and Go proxy endpoints
- Update overlay README and OpenAPI specs to document the
  Content-Disposition response header
@SUNsung SUNsung self-assigned this Jul 5, 2026
@SUNsung SUNsung merged commit 595c74f into main Jul 5, 2026
6 checks passed
@SUNsung SUNsung deleted the fix/go-mod-tree branch July 5, 2026 03:51
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