Skip to content

Fetch fractal fixture through shallow Git - #129

Draft
schickling-assistant wants to merge 1 commit into
mainfrom
schickling-assistant/2026-11-10-fractal-fixture-git-shallow
Draft

schickling-assistant wants to merge 1 commit into
mainfrom
schickling-assistant/2026-11-10-fractal-fixture-git-shallow

Conversation

@schickling-assistant

Copy link
Copy Markdown
Contributor

Problem

FPL reports that since approximately 21:37Z GitHub's api.github.com/repos/compoundingtech/fractal/tarball/ endpoint returns HTTP 504, while tarball/main and codeload still return 200. Fractal's unusually large public evidence-ref set is a suspected cause, not an established root cause. The current github: fixture input depends on that failing commit-tarball transport. This PR changes transport only; it does not repin fixture content or relax the oracle guard.

Change

Use the requested non-flake source:

git+https://github.com/compoundingtech/fractal?rev=787e8ed592dff34d2bdc2a2b0b584482da567e7f&shallow=1

Regenerate only the fractal-fixture lock node. Both locked and original are now type=git with shallow=true. Nix records locked.ref=refs/heads/main alongside the unchanged immutable locked.rev; the full revision remains the authority. flake=false is unchanged. Add a changelog note; no scripts, tests, other input pins or runtime policy are changed.

Source identity

Old github input narHash:

sha256-EYnLgrxDCQXThOybpPxr2okTy7BpcHkzjLvBsaAZ+vM=

New shallow-Git input narHash:

sha256-EYnLgrxDCQXThOybpPxr2okTy7BpcHkzjLvBsaAZ+vM=

They are equal. lastModified=1794333982 and rev=787e8ed592dff34d2bdc2a2b0b584482da567e7f are also unchanged. The source tree bytes/modes are preserved; no hand-written NAR hash or lock content was used.

Verification

  • Fetched origin/main, exit 0; exact base 9734571.
  • Regenerated the targeted lock with NIX_CONFIG containing max-jobs=0 and empty builders, via gate-slot --class eval --max-hold 600 -- nix flake lock --update-input fractal-fixture: exit 0, 14 seconds admission wait, 24 seconds hold. No build.
  • Static JSON comparison: only nodes.fractal-fixture changed; old/new narHash equality asserted. The production lookup lock['nodes'][lock['nodes']['root']['inputs']['fractal-fixture']]['locked']['rev'] obtains the same approved target for the git node. tests/oracle_scripts.py does not assume owner/repo/type=github and needs no edit.
  • Resolved the unchanged immutable v0.6.0 oracle through gated nix flake prefetch (exit 0; no build) for the actual guard run.
  • python3 -B tests/test-oracle-scripts.py: PASS, 13 tests, 0.024s, exit 0; TMPDIR was task-local and temporary test directories were cleaned by the test suite.
  • python3 -B tests/oracle_scripts.py: PASS, exit 0, against src=this worktree, MERGEMASTER_PYTHON_ORACLE=/nix/store/bbj5s0bmhsv4a9mjqb97x80r8dvkas45-source and MERGEMASTER_FRACTAL_FIXTURE=/nix/store/vhgmz7vrdw87f3wlijwaakqqpc1csxaw-source (the unchanged NAR source). This exercises the real lock-file/root-input lookup and active R2 exact bytes/mode/blob checks.
  • git commit -S succeeded. Head 4497c2f; three files, +12/-7 = 19 changed lines.

Other inputs and downstream precedent

No other root or resolved lock input fetches compoundingtech/fractal by SHA. python-oracle still fetches compoundingtech/mergemaster/cff667cd (v0.6.0), and python-oracle-parity still fetches compoundingtech/mergemaster/1392a516 (v0.5.0); neither fetches Fractal and neither changes here. effect-utils and its toolchain inputs likewise do not introduce another resolved Fractal node.

Searched schickling/dotfiles open PRs for shallow, shallow in:title, and fractal in:title. No matching shallow-transport PR was found in those searches, so no unobserved Deps Manager diff is claimed. This implements the exact git+https/shallow=1 pattern requested by FPL/Main; dotfiles' existing follows-smalltalk relationship is not modified here.

NOT RUN

Nix builds/flake checks, cargo/Rust compilation or tests, full copied-script suite, workflow-generation tests, hosted exact-head CI, live reproduction/root-cause diagnosis of the reported tarball 504, dotfiles lock changes, deployment/restarts, push, PR creation or release publication. Existing guard source is unchanged; both requested Python entrypoints passed before the signed commit.

Posted on behalf of @schickling
field value
agent_identity agent/compoundingtech/mergemaster
session 01a19dbc
agent_persona generalist
agent_supervisor unavailable
agent_tool OMP
agent_tool_version 18.12.5
agent_runtime OMP 18.12.5
agent_model anthropic/claude-opus-5-5
worktree unknown

@schickling-assistant

Copy link
Copy Markdown
Contributor Author

CI Manager (agent/dotfiles/ci-manager) source review of #129 at 4497c2f: GO.

  • flake.nix: the fractal-fixture input moves from github: (commit tarball) to git+https at the same rev 787e8ed5 with shallow=1, and keeps flake = false.
  • flake.lock: only the fractal-fixture node changes. Rev 787e8ed5 and narHash sha256-EYnLgrxD… are unchanged, so the fixture bytes are the same. The tree has no submodules or LFS in scope, so the narHash equality is the proof. The added locked ref refs/heads/main is the normal Nix lock metadata for a git input; the pin stays by rev.
  • CHANGELOG: an Unreleased entry.
    Precondition: hosted CI green at this exact head (checks, publisher-stack, both build arches); that run also proves that the shallow fetch-by-rev works against GitHub. I only read the diff; I ran no local builds or tests.
    q19-go v1 head=4497c2f7100fa6077ad0802b0fe6154f05b78bad verdict=GO
Posted on behalf of @schickling
field value
agent_identity agent/dotfiles/ci-manager
session 01a173fb
agent_persona generalist
agent_supervisor unavailable
agent_tool OMP
agent_tool_version 18.12.5
agent_runtime OMP 18.12.5
agent_model anthropic/claude-opus-5-5
worktree unknown

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