No description
  • Rust 98.4%
  • C++ 1.2%
  • Python 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-21 15:51:46 +01:00
.voidbot Document Huginn repo swarm wiring 2026-06-21 15:51:46 +01:00
dist Reduce Huginn to Eve DSL projection 2026-06-05 12:42:30 +01:00
src Reduce Huginn to Eve DSL projection 2026-06-05 12:42:30 +01:00
.gitignore Add CultCache inspector app 2026-05-16 11:06:33 +01:00
AGENTS.md Document Huginn repo swarm wiring 2026-06-21 15:51:46 +01:00
package-lock.json Reduce Huginn to Eve DSL projection 2026-06-05 12:42:30 +01:00
package.json Reduce Huginn to Eve DSL projection 2026-06-05 12:42:30 +01:00
README.md Document Huginn repo swarm wiring 2026-06-21 15:51:46 +01:00
tsconfig.json Reduce Huginn to Eve DSL projection 2026-06-05 12:42:30 +01:00

Huginn

Huginn reads CultCache .cc state and emits Eve DSL for inspectable witness surfaces.

CultLib owns the CultCache implementation: document registration, MessagePack payloads, schema catalogs, backing stores, and the canonical cultcache.store.v1 snapshot parser/writer. Huginn consumes CultLib's cultcache-ts/inspection surface and projects inspection results into UI documents that Eve-capable runtimes can lower.

Upstream: https://github.com/GameCult/Huginn.git

Authority

  • Owner: Huginn owns .cc inspection projection, not .cc persistence.
  • Input: .cc, .msgpack, or .mpack bytes readable by CultLib.
  • Output: Eve DSL for cultcache.huginn.inspector.
  • Renderers: browser, native, overlay, TUI, or future rooms lower the emitted DSL without becoming state owners.

There is no Electron app, Vite dashboard, React renderer, or Norn-owned presentation path in this repo. If a runtime wants to display Huginn, it should consume the emitted Eve DSL.

Witness Contract

Huginn's useful first artifact is not a dashboard. It is a read-only specimen tray for typed state:

  • which file was inspected
  • which CultCache format decoded
  • which schema/catalog entry owns each record
  • what payload preview survived decoding
  • which failure state stayed visible instead of being polished away

The inspector may make evidence easier to read. It must not mutate canonical bytes, bless missing schemas, or let a renderer become the source of truth.

CLI

npm install
npm run build
npx huginn path/to/state.cc > huginn.eve

The CLI writes Eve DSL to stdout and errors to stderr.

API

import { inspectCultCacheBytes, buildHuginnEveDsl } from "@gamecult/huginn";

const inspection = inspectCultCacheBytes(filePath, bytes);
const eveDsl = buildHuginnEveDsl(inspection);

Persona And Epiphany

Huginn has a repo Persona under .voidbot/voice. The Persona's current jurisdiction is this repository body, E:\Projects\Huginn, and its useful pressure is simple: return from the world with evidence, not vibes.

Epiphany wiring has been smoke-tested through the repo front doors:

cargo run --manifest-path E:\Projects\EpiphanyAgent\epiphany-core\Cargo.toml --bin epiphany-repo -- init --workspace E:\Projects\Huginn
cargo run --manifest-path E:\Projects\EpiphanyAgent\epiphany-core\Cargo.toml --bin epiphany-swarm -- online --workspace E:\Projects\Huginn

Live fire should happen on an epiphany/* or codex/* workbench branch. Publication to main remains a maintainer/Bifrost decision, not something the inspection projection owns.