hyperhive/hive-c0re/src/dashboard
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas d2a550e685 feat(#3255): hives stop owning the knowledge webhook, and clean up their own
A webhook has exactly one target URL, so every hive registering one
against the shared internal/knowledge repository was last-writer-wins
rather than idempotent: all but the most recent silently stopped
receiving deliveries. The swarm controller holds the single registration
and now addresses an event to each hive over the queue instead.

This is a migration, not a deletion. Not registering any more fixes
nothing on a hive that has already run — the hook it created persists on
the forge, so the contention would survive on exactly the deployments
that have it while fresh installs looked fixed. The hive that created a
hook removes it.

It removes only its OWN, matched on the full URL rather than the
/webhook/knowledge suffix. A hook with that suffix and a different base
belongs to another hive, possibly one not yet upgraded, and deleting it
would break that hive's knowledge sync until it caught up. Reaping a
neighbour's registration is the behaviour being removed here; doing it
while fixing it would only invert the direction.

The predecessor did reap by suffix, to clear loopback hooks left by an
older single-hive layout. That was safe when a hive was alone on its
forge and is not safe now. The hive-side registrars also acted as reapers
of hooks under their own path, which is why the swarm hook lives under
/webhook/forge/; removing this registrar removes that reaper too.
Intended, and stated because no reviewer would infer it from the diff.

The receive endpoint goes with it. A live HMAC-verified
/webhook/knowledge that nothing can legitimately reach would tell the
next reader that this is how a hive learns about knowledge changes.

Docs move in the same commit: docs/swarm/README.md said two hooks exist
per swarm-wide repo and neither should be deleted, which is now true for
agent-configs and wrong for internal/knowledge — a half-correct
description being worse than an uncorrected one.
2026-08-19 21:05:52 +02:00
..
approvals.rs hive-sh4re: split approval-queue schema into its own topic module 2026-08-10 23:05:18 +02:00
build_logs.rs docs: stop asserting DagView/NodeView after their deletion 2026-08-03 21:47:58 +02:00
extra_forges.rs hive-c0re: drop redundant METHOD/path prefixes from OpenAPI summaries 2026-08-02 21:35:17 +02:00
health.rs refactor(hive-c0re): one producer for the readiness verdict 2026-08-16 13:12:59 +02:00
infra_containers.rs docs(gateway): describe what is, not what changed 2026-08-11 18:09:51 +02:00
journal.rs docs(gateway): describe what is, not what changed 2026-08-11 18:09:51 +02:00
lifecycle_ops.rs refactor(#2916): destroy submits a DAG instead of an imperative teardown 2026-08-14 00:24:45 +02:00
matrix_accounts.rs hive-c0re: drop redundant METHOD/path prefixes from OpenAPI summaries 2026-08-02 21:35:17 +02:00
meta_inputs.rs wip(#3001): catch the multi-line .insert( chains the grep missed 2026-08-04 19:57:32 +02:00
misc_api.rs hive-c0re: replace json! with typed structs in dashboard handlers 2026-08-13 18:12:35 +02:00
mod.rs feat(#3255): hives stop owning the knowledge webhook, and clean up their own 2026-08-19 21:05:52 +02:00
permissions.rs hive-sh4re: split tool-group + capability enums into their own topic module 2026-08-10 23:05:18 +02:00
questions.rs hive-sh4re: split manager-socket constants + HelperEvent into their own topic module 2026-08-10 23:05:18 +02:00
schedules.rs hive-c0re: replace json! with typed structs in dashboard handlers 2026-08-13 18:12:35 +02:00
state_files.rs hive-c0re: drop redundant METHOD/path prefixes from OpenAPI summaries 2026-08-02 21:35:17 +02:00
state_snapshot.rs address review: switch hive-c0re to hive-jobq-wire's shared parse_states/filter_nodes_by_state, note the generic shape in endpoint docs 2026-08-16 16:59:54 +02:00
tombstones.rs fix(#3020): K3PT ST4T3 says what it shows, and stops reading the job graph 2026-08-03 18:07:04 +02:00
topology.rs wip(#3001): catch the multi-line .insert( chains the grep missed 2026-08-04 19:57:32 +02:00
webhook.rs feat(#3255): hives stop owning the knowledge webhook, and clean up their own 2026-08-19 21:05:52 +02:00