Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-c0re/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 5fe8008cce refactor(#2449): write power intent via a SetWanted DAG node, not a pre-submit side effect
The durable 'wanted' power intent was written by submit::{start,stop,
restart,graceful_restart,graceful_stop} as a synchronous pre-submit side
effect, then read by the DAG's tail Reconcile. That's not crash-safe
(a crash between the write and the enqueue loses it) and, with agent now
per-node, can't be per-agent in a DAG that spans agents.

Move it into the DAG as a head SetWanted node:
- NodeKind::SetWanted { up } + run_set_wanted executor (fails the node on
  a write error, unlike the old warn-and-continue, so a stale intent
  never reaches Reconcile).
- LEASE-NEEDING, not lease-exempt: it takes the agent lease so a power-op
  DAG's intent-write + reconcile is atomic per-agent. If it were exempt,
  two racing ops (restart vs stop) would run both intent-writes up front
  and clobber each other before either reconciled — defeating the point
  of moving the write into the DAG. (In stale_start the lease is thus held
  across the head Prebuild, but that's a no-op there: the agent is down so
  prebuild is skipped.)
- templates: explicit SetWanted node 0 on restart/graceful_restart/
  graceful_stop, plus dedicated start/stop templates (SetWanted -> Reconcile)
  and stale_start (SetWanted(Up) -> rebuild subgraph, reusing rebuild_nodes).
  No compose helper / rebuild variant. reconcile_only is now boot-only.
- submit.rs: drop the set_wanted side effect; the stale-rev shape decision
  (start vs stale_start) stays submit-side.

All 33 job_queue tests pass (shape/lease tests updated for the head node).
2026-07-14 22:34:44 +02:00
..
agent_config refactor(#2285): inline remaining 1:1 path wrappers (meta_dir, marker fns, host_conf_path) 2026-07-10 20:32:03 +02:00
bin refactor(#2352): route hivectl github set-token through a daemon wire command 2026-07-14 22:17:09 +02:00
dashboard fix(#2438): link config approval commit by full sha, not abbreviated 2026-07-14 20:48:35 +02:00
forge forge: drop stale TOKEN_SCOPES/extra.rs cross-reference 2026-07-14 18:38:55 +02:00
job_queue refactor(#2449): write power intent via a SetWanted DAG node, not a pre-submit side effect 2026-07-14 22:34:44 +02:00
lifecycle refactor(#2431): extract hive-priv-sock crate from hive-sh4re 2026-07-14 20:02:20 +02:00
socket_server refactor(#2431): extract hive-priv-sock crate from hive-sh4re 2026-07-14 20:02:20 +02:00
stats feat(#2289): debounced SweepHealth banner tracker, wire knowledge pull 2026-07-10 14:46:43 +02:00
stores fix(#2164): domain-URL webhooks + HMAC + config-PR polling fallback 2026-07-11 23:28:16 +02:00
workers feat(#2008): rebuild running agents first in the startup sweep 2026-07-13 19:02:42 +02:00
actions.rs fix(#2401): mirror config-pr deploy tag to forge via push_config 2026-07-14 18:52:11 +02:00
client.rs refactor(#2352): re-home host-control wire types into hive-host-sock crate 2026-07-13 15:55:20 +02:00
container_view.rs refactor(#2285): repoint all hive-c0re host-path consumers to paths.rs 2026-07-10 20:32:03 +02:00
coordinator.rs refactor(#2285): drop coordinator 1:1 path accessors, callers use paths:: directly 2026-07-10 20:32:03 +02:00
dashboard_events.rs feat(hive-c0re): replace rebuild queue with generic job-DAG queue 2026-07-06 20:36:57 +02:00
flake_check.rs refactor(#2111): remove nixpkgs-unstable, source claude-code from main nixpkgs 2026-07-01 19:32:46 +02:00
gateway_nginx.rs refactor(#2285): inline remaining 1:1 path wrappers (meta_dir, marker fns, host_conf_path) 2026-07-10 20:32:03 +02:00
lib.rs fix(#2164): domain-URL webhooks + HMAC + config-PR polling fallback 2026-07-11 23:28:16 +02:00
loose_ends.rs style: import ordering + blank lines after now_unix sweep (treefmt) 2026-07-06 22:08:40 +02:00
main.rs refactor(#2352): re-home host-control wire types into hive-host-sock crate 2026-07-13 15:55:20 +02:00
matrix.rs refactor(#2285): repoint all hive-c0re host-path consumers to paths.rs 2026-07-10 20:32:03 +02:00
meta.rs refactor: rename templates to agent.nix/ruth.nix, sweep stale name refs 2026-07-13 22:01:24 +02:00
migrate.rs refactor(#2285): inline remaining 1:1 path wrappers (meta_dir, marker fns, host_conf_path) 2026-07-10 20:32:03 +02:00
paths.rs refactor(#2431): extract hive-priv-sock crate from hive-sh4re 2026-07-14 20:02:20 +02:00
priv_client.rs refactor(#2431): extract hive-priv-sock crate from hive-sh4re 2026-07-14 20:02:20 +02:00
questions.rs refactor: drop kind_to_str wrapper, call ApprovalKind::as_str directly 2026-07-06 21:49:46 +02:00
server.rs refactor(#2352): route hivectl github set-token through a daemon wire command 2026-07-14 22:17:09 +02:00
webhook_secret.rs fix(#2164): domain-URL webhooks + HMAC + config-PR polling fallback 2026-07-11 23:28:16 +02:00