Repository navigation
2026.9.30.1: downloads say whose fault a failure was, hook commands write to a log, one error per failed download - #636
Merged
Conversation
…rite to a log, one error per failed download Plan and readings: .agents/docs/2026-09-29-download-attribution-and-install-noise-plan.md
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.
Plan, review rulings (R1–R10) and readings:
.agents/docs/2026-09-29-download-attribution-and-install-noise-plan.md.Consumes libxpkg 0.0.60 (openxlings/libxpkg#45) through mcpplibs/mcpp-index#490.
Companion index change: openxlings/xim-pkgindex (7-Zip quiet + build dep, chatgpt without the Qt shims).
What a user saw on 2026.9.29.1 (a real home)
install chatgpt@26.917.71314→sha256 mismatch … got 68e23f…. The recipe was right; the disk was at 100 %.68e23f…is the sha256 of the correct file's first 220,979,200 bytes: tinyhttps never checksofs.write, the truncated file was hashed, the host was demoted and its retries skipped.[pkg] failed:in the middle of the progress frames, the reason, anddownload artifact missing.install chatgptreinstalling qt-base printed 7-Zip's banners, listings and a repairedERRORbetween[74/88]and[75/88].self updateon a current home printedxlings -> 2026.9.29.1twice.info chatgptprinted the same 35 deps asruntime depsand again asbuild deps.Changes
xlings::tinyhttps::FailureKind{Source, Transfer, Local, Cancelled}, decided once in the xhttp wrapper. What landed on disk is compared with what the transfer reported beforeonVerify: a file shorter than received is Local; a short transfer is Transfer (retried); only a complete file with the wrong content is Source (next candidate, host demoted). A destination that cannot be opened is LocalE_DISK_FULL+ hint, the free space in the message. The duplicate "incomplete transfer" check in the downloader is gone (one answerer). indexfetch stops on Local tooXLINGS_DOWNLOAD_SPACE_CHECK=offrun_hookgetsctx.hook_log = <home>/logs/hooks/<ns>-<name>@<ver>.<hook>.log(libxpkg 0.0.60 redirects the hook's children there). A failure prints the last 20 lines andfull log: <path>; a hook past 15 s prints… <pkg> install hook running 2m: <last log line>(interface:progressphasehook, protocol 1.5).XLINGS_HOOK_OUTPUT=inherit/-vrestore the terminal (never in the interface or TUI);XLINGS_HOOK_HEARTBEAT=<first>:<every>use/self update(D)useannounces a switch only when something moved (alreadyActive: the target AND every release member already at the selected versions).self updateon a current home ends withxlings is already at <v> (latest)info(E1)deps = { ... }shows onedepsrowTests
DownloadAttribution.*(5),XimDownloaderTest.ALocalWriteFailureIsReportedAsDiskFullNotAsTheSource,XvmSwitchPlan.AlreadyActiveOnlyWhenTheWholeReleaseIsInPlace; protocol version 1.5.hook_output_log_test.shH1..H5 — H1 fails on 2026.9.29.1 (the hook's commands in the install output).download_failure_report_test.shF1..F3 — F1 fails on 2026.9.29.1 (reasonlessfailed:anddownload artifact missing).mcpp build --toolchain llvm@20.1.7on Linux.Corrected during implementation (plan §8.4)
StdoutCapturealready forwarded it to stderr as[stray stdout]. C2's gain there is the log and the tail on failure.