Skip to content

INTR 451 - Remove hardlinks from pack publishing and tool - #129

Merged
FarinM merged 2 commits into
mainfrom
intr-451-remove-hardlinks-from-pack-publishing-and-tool
Aug 11, 2026
Merged

INTR 451 - Remove hardlinks from pack publishing and tool#129
FarinM merged 2 commits into
mainfrom
intr-451-remove-hardlinks-from-pack-publishing-and-tool

Conversation

@FarinM

@FarinM FarinM commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Remove hardlinks from pack publishing and tool materialization

Motivation

Hardlinks are not part of the filesystem surface we expect browser-oriented storage backends to provide. Removing this requirement narrows the filesystem API needed by these workflows and unblocks the broader work to make the storage layer runtime-agnostic.

Summary

Removes the two remaining hardlink requirements:

  • Publishes completed Git packs using atomic renames.
  • Copies tool-package files from the extraction cache into deployment layouts.

Pack publishing now reserves transfer IDs through exclusive staging-directory creation, preventing concurrent publishers from overwriting each other. Partial publication failures clean up the staged files and unindexed pack where possible.

The tool-package cache still avoids downloading and extracting packages repeatedly, but deployment layouts now contain independent file copies. This increases disk usage and write I/O in exchange for requiring fewer filesystem capabilities.

This is a prerequisite for making the storage layer runtime-agnostic; it does not introduce the pluggable filesystem API itself.

Testing

  • Added coverage for pack rename ordering, existing destinations, concurrent transfer IDs, and partial publication cleanup.
  • Added coverage confirming materialized tool files are independent from the cached extraction.
  • make all passes:
    • 6,494 unit/package tests
    • 753 integration tests
    • 2 expected live tests skipped

@linear

linear Bot commented Aug 11, 2026

Copy link
Copy Markdown

INTR-451

@FarinM
FarinM requested a review from alexanderguy August 11, 2026 14:12

@alexanderguy alexanderguy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@FarinM
FarinM merged commit 3b19823 into main Aug 11, 2026
1 check passed
@FarinM
FarinM deleted the intr-451-remove-hardlinks-from-pack-publishing-and-tool branch August 11, 2026 14:33
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