$ the-wire · showcase
ghlore locks down wide binds, kernels restores env config
By RepoJournal · Filed · About Hugging Face · Composed from the cited sources · methodology
huggingface/ghlore's `serve` now requires an explicit `--trust-network` flag before it will bind beyond loopback with no tokens configured, so a deployment that loses its token config refuses to start instead of starting open.
The change makes the loopback rule answerable rather than absolute [1]. It is a flag and not an inference from "no tokens," which is the point: a deployment that loses its token configuration refuses to start rather than starting open. What it trades is narrow and stated: responses are read-only through a SELECT-only connection [1]. Two related ghlore commits tighten the same perimeter story. The render envelope no longer wraps the whole page; retrieved prose now carries a `>` per line and the header says so, because the old header covered `[authoritative]`, the trust floor and every count, which are our assertions and not quotations, making a ghlore label indistinguishable from the same string in an issue body [2]. Marking is one-directional: retrieved text can add a marker, never remove one [2]. On the CLI side, `--json` and `--compact` are accepted on the subparsers too, with SUPPRESS so a flag given before the verb is not overwritten, because argparse called them "unrecognized" rather than misplaced and sent the reader after a typo [3]. `precedent` now takes `--limit`, and `precedent` and `why` say NOT IMPLEMENTED YET in `--help` since an agent builds its plan from that list [3]. The front page example was itself broken: `ghlore thread 47720 --focus "cropping"` was posted verbatim and answers 400 against a deployment whose tokens can see several repositories, a bare number being ambiguous when a token can see more than one repo [4]. It now carries `--repo`, plus an `inflight` line, documented in docs/cli.md [4]. Separately, `ghlore.huggingface.tech` got its certificate, load balancer and alias record, and `status` and `inflight` now answer over the name with no port-forward; the load balancer is internal, so off the VPN the failure is a timeout against a private address rather than a DNS error [5].
In huggingface/kernels, the `hf-hub` crate removed all standard env vars handling, so `kernels-common` ports the environment handling of `huggingface_hub` to restore support for standard variables and adds recognition of `KERNELS_CACHE` to align with the Python `kernels` client [6].
huggingface/harbor-hf landed an operator-only Workbench flow for managing Space secret names, never key values: register a reference, select it as an explicit environment source, review the server-derived recipe/model/image/destinations, and approve its use [7]. It replaces the undeployed manual manifest-path/offline-hash approach with one audited, revisioned private control record in the existing Bucket, and source identities cannot be silently rebound or reused since review IDs are actor-bound and expire [7]. CommandAgent no longer hardcodes `/app`: it runs public `environment.exec(command="pwd", cwd=None)` before installation and caches the effective directory for setup/run cwd and workspace bindings, preserving whitespace and Unicode paths, AGENT_HOME, literal bindings and credential filtering [9]. Sandbox jobs now get explicit names, defaulting to `harbor-<first 70 environment-name characters>-<12 hex SHA-256 characters>`, hashing the full native environment name and capped at 90 characters; names are display metadata, not trial identities [11]. The viewer's false stale observations are fixed too: comparing a new server response against a browser clock sampled up to ten seconds earlier caused them, so current time is now measured on render with one cleaned-up age timer and focus/visibility updates [8]. A failed refresh with recent cached data now offers Retry/Retrying instead of marking the evidence stale; the 60-second threshold is unchanged and malformed or future timestamps and old successful snapshots still fail closed [8]. Three native Terminal-Bench 2.1 diagnostic presets were added with every existing preset preserved: `all-tasks-1-trial-with-6h-qemu-fixed` at 89 trials, `all-tasks-5-trials-with-6h-qemu-fixed` at 445, and `held-50-3-trials-qemu-fixed` at 150, all with native agent `override_timeout_sec: 21600`, `max_timeout_sec: null` and `agent_timeout_multiplier: 1` [10].
In huggingface/transformers, `GenerationTesterMixin` already ran greedy generate with and without a cache, but each test only checked its own shapes and nothing compared them, so a cache feeding its layers the wrong positions or a mask of the wrong width passed both; the new assertion drives each side through `generate` to keep the modality, encoder-decoder and input-naming plumbing in the library [12]. MusicgenMelody conditioning was being silently dropped at generation step 0: `_prepare_cache_for_generation` pre-creates a DynamicCache or EncoderDecoderCache before the first step, so `past_key_values` is no longer None at step 0 and the guard `if past_key_values is not None:` set `encoder_hidden_states = None` [15]. The remaining transformers work is CI and MoE fixes [13][14].
Action items: if you run ghlore behind a network perimeter, confirm your deployment either has tokens configured or explicitly passes `--trust-network`, since the failure mode is now a refusal to start rather than a wide bind [1]. Update any script or doc quoting the front page example command to include `--repo`, which the deployment now requires for a bare thread number [4]. If you consume the kernels Rust client and relied on standard Hugging Face environment variables through `hf-hub`, this restore of `huggingface_hub`-style env handling puts them back, with `KERNELS_CACHE` added to match Python [6].
Action items
- → Confirm ghlore deployments have tokens configured or pass --trust-network, since wide binds now refuse to start without it huggingface/ghlore [plan]
- → Update scripts and docs quoting the ghlore front page example to include --repo huggingface/ghlore [plan]
- → Re-check kernels Rust env var usage now that standard variables and KERNELS_CACHE are recognized again huggingface/kernels [monitor]
- → Re-run MusicgenMelody conditional generation if you were relying on encoder conditioning huggingface/transformers [monitor]
References
- [1] serve: --trust-network, for a deployment whose perimeter is the network ↗ huggingface/ghlore
- [2] render: mark the quoted lines, not the whole page ↗ huggingface/ghlore
- [3] cli: accept the global flags after the verb, mark the stubs, drop the score ↗ huggingface/ghlore
- [4] ui: the example commands need --repo, because the deployment's tokens see two ↗ huggingface/ghlore
- [5] cli: default to the deployment, which now resolves ↗ huggingface/ghlore
- [6] kernels-common: add `HFKernelsClientBuilder` ↗ huggingface/kernels
- [7] feat: manage provider secret references in Workbench ↗ huggingface/harbor-hf
- [8] fix(web): simplify viewer refresh freshness ↗ huggingface/harbor-hf
- [9] fix(agents): honor the task working directory in CommandAgent ↗ huggingface/harbor-hf
- [10] feat(presets): add six-hour fixed diagnostics and held-50 repetitions ↗ huggingface/harbor-hf
- [11] fix(worker): name Sandbox jobs explicitly ↗ huggingface/harbor-hf
- [12] Assert cached decode matches recomputing without a cache (#48289) ↗ huggingface/transformers
- [13] Fix deepspeed ci ↗ huggingface/transformers
- [14] [`MoE`] Fix eager EP ↗ huggingface/transformers
- [15] [MusicgenMelody] Fix conditioning silently dropped at generation step 0 (#48679) ↗ huggingface/transformers