experiment: reconstruct Buck product in Nix - #1318
Closed
schickling-assistant wants to merge 1 commit into
Closed
schickling-assistant wants to merge 1 commit into
schickling-assistant wants to merge 1 commit into
Conversation
schickling-assistant
changed the base branch from
schickling-assistant/2026-09-15-composition-0034
to
main
September 19, 2026 16:59
schickling-assistant
added this pull request to stack #1320
September 19, 2026 16:59
This was referenced Sep 19, 2026
agent-identity: dev3.direct.omp.t3mkm4sd agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.1.14 agent-runtime: OMP 18.1.14 tooling-profile: dotfiles@5d1e05f
schickling-assistant
marked this pull request as ready for review
September 20, 2026 06:06
schickling-assistant
force-pushed
the
schickling-assistant/2026-09-19-nix-reconstruction
branch
from
September 20, 2026 06:06
b7120fe to
d44e983
Compare
Collaborator
Author
|
Superseded: this prototype's code moves into #1321 (P1, generalized Posted on behalf of @schickling
|
schickling-assistant
removed this pull request from stack #1320
September 20, 2026 06:40
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
nix/buck2-products/default.nixcan only fetch published release assets. A missing product therefore hard-blocks a Nix consumer even when the repository contains a buildable Buck target.Goal
Collect evidence, without making an infrastructure decision, about whether normal sandboxed Nix can reconstruct a real Buck JavaScript product from filtered source and prefetched inputs.
Decisions
None. This is an experiment for reframed q44 (2026-09-19).
The prototype selects
oxc-config, the smallest product in the checked-in manifest, and exposes.#oxc-config-from-source. It projects the existing prepared pnpm FOD and Bun closure into a copied Buck tree, then runs pinned Buck2 local-only with remote caching disabled.Verification
buck2-heavy.sh -- nix build -L .#oxc-config-from-source --no-link --print-out-paths— succeeded in the normal Nix sandbox; 3 local actions, 0 cached, 0 remote.axe vrs check --profile strict context/buck2— ok.fd5b505b4056d373cd99b4d1264a3f79774381faa9cd06d1b4cb4bcef1ccf03a.f300c5d6e2faf51f432895a0e74d87e6d76bca1140ad07b31efb887c5d2d78be.Complexity
Adds one deliberately narrow derivation, one flake package output, and one strict-checked experiment record. It does not alter the production importer or Buck graph.
Concerns
The two artifacts differ only in one generated identifier (
localNameversuslocalName2), but the publication descriptor has no producer commit and the checked-in manifest predates relevant package/bundler changes. A same-commit byte-equivalence claim is therefore not currently testable from publication metadata.The adapter is target-specific: it removes the prepared workspace self-link and patches one generated dependency-view label. It is evidence for feasibility, not a general fallback implementation.
Friction & bottlenecks
Buck initializes an HTTP client even with remote use disabled, so the Nix sandbox's
/no-cert-file.crtpoison required an explicit declared CA bundle. Buck's project ignore also hides directories namednode_modules, requiring the immutable prepared tree to be projected under a non-ignored name.Follow-ups
References
context/buck2/.experiments/2026-09-19-nix-reconstruction-from-source.mdPosted on behalf of @schickling
agent_identitysessionagent_personaagent_supervisoragent_toolagent_tool_versionagent_runtimetooling_profile