hyperhive/hive-sh4re/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 27932ec631 types: let nix own the reserved-name blacklist
One list, in nix/reserved-names.nix, handed to everything that needs it
as HIVE_RESERVED_NAMES. Keeping it current becomes a config change
rather than a rebuild, and hive names and agent names -- one namespace
going forward -- are checked against the same file: swarm-otel.nix's
hand-written reservedOwners is gone.

Whitespace-separated rather than JSON, deliberately, unlike the
structured env vars beside it. Every entry is an Ident ([a-z0-9-]), so
whitespace cannot occur inside a name and the encoding is provably
lossless; JSON would mean either a parser dependency in a crate whose
purpose is to have none, or a copy of the parse in every consumer.

An UNSET variable is not "nothing is reserved". Both creation sites log
an error and return a warning saying the check did not run, so a
misconfigured deployment says so instead of silently accepting every
name. A blank value folds into unset: nix always renders a non-empty
list, so present-but-empty is a rendering fault, not a declaration.

Two guards whose subject moved out of their own file now assert their
own case is still in it, because a guard that can be retired by an edit
elsewhere is not a guard:

- swarm-otel.nix asserts reserved-names.nix still contains its
  swarmTierName.
- hive-sh4re's sentinel drift test PANICS when the variable is missing
  rather than skipping -- a drift test that quietly does nothing still
  reports green. checks.nix and devshell.nix both export it so CI and a
  local cargo test agree. Verified as a pair: with the variable set, 8
  tests pass; with it unset, exactly the 4 drift tests fail and the
  unrelated ones still pass.
2026-08-27 16:36:42 +02:00
..
approvals.rs hive-sh4re: split approval-queue schema into its own topic module 2026-08-10 23:05:18 +02:00
assets.rs agent icon: 404 when unconfigured, client-side fallback 2026-08-10 20:59:59 +02:00
bash_task.rs hive-sh4re: split bash-task schema into its own topic module 2026-08-10 22:12:38 +02:00
container.rs feat(#3139): tell a container that gave up from one stopped on purpose 2026-08-10 23:49:33 +02:00
inbox.rs hive-sh4re: split inbox, container, journal, and schedule wire shapes into their own modules 2026-08-10 23:26:15 +02:00
journal.rs hive-sh4re: split inbox, container, journal, and schedule wire shapes into their own modules 2026-08-10 23:26:15 +02:00
lib.rs hive-sh4re: split inbox, container, journal, and schedule wire shapes into their own modules 2026-08-10 23:26:15 +02:00
manager.rs types: let nix own the reserved-name blacklist 2026-08-27 16:36:42 +02:00
paths.rs move hive-sh4re's harness_dir() into hive-agent-sock, drop the dev-fallback derivation 2026-08-09 19:54:13 +02:00
permissions.rs feat(3088): move the gateway's nginx + dnsmasq onto the host 2026-08-11 18:01:03 +02:00
schedule.rs hive-sh4re: split inbox, container, journal, and schedule wire shapes into their own modules 2026-08-10 23:26:15 +02:00
wire_time.rs hive-sh4re: delete now_unix(), the migration's last call sites are gone 2026-08-02 02:12:19 +02:00