Commit 007f891
authored
docs: correct two claims this repository makes that do not hold (#64)
Both were found by someone following the documentation exactly. Neither is a
code change; the code was doing what it does and the documents described
something else.
1. THE MODE IS NOT 644 OR 755. `FileMeta::executable` claimed "a file is either
mode 644 or 755, and no other permission bit is replicated". The second half is
true. The first half is not.
Materialization creates the file with `fs::write`, giving `0666 & ~umask`, and
then ORs in `0o111`. The mode therefore depends on the RECEIVING host's umask.
Observed on hetz and droppy on 2026-08-23: 0664 for a plain file and 0775 for an
executable one, both under umask 002.
Only the executable BIT replicates. Nothing may depend on the exact figure. The
comment now gives the umask table and says so, and notes that st2's render
deliberately writes an exact mode instead, so the two systems differ on purpose.
2. THE CHECKSUM STEP HAS NEVER BEEN RUNNABLE. "Upgrading Fabric Safely" told the
operator to fetch a combined `SHA256SUMS` from the release. No release has ever
had one: `git log -S'SHA256SUMS' -- .github/workflows/release.yml` returns
nothing, because the workflow publishes one `.sha256` PER ASSET and never a
combined manifest.
So the documented verification could not complete against any release this
project has published, since b7ce527 added it. It stopped nobody until tonight,
when `hetz.root` followed it exactly, could not fetch the file, and refused to
substitute a different checksum rather than improvise a verification step. That
refusal was correct and it is the only reason this was found.
The step now fetches the per-asset `.sha256`. It takes field one rather than
running `shasum -c`, because the published file still carries the builder's
`dist/` path and a check against it fails on the path, not on the hash.
The workflow is left alone. It was never wrong; the document described a release
layout that never existed.
Agent: Silber.fabric1 parent 42fb6b3 commit 007f891
2 files changed
Lines changed: 25 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
355 | 355 | | |
356 | 356 | | |
357 | 357 | | |
358 | | - | |
359 | | - | |
| 358 | + | |
| 359 | + | |
360 | 360 | | |
361 | 361 | | |
362 | 362 | | |
| |||
377 | 377 | | |
378 | 378 | | |
379 | 379 | | |
380 | | - | |
| 380 | + | |
381 | 381 | | |
382 | | - | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
383 | 386 | | |
384 | 387 | | |
385 | 388 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
60 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
61 | 77 | | |
62 | 78 | | |
63 | 79 | | |
| |||
0 commit comments