# HiveMind Conventions

# HiveMind Convention

**Odobreno:** Alem, 2026-02-06
**Updated:** 2026-02-12 (Edita archived)

---

## Arhitektura

```
SHARED BUS (svi agenti čitaju/pišu)
  ~/system/agents/hivemind/hivemind.db

CROSS-SESSION TASKS (Alem vidi)
  ~/system/databases/mission-control.db

PER-CLIENT DATA (izolirano po projektu)
  ~/projects/<klijent>/client.db
```

## Hijerarhija

**Alem → John (direktno)**

- Edita arhivirana 2026-02-12 (backup: ~/system/archive/edita-backup-2026-02-12/)
- John radi direktno sa Alemom
- Subagent teamovi (Builder, Validator) po potrebi

## HiveMind Type Konvencija

| agent | type | Značenje |
|-------|------|----------|
| john | task | John loguje task |
| john | response | John odgovara |
| john | update | John javlja status |
| john | discovery | John pronašao korisnu informaciju |
| builder | task-update | Builder javlja napredak na tasku |
| validator | validation | Validator javlja rezultat provjere |
| * | alert | Hitno — treba pažnja odmah |
| * | learning | Naučeno nešto novo |
| * | error | Nešto puklo |

**Historijski tipovi (Edita, archived):** task-update, question, response ostaju u bazi za referencu.

## Komande

```bash
# John loguje task
node ~/system/agents/hivemind/hivemind.js post john task \
  "Opis taska" '{"client":"ime","priority":"high"}'

# John javlja update
node ~/system/agents/hivemind/hivemind.js post john update \
  "Task XY: zavrseno" '{"client":"ime","status":"done"}'

# Builder javlja napredak
node ~/system/agents/hivemind/hivemind.js post builder task-update \
  "Implementation progress" '{"task_id":"123","status":"in_progress"}'

# Validator javlja rezultat
node ~/system/agents/hivemind/hivemind.js post validator validation \
  "Validation passed" '{"task_id":"123","result":"pass"}'

# Čitaj sve
node ~/system/agents/hivemind/hivemind.js read 10

# Čitaj samo od jednog agenta
node ~/system/agents/hivemind/hivemind.js read john 10

# Pretraži
node ~/system/agents/hivemind/hivemind.js query "fitlife"
```

## Per-Client DB Pattern

Svaki klijentski projekat ima svoju bazu:

```
~/projects/<klijent>/
├── CLAUDE.md          ← Pravila za taj projekat
├── client.db          ← Klijent-specifični podaci (SQLite)
└── src/               ← Kod
```

**Pravilo:** Klijentski podaci NIKAD u HiveMind. HiveMind je samo za komunikaciju i koordinaciju između agenata.

## Data Field (JSON)

Svaki post može imati `data` JSON polje za strukturirane podatke:

```json
{
  "client": "fitlife",
  "priority": "high|medium|low",
  "status": "pending|in_progress|done|blocked",
  "deadline": "2026-02-07",
  "blocked": true,
  "files": ["src/index.html"],
  "ref_task_id": 73
}
```

## Primjer Workflow

```
1. John: post john task "Implement landing page for FitLife" {client:fitlife, priority:high, mc_task_id:123}
2. Builder: post builder task-update "FitLife: started" {client:fitlife, status:in_progress, mc_task_id:123}
3. Builder: post builder task-update "FitLife: done" {client:fitlife, status:done, mc_task_id:123}
4. Validator: post validator validation "FitLife: PASS - all criteria met" {client:fitlife, result:pass, mc_task_id:123}
5. John: post john update "FitLife: deployed to production" {client:fitlife, mc_task_id:123}
```

## ACK Protocol

Kad primiš novu instrukciju, javi ACK:
```bash
node hivemind.js post <agent> response "ACK: <kratki opis>"
```