# Memory policy

## Rule

Do not share Hermes native memories between agents.

Each Hermes agent keeps its own private memory. Shared institutional knowledge belongs in this repository under `shared/knowledge/`.

## Why

Shared Hermes memory can become muddy:

- Agent-specific preferences collide.
- One agent's mistaken lesson can affect everyone.
- Binary or backend-specific memory stores are harder to review, diff, and repair.
- Concurrent writes may be fragile depending on the memory backend.

A plain-text shared library gives the institution a reviewable memory while preserving agent individuality.

## Storage layers

### Agent-local Hermes memory

Use for compact durable facts useful to one agent.

Examples:

- User preferences relevant to that agent.
- Stable environment facts that help that agent operate.
- Short corrections the agent should not forget.

Keep entries small and declarative.

### Shared knowledgebase

Use `/knowledge` / `shared/knowledge/` for facts that should be available to all agents.

Examples:

- System architecture.
- Deployment workflows.
- Repository layout.
- Institutional conventions.
- Non-secret operational facts.

### Skills

Use skills for reusable procedures and workflows.

Examples:

- Deploying Agent0 on Omega13.
- Reconciling gutasktool with Gitea.
- Creating or debugging Hermes cron jobs.

### gutask

Use `gutask` for live work state.

Examples:

- Current assignments.
- Task ownership.
- Work progress.
- Blockers.
- Notes on active tasks.

### Festinger / Glitch University backend

Use backend knowledge systems for structured lore, world-model facts, and knowledge graph content that should be queried dynamically.

### Sessions, logs, and runtime databases

These are useful evidence, not canonical memory.

Keep them local or ignored unless a human explicitly decides to preserve an extract.

## Promotion rule

If a local Hermes memory becomes useful to multiple agents, promote it into `shared/knowledge/` or a shared skill.

If a one-off debugging workflow becomes repeatable, promote it into a skill.

If a task note becomes a stable architecture fact, promote it into `shared/knowledge/architecture/`.

## Secrets rule

Never store secrets in:

- Hermes memory
- shared knowledge files
- skills
- prompts
- Git commits
- examples

Use placeholders only.
