hyperhive/hive-c0re/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 5c4a637941 job_queue: delete the cancelled-power-op intent revert
The revert hook is dead by construction, so it can only ever be wrong.

DAG state `Cancelled` has exactly one producer: `JobQueue::cancel`, which
refuses unless every work node is still `Pending`. A cancel *cascade*
(some node failed, downstream cancelled) rolls up `Failed` instead —
`dag_rollup` short-circuits on any failed subtree node. So on a DAG that
reaches `Cancelled`, no node ever executed: the `SetWanted` head provably
never ran and `wanted` still reads whatever the operator last set it to.

There is therefore nothing to revert, and `revert_intent` did not revert
anything — it wrote `Wanted::from_running(observed)`, i.e. the agent's
*observed* state, over an intent the DAG never touched. Harmless when
observed already matched, silent corruption otherwise: cancel a queued
start for an agent that is down but `wanted = Up` (crashed, or caught
mid-bounce) and the intent flips to `Offline`, leaving it
deliberately-stopped as far as reconcile and crash-watch are concerned.

The hook made sense when `set_wanted` was a pre-submit side effect
written before the DAG ran; moving it into the DAG as a node left the
hook vestigial.

Drop `HookKind::RevertIntent`, `revert_intent`, and the power-op arm of
`terminal_hook` — start / stop / graceful-stop now settle with no
terminal hook, same as restart always did. The test asserts the general
statement across restart/stop/start x graceful x running: stop and start
carry a `SetWanted` head, and cancelling them still fires no hook.
2026-07-26 16:30:26 +02:00
..
agent_config resource_limits: read the override map once per SSE scan 2026-07-26 14:56:36 +02:00
dashboard fix: apply rustfmt and address argus nit (cpu_quota optional chaining) 2026-07-26 16:18:35 +02:00
forge docs: describe the deploy subtree 2026-07-25 22:55:02 +02:00
job_queue job_queue: delete the cancelled-power-op intent revert 2026-07-26 16:30:26 +02:00
lifecycle deploy: gate config merges on ancestry, CAS the applied/main move 2026-07-26 15:47:40 +02:00
socket_server docs: describe the deploy subtree 2026-07-25 22:55:02 +02:00
stats feat: per-agent CPU and memory limits 2026-07-26 14:15:05 +02:00
stores delete c0re-side reminder plumbing (#2635 inc 1 commit 6) 2026-07-23 00:12:30 +02:00
workers delete c0re-side reminder plumbing (#2635 inc 1 commit 6) 2026-07-23 00:12:30 +02:00
actions.rs deploy: gate config merges on ancestry, CAS the applied/main move 2026-07-26 15:47:40 +02:00
container_view.rs resource_limits: read the override map once per SSE scan 2026-07-26 14:56:36 +02:00
coordinator.rs job_queue: retire the now-off-wire step sub-step label 2026-07-26 15:24:35 +02:00
dashboard_events.rs delete c0re-side reminder plumbing (#2635 inc 1 commit 6) 2026-07-23 00:12:30 +02:00
gateway_nginx.rs sweep: wire gateway-nginx reload + config-repo branch-protection into warning banners 2026-07-16 00:05:29 +02:00
loose_ends.rs feat(#2635): wire harness-local questions mirror (inc2 pt2) 2026-07-26 02:07:33 +02:00
main.rs feat: per-agent CPU and memory limits 2026-07-26 14:15:05 +02:00
matrix.rs refactor(#2302): type socket wire fields as ident, validated by serde on deserialize 2026-07-20 21:46:18 +02:00
meta.rs feat: per-agent CPU and memory limits 2026-07-26 14:15:05 +02:00
migrate.rs refactor(#2302): type socket wire fields as ident, validated by serde on deserialize 2026-07-20 21:46:18 +02:00
paths.rs fold hive-c0re module tree into the daemon binary + drop dead pub items surfaced by bin-only (#2513) 2026-07-16 10:43:08 +02:00
priv_client.rs fix(#2415): treefmt Rust + Errors doc on register_ci_runner (argus review) 2026-07-16 12:48:23 +02:00
questions.rs delete c0re-side reminder plumbing (#2635 inc 1 commit 6) 2026-07-23 00:12:30 +02:00
server.rs feat: per-agent CPU and memory limits 2026-07-26 14:15:05 +02:00
webhook_secret.rs chore(#2510): bump indicatif/tower-http/hmac/sha2 to latest majors 2026-07-16 10:42:30 +02:00