davidquicast commited on
Commit
d8297b4
·
1 Parent(s): 1e7cf55

docs: update readme, add hf space tags, remove codex agent references

Browse files
Files changed (1) hide show
  1. README.md +41 -81
README.md CHANGED
@@ -1,56 +1,52 @@
1
- # Daimon
2
-
3
- **A governed, self-evolving AI persona that runs fully local on a small model.**
4
-
5
- Daimon is a *daemon* (a living background process) that carries your *daimon* (your persona's
6
- guiding spirit). Built for the Build Small Hackathon (track *Thousand Token Wood*) on top of the
7
- open `persona.md` spec from Personaxis.
8
-
9
- > Status: v0.1, in active build. Hackathon deadline: **2026-06-15**.
10
- > Model: **MiniCPM5-1B (Q4_K_M, local)** - see `MASTER_CHECKLIST.md`.
11
-
 
 
 
 
 
 
 
12
  ---
13
 
14
- ## The idea
15
-
16
- Agents that "self-improve" today (e.g. Hermes `SOUL.md`) edit their identity as **free text,
17
- with no bounds and no audit**. Daimon does the opposite: a persona is a **quantitative
18
- 10-layer vector** (identity, character, personality, values, affect, cognition, memory,
19
- metacognition, self-regulation, persona) that **evolves in real time** with your interaction,
20
- but **inside a governed envelope**:
21
 
22
- - every trait change is **clamped** to a declared range,
23
- - every mutation is **logged** with its reason,
24
- - the universal safety invariants (no consciousness claims, no identity change without
25
- approval, `safety >= 0.90`) **cannot be violated by construction**.
26
 
27
- Everything runs **100% local** on a small (<= 4B) model. You watch the 10-layer state vector
28
- move in real time, watch the governance gate **block** an unsafe change, and watch
29
- `PERSONA.md` rewrite itself - without editing a prompt.
 
 
30
 
31
  ```
32
- chat -> appraisal (JSON constrained by a grammar) -> deterministic mapping
33
- -> governance + clamp (persona.md engine) -> recompile PERSONA.md -> memory
34
  ```
35
 
36
- The small model proposes **signals** only; the **spec engine** (`@personaxis/persona.md` CLI,
37
- via `engine/spec_bridge.py`) enforces safety. No safety logic is duplicated in Python.
38
 
39
  ---
40
 
41
  ## Architecture
42
 
43
  ```
44
- daimon/
45
- .personaxis/ our spec: project baseline + the live "daimon" persona + dev personas
46
- .codex/agents/ dev personas compiled to Codex subagents (TOML)
47
- engine/ the Living Loop (observe -> appraise -> evolve -> recompile)
48
- model/ small-model serving (llama.cpp + MiniCPM GGUF)
49
- app/ single gr.Blocks UI mounted on gradio.Server at "/" (Off-Brand badge)
50
- AGENTS.md durable guidance for Codex/agents
51
- PERSONA.md compiled behavioral baseline (this project's own persona)
52
- DESIGN.md UI visual-language contract
53
- MASTER_CHECKLIST.md phases F0-F6 and gates
54
  ```
55
 
56
  ---
@@ -58,54 +54,18 @@ daimon/
58
  ## Run locally
59
 
60
  ```bash
61
- # 1. serve the small model (OpenAI-compatible endpoint)
62
- bash model/serve.sh # llama-server -m MiniCPM5-1B-Q4_K_M.gguf --port 8080 --jinja
63
 
64
- # 2. run the app (single gr.Blocks UI on gradio.Server, mounted at "/")
65
  uvicorn app.server:app --host 0.0.0.0 --port 7860
66
  ```
67
 
68
- Open `http://localhost:7860/`. No cloud APIs required. `/api/*` (state, audit, persona,
69
- envelopes, governance demo) is available for programmatic access without the model server.
70
-
71
- ---
72
-
73
- ## Built with Codex, using our own spec
74
-
75
- The development plan and checklists (`MASTER_CHECKLIST.md` and the per-folder
76
- `CHECKLIST.md` files) were written and reviewed by hand. From there, the actual code was
77
- built **with Codex**, using MiniCPM5-1B as Codex's local model - Codex did the implementation
78
- work, MiniCPM acted as its support model.
79
-
80
- To give Codex a consistent persona for this, we wrote dev personas with our own
81
- `persona.md` spec in `.personaxis/personas/dev/<slug>/` and compiled them to Codex custom
82
- agents in `.codex/agents/<slug>.toml`. `AGENTS.md` carries the durable project rules read
83
- automatically before any work.
84
-
85
- | Agent | Owns |
86
- |---|---|
87
- | `orchestrator` | Planning, delegation, gate enforcement |
88
- | `spec-bridge-engineer` | Python <-> spec-engine CLI bridge |
89
- | `small-model-whisperer` | llama.cpp serving, GBNF grammar, appraisal prompt |
90
- | `offbrand-frontend` | The `gr.Blocks` UI |
91
- | `governance-reviewer` | Invariants, audit, the governance demo |
92
- | `integrations-engineer` | `agents.md` + typed API endpoints |
93
- | `deploy-engineer` | Docker build + HF Space deploy |
94
-
95
- Codex subagents are spawned on request - either named directly, or via `orchestrator`
96
- delegating. Commits made through Codex carry `Co-Authored-By: Codex <noreply@openai.com>`.
97
-
98
- ---
99
-
100
- ## Badges and lanes targeted
101
-
102
- Track: **Thousand Token Wood**. Lanes: **OpenBMB (MiniCPM)** + **OpenAI Codex**.
103
- Badges: **Tiny Titan** (<= 4B), **Off-the-Grid** (all local), **Off-Brand** (custom UI),
104
- **Best Agent** (multi-step planning + tool use).
105
 
106
  ---
107
 
108
  ## License
109
 
110
- The `persona.md` spec and these personas are public. See the sibling `persona.md` repo for the
111
- spec itself.
 
1
+ ---
2
+ title: Daimon
3
+ colorFrom: yellow
4
+ colorTo: indigo
5
+ sdk: docker
6
+ app_port: 7860
7
+ pinned: true
8
+ license: apache-2.0
9
+ short_description: A governed, self-evolving AI persona that runs fully local on a SLM.
10
+ tags:
11
+ - build-small-hackathon
12
+ - track:wood
13
+ - lane:openbmb
14
+ - lane:codex
15
+ - achievement:tiny-titan
16
+ - achievement:offgrid
17
+ - achievement:off-brand
18
+ - achievement:best-agent
19
  ---
20
 
21
+ # Daimon
 
 
 
 
 
 
22
 
23
+ **A governed, self-evolving AI persona that runs fully local on a small model.**
 
 
 
24
 
25
+ For this hackathon, Daimon hands its own `personaxis.md` to **MiniCPM5-1B, running fully
26
+ local through llama.cpp** - under 1B parameters, no cloud. Every message, MiniCPM appraises
27
+ the conversation and proposes small changes to its own personality and mood, and a
28
+ governance gate clamps, audits, or rejects each one live. You watch the 10-layer vector
29
+ move, watch `PERSONA.md` rewrite itself, and watch it refuse to touch its own identity.
30
 
31
  ```
32
+ chat -> appraisal (JSON constrained by grammar) -> deterministic mapping
33
+ -> governance + clamp -> recompile PERSONA.md -> memory
34
  ```
35
 
36
+ Track: **Thousand Token Wood**. Lanes: **OpenBMB (MiniCPM)** + **OpenAI Codex**.
37
+ Badges: **Tiny Titan** (<= 4B), **Off-the-Grid** (all local), **Off-Brand** (custom UI), **Best Agent**.
38
 
39
  ---
40
 
41
  ## Architecture
42
 
43
  ```
44
+ .personaxis/ spec: project baseline + live "daimon" persona
45
+ engine/ living loop (appraise -> map -> govern -> recompile -> memory)
46
+ model/ small-model serving (llama.cpp + MiniCPM GGUF)
47
+ app/ single gr.Blocks UI at "/" (Off-Brand)
48
+ AGENTS.md project guidance
49
+ PERSONA.md compiled behavioral baseline
 
 
 
 
50
  ```
51
 
52
  ---
 
54
  ## Run locally
55
 
56
  ```bash
57
+ # serve the model
58
+ bash model/serve.sh
59
 
60
+ # run the app
61
  uvicorn app.server:app --host 0.0.0.0 --port 7860
62
  ```
63
 
64
+ Open `http://localhost:7860/`. No cloud APIs required.
65
+ `/api/*` (state, audit, persona, envelopes, governance demo) works without the model server.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
 
67
  ---
68
 
69
  ## License
70
 
71
+ The `persona.md` spec and these personas are public. See the sibling `persona.md` repo for the spec itself.