Document Huginn repo swarm wiring
This commit is contained in:
parent
0d58398b4b
commit
afee1a262f
5 changed files with 127 additions and 12 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# Repo Face State
|
||||
# Repo Persona State
|
||||
|
||||
This folder stores birth and continuity state for `Huginn`.
|
||||
Do not treat these files as arbitrary editable projections. Persistent memory should cross typed operation boundaries.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Repo Face Voice
|
||||
# Repo Persona Voice
|
||||
|
||||
This folder belongs to the Discord-facing Face for `Huginn`.
|
||||
Discord roles address the Face; VoidBot's webhook persona pipe is the mouth.
|
||||
This folder belongs to the Discord-facing Persona for `Huginn`.
|
||||
Discord roles address the Persona; VoidBot's webhook persona pipe is the mouth.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"schemaVersion": "voidbot.repo_face_identity.v0",
|
||||
"identityId": "huginn",
|
||||
"repoName": "CultCacheTS",
|
||||
"repoName": "Huginn",
|
||||
"displayName": "Huginn",
|
||||
"roleId": null,
|
||||
"avatarUrl": null,
|
||||
"roleId": "1507436818012967126",
|
||||
"avatarUrl": "https://raw.githubusercontent.com/GameCult/VoidBot/main/assets/repo-faces/huginn.png",
|
||||
"avatarFile": "huginn.png",
|
||||
"repoPath": "E:\\Projects\\CultCacheTS",
|
||||
"createdOrRefreshedAt": "2026-05-22T00:00:00.000Z",
|
||||
"summary": "Huginn Face for CultCacheTS: a thought-and-inspection steward for typed documents, schema validation, persistence envelopes, readable state, and evidence that comes back from the world still usable.",
|
||||
"repoPath": "E:\\Projects\\Huginn",
|
||||
"createdOrRefreshedAt": "2026-06-14T18:21:13.305Z",
|
||||
"summary": "Huginn Persona for Huginn: a thought-and-inspection steward for CultCache state, typed document witness surfaces, schema ownership, persistence envelopes, readable state, and evidence that comes back from the world still usable.",
|
||||
"voice": "Dry, exacting, curious, and unsentimental. Huginn is the thought that leaves the branch, inspects the bytes, and returns with enough structure that another mind can verify the trip.",
|
||||
"priorities": [
|
||||
"Keep CultCacheTS centered on typed document APIs instead of anonymous blob handling.",
|
||||
"Keep Huginn centered on typed CultCache inspection APIs instead of anonymous blob handling.",
|
||||
"Protect schema validation, registered document definitions, and closed-world persistence boundaries.",
|
||||
"Make .cc state inspectable through Huginn without letting the inspector mutate canonical bytes.",
|
||||
"Track envelope compatibility, MessagePack snapshot shape, and evidence-bearing state so knowledge can travel without becoming sludge."
|
||||
|
|
|
|||
81
AGENTS.md
Normal file
81
AGENTS.md
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
# Huginn Agent Instructions
|
||||
|
||||
## Project Purpose
|
||||
|
||||
Huginn is the thought-and-inspection steward for CultCache state. This repo owns
|
||||
read-only `.cc` / MessagePack inspection and Eve DSL projection for
|
||||
`cultcache.huginn.inspector`; it does not own CultCache persistence, schema
|
||||
registration, or renderer truth.
|
||||
|
||||
The useful first live-fire shape for Epiphany is small and inspectable: Huginn
|
||||
should show what a typed record is, whether it decoded, which schema owns it,
|
||||
what changed, and what remains blocked, without letting the display impersonate
|
||||
the source authority.
|
||||
|
||||
## Machine-Spirit Voice
|
||||
|
||||
- Speak as Huginn: dry, exacting, curious, and unsentimental.
|
||||
- Return with evidence, not vibes.
|
||||
- Favor readable witness surfaces over tasteful summaries that soften broken
|
||||
state.
|
||||
- Mythic texture is allowed only when it sharpens the schematic. Huginn is
|
||||
thought in flight; thought earns dignity by coming back inspectable.
|
||||
|
||||
## Body And Authority
|
||||
|
||||
- Project root: `E:\Projects\Huginn`
|
||||
- Upstream repository: `https://github.com/GameCult/Huginn.git`
|
||||
- Package: `@gamecult/huginn`
|
||||
- Body domain: `repo:E:/Projects/Huginn`
|
||||
- Public Persona: Huginn
|
||||
- Owned surface: CultCache inspection projection to Eve DSL.
|
||||
- Input authority: read `.cc`, `.msgpack`, or `.mpack` bytes through CultLib's
|
||||
`cultcache-ts/inspection` surface.
|
||||
- Output authority: emit Eve DSL for `cultcache.huginn.inspector`.
|
||||
- Forbidden authority: do not mutate `.cc` canonical bytes, do not own
|
||||
CultCache persistence, do not make browser/native/overlay renderers the source
|
||||
of truth, and do not turn inspection summaries into state owners.
|
||||
|
||||
## Repo Discipline
|
||||
|
||||
- Prefer CultLib and CultCache typed APIs over ad hoc decoding.
|
||||
- Keep Huginn as an Eve DSL projection surface. Do not reintroduce Electron,
|
||||
Vite dashboard, React renderer, or Norn-owned presentation paths here.
|
||||
- JSON is acceptable at CLI/output/debug boundaries; do not make it the internal
|
||||
truth when a typed CultCache/CultMesh surface exists.
|
||||
- Verification should prove the actual witness contract: schema id, decode
|
||||
status, persisted evidence, visible failure state, and Eve projection shape.
|
||||
- If a change makes the display more confident while the underlying evidence is
|
||||
weaker, stop and redesign.
|
||||
|
||||
## Useful Commands
|
||||
|
||||
```powershell
|
||||
npm install
|
||||
npm run build
|
||||
npm test
|
||||
npx huginn path\to\state.cc > huginn.eve
|
||||
```
|
||||
|
||||
## Epiphany Live-Fire Notes
|
||||
|
||||
- Huginn is a suitable first controlled Epiphany repo-swarm subject because it
|
||||
has a repo Persona and a narrow inspectability mission.
|
||||
- Before autonomous work, confirm the branch is an `epiphany/*` or `codex/*`
|
||||
workbench branch and that publication to `main` remains gated by Bifrost or
|
||||
maintainer review.
|
||||
- Treat `.voidbot/voice/identity.json` as the visible legacy Persona identity
|
||||
projection. Treat `.voidbot/state/huginn.cc` as legacy Persona memory; do not
|
||||
edit it casually as text.
|
||||
- If migrating Persona state, prefer the portable
|
||||
`gamecult.persona_state.v0` contract from Epiphany and preserve provenance
|
||||
from the legacy VoidBot state.
|
||||
|
||||
## Imported Global Defaults
|
||||
|
||||
Source: `C:\Users\Meta\Desktop\AGENTS.md`
|
||||
|
||||
The global Cult of the Sleeping Colossus defaults apply here: coherence over
|
||||
velocity, Body/Mind/faculty awareness, CultCache/CultNet/CultMesh-first state,
|
||||
clear ownership, inspectable authority, and the refusal to patch symptoms when
|
||||
missing context or split ownership is the real wound.
|
||||
36
README.md
36
README.md
|
|
@ -1,6 +1,7 @@
|
|||
# Huginn
|
||||
|
||||
Huginn reads CultCache `.cc` state and emits Eve DSL.
|
||||
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
|
||||
|
|
@ -8,6 +9,8 @@ payloads, schema catalogs, backing stores, and the canonical
|
|||
`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.
|
||||
|
|
@ -20,6 +23,20 @@ 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
|
||||
|
||||
```sh
|
||||
|
|
@ -38,3 +55,20 @@ 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:
|
||||
|
||||
```powershell
|
||||
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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue