Adopt pinned public core snapshot and prepare Sized 2.0.0
Sized Linux checks / Linux AMD64 / Rust 1.88.0 (pull_request) Successful in 4m54s
Sized Linux checks / Linux AMD64 / Rust 1.88.0 (push) Successful in 4m57s

This commit is contained in:
2026-10-10 13:11:02 -04:00
parent c2cc458f27
commit e0707447ad
30 changed files with 1533 additions and 101 deletions
+43 -33
View File
@@ -7,9 +7,9 @@ folders, filter the noise, and export reports for your own scripts.
[Project page](https://gamertan.com/projects/sized/) ·
[Prefer a visual map? Meet SizeQueen](https://gamertan.com/projects/sizequeen/).
This branch contains scanner hardening under review. The published **v1.0.0**
release predates the hard-link, partial-scan and filesystem-boundary changes
below. No new release is implied by a branch build.
**Version 2.0.0** shares the pinned Sized core used by SizeQueen. Hard links,
partial scans and filesystem boundaries have explicit accounting and status.
See [upgrading from 1.0](docs/UPGRADING-2.md) for CLI and Rust API changes.
## Features
@@ -27,39 +27,48 @@ below. No new release is implied by a branch build.
## Installation
### Build the current review branch
### Official downloads
With a Rust toolchain and Git installed:
Use the [Sized project page](https://gamertan.com/projects/sized/) or
[v2.0.0 release](https://gitea.speelman.ca/gamertan/sized/releases/tag/v2.0.0).
Choose the archive for your CPU and OS. The Apple silicon download is a signed,
notarized DMG; Linux archives target glibc 2.36 or newer. Matching offline source,
full dependency notices and SHA-256 checksums accompany the downloads.
```bash
git clone --branch sizequeen-scan-hardening https://gitea.speelman.ca/gamertan/sized.git
Open the Mac disk image, or extract the Linux archive. From its directory, install
without administrator privileges:
```sh
mkdir -p "$HOME/.local/bin" "$HOME/.local/share/man/man1"
install -m 755 sized "$HOME/.local/bin/sized"
install -m 644 sized.1 "$HOME/.local/share/man/man1/sized.1"
"$HOME/.local/bin/sized" --version
```
Include `~/.local/bin` in your `PATH`. On a Mac, the mounted directory is
`/Volumes/Sized 2.0.0`; this is a Terminal tool rather than an application icon.
The archive also includes Bash, Zsh and Fish completions. No Homebrew tap or
Debian package is currently published. Intel Mac and Windows binaries are not
part of this release.
### Build from source
With Rust 1.88 or newer and a C linker/toolchain installed:
```sh
git clone --branch v2.0.0 https://gitea.speelman.ca/gamertan/sized.git
cd sized
cargo install --locked --path .
sized --help
```
Cargo installs into `~/.cargo/bin`; include it in your `PATH`. For the published
source instead, check out `v1.0.0` before the install command. Source builds run
locally; they are separate from SizeQueen's signed and notarized Mac app.
To install the binary and man page together without administrator privileges:
```bash
make install PREFIX="$HOME/.local"
```
This uses `~/.local/bin` and `~/.local/share/man/man1`; configure `PATH` and your
manual-page search path as needed.
### Existing release downloads
The [v1.0.0 release](https://gitea.speelman.ca/gamertan/sized/releases/tag/v1.0.0)
contains source, one legacy executable named `sized`, a man page and shell
completions. The executable was inspected as macOS arm64 (Apple silicon); it is not a Linux download.
There are currently no attached architecture-labelled archives or `.deb`
packages, and no verified Homebrew tap. Build from source for the current
review changes. Platform-labelled archives will be advertised after a new
release is reviewed and published.
The public checkout includes the exact core snapshot; no private credentials are
needed. The matching source archive additionally includes registry dependencies:
from its root, `cargo build --locked --offline --release` works without Cargo
network access. Source builds are unsigned unless you sign them yourself.
`make install PREFIX="$HOME/.local"` installs the binary and man page together.
Historical [v1.0.0 files](https://gitea.speelman.ca/gamertan/sized/releases/tag/v1.0.0)
remain available unchanged.
## Documentation
- **[Manual](MANUAL.md)**: Detailed explanations of all flags and features.
@@ -144,7 +153,7 @@ a convenience helper, while `scan_tree` retains structured diagnostics.
## Development checks
Run `cargo test --locked` locally as an unprivileged user. For Linux build,
Run `cargo test --locked --workspace` locally as an unprivileged user. For Linux build,
permission, filesystem-boundary and release smoke checks with Docker:
```bash
@@ -180,9 +189,10 @@ See [source review and release process](SHIPMENT.md) and the [live queue](TODO.m
Sized began as terminal tooling. Its filesystem scanner was extracted into
`sized-core`, which SizeQueen now uses directly beneath its native Mac interface.
SizeQueen adds the treemap and desktop interactions; it does not run the CLI.
Sized currently retains its own scanner copy while shared-core adoption is
reviewed. A public checkout of Sized does not need access to the private core
repository. SizeQueen's matching source download includes its pinned core.
Sized 2.0 uses the same pinned core revision through the exact public snapshot
in `crates/sized-core`. `CORE-SNAPSHOT.json` records its provenance and hashes.
The upstream core repository remains private; public Sized and both products'
matching source downloads build without access to it.
## License