Files
tty7/.github
l0ng-ai 43d59b7317 ci(host-boundary): .exists() asks this machine too
The guard forbids the GUI four ways of reaching the filesystem directly,
because a path held by `ui::` or `terminal::` may name a file on a remote
workspace's machine. `.canonicalize()` is one of them. `.exists()` was
not, and it is the same question asked a shorter way: it answers about
the client's disk whatever machine the path belongs to.

`search::local_probe` is what the answer is supposed to look like — a
local prober and a remote one behind one `Probe`, with an `Unknown` that
means "nobody has asked yet". A bare `.exists()` is that split skipped.

Nothing was violating it. All four call sites are local by construction —
a destination the user picked in this app's own copy flow, a name it is
choosing for a download, and the themes directory — so they join the
allowlist with the reason, which is what the allowlist is for.

`.is_file()` and `.is_dir()` are the same hazard and are deliberately not
added. Between them they occur eleven more times, all on paths that are
local by construction, and the script's own header makes the argument
against: an allowlist that grows faster than the net it casts is one
people stop reading. `.exists()` earns its four lines by being the direct
analogue of a pattern already there.

Checked by injecting a `.exists()` on a pane-supplied path: the guard
names the file and line and exits 1.
2026-08-23 01:54:53 +08:00
..