hyperhive/hive-c0re/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 8ea1f7daee hive-c0re: assert the scheduling surface permits an unrelated requester
The previous commit deleted `schedule_authorized` and with it three
denial tests, leaving the permit behaviour it introduced unasserted:
nothing in the suite would notice a subtree check creeping back into
the scheduling handlers.

These four pin the inverse of the decision the deleted predicate used
to make. They sit at the handler level because that is the lowest layer
where the decision still exists to be observed — the predicate, its pure
`_in` form and the wrapper are gone, so there is no function left whose
return value *is* the decision, and the layer above (`dispatch`) reaches
these verbs through `require_group("scheduling")`, a different gate that
is still present and not the one under test.

`cancel` and `edit` assert the row afterwards rather than stopping at
`Response::Ok`: a check that silently declines to act while still
answering `Ok` is the regression a response-code assertion misses.
`list_schedules` is the structurally different case — it never rejected,
it filtered per row, so its assertion is that another owner's row is
present at all. `fire` asserts the response only; the fan-out legitimately
finds no live container under test and `fire_now` reports that inside
`Ok(report)`, so the response code is the only honest signal there.

Verified by mutation, not by inspection: reintroducing an ancestry walk
into the four handlers flips all four tests to failing (the three
mutating verbs on the refusal, `list_schedules` on an empty list) and
leaves the two pre-existing ghost-filter tests untouched.

These four cover the complete set of gate points this branch removes.
The roster listing that used to be the fifth is no longer one: `main`
removed `list_containers`, `Request::ListDescendants` and the handler
behind them outright, so there is nothing left there to assert.

Refs #4472
2026-09-21 17:20:44 +02:00
..
agent_config hive-c0re: drop the subtree check from the scheduling verbs 2026-09-21 17:20:44 +02:00
dashboard hive-c0re: accept friendly MemoryMax size spellings, normalize for systemd 2026-09-19 15:07:52 +02:00
forge hive-c0re: fast-forward applied/<name>/main too, not just the one-shot relock 2026-09-13 17:33:58 +02:00
job_queue remove the list_containers and request_update_meta_inputs MCP tools 2026-09-20 22:47:46 +02:00
lifecycle swarm: courier an agent's store identity into its container, and log in with it 2026-09-19 01:55:31 +02:00
socket_server hive-c0re: assert the scheduling surface permits an unrelated requester 2026-09-21 17:20:44 +02:00
stats AgentStatusRow: carry active_model + set_status text/timestamp 2026-09-07 14:08:30 +02:00
stores remove the list_containers and request_update_meta_inputs MCP tools 2026-09-20 22:47:46 +02:00
workers remove as_str() legacy wrappers, callers use .into() directly 2026-09-12 00:06:31 +02:00
actions.rs refactor(hive-c0re): drop the request_init_config tool and InitConfig approval 2026-09-14 19:03:44 +02:00
container_view.rs hive-c0re: render the new agent option paths into generated agent flakes 2026-09-17 20:19:30 +02:00
coordinator.rs hive-c0re: render the new agent option paths into generated agent flakes 2026-09-17 20:19:30 +02:00
dashboard_events.rs remove the 1NFR4 dashboard panel and the now-writer-less audit log 2026-08-31 00:18:21 +02:00
gateway_nginx.rs gateway: $connection_upgrade does not come from recommendedProxySettings 2026-09-02 09:04:24 +02:00
loose_ends.rs hive-agent-mcp, hive-c0re, hive-sh4re: drop agent param from get_loose_ends 2026-09-20 05:36:49 +02:00
main.rs log: send records natively to journald, keep stdout off-unit 2026-09-21 15:52:57 +02:00
matrix.rs matrix: one sender account and one sender token per hive 2026-09-20 22:07:16 +02:00
meta.rs swarm: courier an agent's store identity into its container, and log in with it 2026-09-19 01:55:31 +02:00
migrate.rs docs: repoint eighteen pointers whose section no longer exists 2026-09-02 09:00:23 +02:00
paths.rs matrix: name the credential after the account it authenticates as 2026-09-20 22:07:16 +02:00
priv_client.rs hive-c0re: render the new agent option paths into generated agent flakes 2026-09-17 20:19:30 +02:00
server.rs matrix: one sender account and one sender token per hive 2026-09-20 22:07:16 +02:00
snapshot_push.rs refactor(#2862): one snapshot store per swarm, not one per peer 2026-07-31 22:15:37 +02:00
swarm_agent_status.rs swarm: present tense + no-queue-coordinates wording 2026-09-13 12:01:58 +02:00
swarm_notices.rs swarm: present tense + no-queue-coordinates wording 2026-09-13 12:01:58 +02:00
swarm_queue.rs swarm-queue-based lifecycle notices, replacing push_todo(MANAGER_AGENT) 2026-08-24 14:34:37 +02:00
swarm_status.rs hive-c0re: converge when the controller republishes, not only at boot 2026-09-03 00:36:57 +02:00
test_env.rs test(hive-c0re): one crate-wide lock for env-mutating tests 2026-08-19 01:38:54 +02:00
webhook_secret.rs chore(#2510): bump indicatif/tower-http/hmac/sha2 to latest majors 2026-07-16 10:42:30 +02:00