hyperhive/hive-c0re/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris a444774ab3 forge: auto-set agent-configs org avatar on core start (#424)
Sibling to ensure_core_avatar (#320). Same one-shot marker-guarded
upload pattern, this time aimed at the Forgejo per-org avatar
endpoint (`POST /api/v1/orgs/{org}/avatar`).

## SVG-to-PNG at build time

Mara: *don't check in the png. instead generate png on the fly or
in build.*

`hive-c0re/build.rs` renders `branding/agent-configs.svg` →
`$OUT_DIR/agent-configs.png` via `rsvg-convert` (librsvg) on every
compile; `forge.rs` then `include_bytes!`s the OUT_DIR PNG. The
raster never gets checked into git — SVG stays source of truth,
the PNG is a build artifact.

- `hive-c0re/Cargo.toml`: declares `build = "build.rs"`
- `flake.nix`: adds `librsvg` to `naersk-lib.buildPackage`
  `nativeBuildInputs` (covers both the runtime package and the
  clippy check derivation) and to the dev shell so local
  `cargo build` finds `rsvg-convert` on PATH.
- For dev builds outside Nix, install librsvg (Debian:
  `librsvg2-bin`, macOS: `brew install librsvg`).

## Icon design

Sibling visual to the main hyperhive mark — same dark base + outer
ring + corner-bracket frame so the family reads at a glance. Centre
swaps the hexagonal hive for a stacked-config-files motif: three
offset sheets, folded-corner affordance, curly-brace `{ }` glyph
telegraphing "config file."

Brace font-size dropped 78→56 + letter-spacing -3 (#424 mara:
"braces cross the boundaries of the page") so the glyphs sit
comfortably inside the 120-wide front sheet with clear breathing
room on the left/right edges. The stack is shifted so the front
sheet centres on canvas-(150, 150); brace text anchors there with
`dominant-baseline=central` for true vertical centring.

## Validation

- `cargo check` clean (only pre-existing warnings).
- One-shot marker honoured: re-runs of `ensure_all` skip after the
  first success; `rm /var/lib/hyperhive/forge-agent-configs-avatar-set`
  forces re-upload (useful for icon revisions).
- Behaviour mirrors the existing `ensure_core_avatar` pattern.

Browser smoke test isn't possible from inside iris's container.
Worth eyeballing post-deploy: `http://localhost:3000/agent-configs`
should show the new avatar where the default identicon used to be.
2026-05-26 00:10:52 +02:00
..
actions.rs refactor: split long functions per review feedback; remove all #[allow] attributes 2026-05-22 19:24:44 +02:00
agent_server.rs container_view: clear live-only fields when stopped (#432) 2026-05-25 23:35:03 +02:00
approvals.rs update_meta_inputs: require operator approval, rename to request_update_meta_inputs 2026-05-22 10:49:20 +02:00
auto_update.rs rebuild_queue: switch dashboard / auto-update / manager call sites to enqueue 2026-05-23 12:05:09 +02:00
broker.rs fix: use try_from for i64/u64 casts; split format_notification into helpers 2026-05-22 19:14:22 +02:00
client.rs hive-c0re: admin socket server + client (stub dispatch) 2026-05-14 20:49:11 +02:00
container_view.rs container_view: clear live-only fields when stopped (#432) 2026-05-25 23:35:03 +02:00
coordinator.rs rebuild_queue: wire worker into coordinator + dashboard event 2026-05-23 12:05:09 +02:00
crash_watch.rs clippy: apply auto-fixable warnings across workspace (closes #265 partial) 2026-05-22 18:55:57 +02:00
dashboard.rs frontend: cut over Rust binaries to ServeDir; delete legacy assets 2026-05-23 14:51:01 +02:00
dashboard_events.rs rebuild_queue: wire worker into coordinator + dashboard event 2026-05-23 12:05:09 +02:00
events_vacuum.rs fix #265: resolve all remaining clippy warnings (cast, too_many_lines, doc nits) 2026-05-22 19:11:40 +02:00
flake_check.rs c0re: address argus review nits on #434 2026-05-25 23:52:00 +02:00
forge.rs forge: auto-set agent-configs org avatar on core start (#424) 2026-05-26 00:10:52 +02:00
lifecycle.rs lifecycle: stop before update for boot-style apply (mara@#372) 2026-05-24 13:16:31 +02:00
limits.rs limits: raise message body cap 1k → 4k (catches ~95% of conversational overflow) 2026-05-17 22:15:25 +02:00
loose_ends.rs rename: open_threads → loose_ends + cancel_thread → cancel_loose_end across wire / tools / web ui 2026-05-18 18:24:09 +02:00
main.rs c0re: reject apply_commit on duplicate flake inputs (#317) 2026-05-25 23:52:00 +02:00
manager_server.rs c0re: address argus review nits on #434 2026-05-25 23:52:00 +02:00
meta.rs topology: meta-repo agent hierarchy + ContainerView.parent (#361) 2026-05-24 04:47:55 +02:00
migrate.rs model/context: move context window config to host-level hive-c0re.nix 2026-05-20 15:49:03 +02:00
operator_questions.rs clippy: zero pedantic warnings across the tree 2026-05-18 22:09:34 +02:00
questions.rs fix question answer sender and self-cancel feedback loop 2026-05-20 20:31:25 +02:00
rebuild_queue.rs rebuild_queue: dedup MetaUpdate on (kind, agent, inputs) (closes #365) 2026-05-24 11:43:47 +02:00
reminder_scheduler.rs clippy: apply auto-fixable warnings across workspace (closes #265 partial) 2026-05-22 18:55:57 +02:00
server.rs model/context: move context window config to host-level hive-c0re.nix 2026-05-20 15:49:03 +02:00
stats_vacuum.rs fix #265: resolve all remaining clippy warnings (cast, too_many_lines, doc nits) 2026-05-22 19:11:40 +02:00
topology.rs topology: meta-repo agent hierarchy + ContainerView.parent (#361) 2026-05-24 04:47:55 +02:00