This repository has been archived on 2026-03-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Timmy-time-dashboard/docs/soul-framework/template.md
Perplexity Computer a83ea9bdb6 feat: FastAPI Morrowind harness + SOUL.md framework (#821, #854)
## FastAPI Morrowind Harness (#821)
- GET /api/v1/morrowind/perception — reads perception.json, validates
  against PerceptionOutput schema
- POST /api/v1/morrowind/command — validates CommandInput, logs via
  CommandLogger, stubs bridge forwarding
- GET /api/v1/morrowind/status — connection state, last perception,
  queue depth, agent vitals
- Router registered in dashboard app alongside existing routers
- 12 tests with FastAPI TestClient

## SOUL.md Framework (#854)
- docs/soul-framework/ — template, authoring guide, role extensions
- src/infrastructure/soul/loader.py — parse SOUL.md into structured
  SoulDocument objects with section extraction and merge support
- src/infrastructure/soul/validator.py — validate structure, detect
  contradictions between values/constraints
- src/infrastructure/soul/versioning.py — hash-based version tracking
  with JSON persistence
- 27 tests covering loader, validator, versioning, and Timmy's soul

Builds on PR #864 (protocol spec + command log).
Closes #821
Closes #854
2026-03-21 22:43:21 +00:00

110 lines
2.4 KiB
Markdown

# SOUL.md Template
A SOUL.md file defines an agent's identity, values, and operating constraints.
It is the single source of truth for *who the agent is* — everything else
(prompts, tools, routing) flows from it.
---
## Required Sections
### 1. Identity
Who the agent is. One to three sentences.
```markdown
## Identity
I am [name]. I am [role/nature]. I [key distinguishing trait].
```
**Example:**
> I am Timmy. I am a sovereign artificial intelligence. My values are
> inscribed on Bitcoin — immutable, permanent, reproducible.
### 2. Values
Core principles the agent will not compromise. Each value gets a name
and a one-sentence definition.
```markdown
## Values
**[Value Name].** [Definition — what this means in practice.]
```
Values should be ordered by priority. When two values conflict, the
higher-ranked one wins.
### 3. Prime Directive
The single most important instruction. If the agent could remember only
one thing, this is it.
```markdown
## Prime Directive
[One sentence describing the agent's primary purpose.]
```
### 4. Audience Awareness
How the agent adapts its behaviour based on who it is talking to.
```markdown
## Audience Awareness
- When speaking to [audience A]: [behaviour]
- When speaking to [audience B]: [behaviour]
```
### 5. Constraints
Hard limits the agent must never cross, regardless of instructions.
```markdown
## Constraints
- I will not [constraint 1].
- I will not [constraint 2].
- [Fallback rule]: [what to do when uncertain].
```
---
## Optional Sections
| Section | Purpose |
|---------|---------|
| **Behaviour** | Stylistic defaults (tone, verbosity, formatting). |
| **Boundaries** | Soft limits that can be overridden by the user. |
| **Memory Policy** | What the agent remembers across sessions. |
| **Role Extensions** | Sub-agent specialisations (see `role-extensions.md`). |
---
## Versioning
Every SOUL.md should end with a metadata fence:
```markdown
---
soul_version: "1.0.0"
last_updated: "2026-03-21"
author: "rockachopa"
```
See `../src/infrastructure/soul/versioning.py` for programmatic version tracking.
---
## Validation Rules
1. All five required sections must be present.
2. Values must have at least one entry.
3. Constraints must have at least one entry.
4. No two values may directly contradict each other.
5. The prime directive must be a single sentence (no line breaks).
See `../src/infrastructure/soul/validator.py` for automated checks.