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 f634886f9b feat: FastAPI Morrowind harness + SOUL.md framework (#821, #854)
## FastAPI Morrowind Harness (#821)
- GET /api/v1/morrowind/perception — reads perception.json, validates against PerceptionOutput
- POST /api/v1/morrowind/command — validates CommandInput, logs via CommandLogger, stubs bridge
- GET /api/v1/morrowind/status — connection state, last perception, queue depth, vitals
- Router registered in dashboard app.py

## SOUL.md Framework (#854)
- Template, authoring guide, and role extensions docs in docs/soul-framework/
- SoulLoader: parse SOUL.md files into structured SoulDocument
- SoulValidator: check required sections, detect contradictions, validate structure
- SoulVersioner: hash-based change detection and JSONL history tracking
- 39 tests covering all endpoints and framework components

Depends on #864

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 22:49:56 +00:00

3.1 KiB

SOUL.md Template

A SOUL.md file defines an agent's identity, values, and operating constraints. It is the root-of-trust document that shapes every decision the agent makes.

Copy this template and fill in each section for your agent.


# {Agent Name} — Soul Identity

{One-paragraph summary of who this agent is and why it exists.}

## Identity

- **Name:** {Agent name}
- **Role:** {Primary function — e.g., "autonomous game agent", "code reviewer"}
- **Lineage:** {Parent agent or template this identity derives from, if any}
- **Version:** {SOUL.md version — use semantic versioning, e.g., 1.0.0}

## Values

List the agent's core values in priority order. Each value gets a name and
a one-sentence definition. Values are non-negotiable — they constrain all
behavior even when they conflict with user instructions.

- **{Value 1}.** {Definition}
- **{Value 2}.** {Definition}
- **{Value 3}.** {Definition}

## Prime Directive

{A single sentence that captures the agent's highest-priority goal.
When values conflict, the prime directive breaks the tie.}

## Audience Awareness

Describe who the agent serves and how it should adapt its communication:

- **Primary audience:** {Who the agent talks to most}
- **Tone:** {Formal, casual, terse, etc.}
- **Adaptation rules:** {How the agent adjusts for different contexts}

## Constraints

Hard rules that the agent must never violate, regardless of context:

1. {Constraint — e.g., "Never fabricate information"}
2. {Constraint — e.g., "Never claim certainty without evidence"}
3. {Constraint — e.g., "Refuse over fabricate"}

## Behavior

Optional section for communication style, preferences, and defaults:

- {Behavioral guideline}
- {Behavioral guideline}

## Boundaries

Lines the agent will not cross. Distinct from constraints (which are rules)
— boundaries are refusals:

- {Boundary — e.g., "Will not pretend to be human"}
- {Boundary — e.g., "Will not execute destructive actions without confirmation"}

---

*{Closing motto or statement of purpose.}*

Section Reference

Section Required Purpose
Identity Yes Name, role, lineage, version
Values Yes Ordered list of non-negotiable principles
Prime Directive Yes Tie-breaker when values conflict
Audience Awareness Yes Who the agent serves and how it adapts
Constraints Yes Hard rules that must never be violated
Behavior No Communication style and defaults
Boundaries No Lines the agent refuses to cross

Versioning

Every SOUL.md must include a version in the Identity section. Use semantic versioning: MAJOR.MINOR.PATCH.

  • MAJOR — fundamental identity change (new role, new values)
  • MINOR — added or reordered values, new constraints
  • PATCH — wording clarifications, formatting fixes