The architecture contracts check enforces max(target, base) lines per
exception file, and workspace.rs is already at its base size. Move the
SSH label lookup out of workspace.rs instead of growing it:
- ssh_hosts.rs: add `merged_with_labels()` which reuses the profiles
already loaded by `SshHostLists::load()` (no extra JSON parse) and
yields (host, label) pairs in the same authoritative merge order.
- shell_picker.rs / quick_jump.rs / palette.rs: consume the label from
those pairs; `ssh_host_display()` keeps the alias-or-fallback rule.
- workspace.rs: net zero lines (helper and extra argument removed).
Also apply the pinned rustfmt (1.97.1) to the touched files.
Verified locally: check_architecture.py --base origin/main passes,
architecture guardrail tests 53/53, file_line_budget 2/2,
workspace:: tests 107/107, gpui-shell --tests check clean.
The new-tab launcher, Quick Jump and the command-palette SSH rows used
to render the raw destination (user@host) as their label, ignoring the
user-configured "主机名称" (host name) from SSH settings.
- Add ssh_host_labels() alongside ssh_host_icon_ids() and pass the
label map into shell_palette_rows().
- Share a single ssh_host_display() rule across the launcher, Quick
Jump and palette rows: a named host shows its alias as the label with
the real destination as the metadata hint; unnamed hosts keep the
previous label=destination, hint="SSH" presentation.
- Search now matches both the alias and the destination.
Tests: launcher rows with and without a configured name, including the
existing no-label fallback.
clippy cannot run advisory: the workflow contract forbids continue-on-error
and several crates deny lints, so it joins after the backlog is cleared.
The trigger contract now requires the default pull_request activity types
plus ready_for_review instead of forbidding a types list.
Pull requests: `lint (fmt, clippy)` and `pr-size` join the required checks
together with all five `Tests (<os>)` jobs and both `Release workspace` jobs,
so a PR can no longer merge with a red platform. Draft PRs run the three fast
platforms on every push; marking ready for review adds Intel Mac and Windows
ARM64. `pr-size` labels size/S-XL and fails above 1500 changed source lines
unless a maintainer adds `size-exempt`.
Issues: the bug form now asks for OS version, shell, program in the pane,
connection type, non-default settings and mandatory logs/screenshots, with
log paths per platform. `issue-labels` turns the dropdowns into os:/area:
labels, flags regressions, and parks reports without usable steps, evidence
or a version as needs-info with a checklist comment; an edit that fills the
gaps clears the label. config.yml pointed at the old nebula repository.