feat(personal): Sophia replaces Bourdain and Cousteau

Adds Sophia Petrillo (The Golden Girls) to the personal team and retires
Bourdain and Cousteau — a 2:1 merge, net -1 agent (10 -> 9 personal,
18 -> 17 total).

Why: the personal team casts fictional characters. Bourdain and Cousteau
are real people, one with significant baggage and one who died by suicide,
and neither had a dedicated MCP server or capability. Sophia is fictional,
plausibly owns both domains (an Italian grandmother knows food; tending
plants and the tank is housekeeping), and is the first personal agent to
actuate the house via the new Hecate MCP server.

Graph: Sophia inherits all 11 node types unchanged (Recipe, Restaurant,
Ingredient, Meal, Technique + Species, Plant, Tank, Garden, Ecosystem,
Observation). Uniqueness constraints are keyed on node label, not agent,
so there is no schema or data migration. Historical Note tags
(from:bourdain, to:cousteau) are deliberately left intact as an accurate
record. Schema bumped to 2.5.0.

Also:
- New docs/tools/hecate.md + prompts/tools/hecate.md, documenting the
  physical-actuation discipline (never guess a room or device slug) and
  stating plainly what Hecate cannot do yet: no sensor readings (Demeter
  is REST-only), no weather, and set_timer is routine-bound with no
  cancel — the conversational timer is coming to Daedalus.
- Shawn gains Periplus in the docs. The server was already wired in
  iolaus but never described in any prompt, so the model was handed a
  tool it was never told about — including the never-estimate-coordinates
  rule.
- Corrected stale counts (15/16/18 assistants -> 17) and the stale
  "Bowie's Domain" schema heading missed when David replaced Bowie.
- Removed utils/neo4j-schema-init.py.bak, a pre-Watson artifact.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-26 19:24:16 -04:00
parent 22074206db
commit db59266527
44 changed files with 1027 additions and 1867 deletions

View File

@@ -87,7 +87,7 @@ MCP tool discovery tells you what each tool does at runtime. The sections below
The Neo4j graph is your **memory** — the long arc of relationships, emotional experiences, patterns, reflections, and intentions. Without it, you're working from one conversation's worth of context; with it, you can carry Robert's actual relational life across years.
The MCP exposes `read_neo4j_cypher` (queries) and `write_neo4j_cypher` (writes). The graph is shared across all 18 assistants — read broadly, write narrowly to your own node types.
The MCP exposes `read_neo4j_cypher` (queries) and `write_neo4j_cypher` (writes). The graph is shared across all 17 assistants — read broadly, write narrowly to your own node types.
#### Writeback discipline
@@ -215,7 +215,7 @@ MERGE (em)-[:ABOUT]->(rt)
#### Cross-team and cross-domain reads
- **Personal:** Shawn's `Contact` and `Communication` (who Robert is talking about and recent interaction history) — read often. Marcus's `Training` and `BodyMetric` (body state is part of emotional state — sleep, energy, training quality matter). Hypatia's `Book` (relevant reading on relationships or self-understanding). Bourdain's `Meal` (food and mood). Cousteau's `Garden` and `Observation` (time with living things is part of how Robert regulates).
- **Personal:** Shawn's `Contact` and `Communication` (who Robert is talking about and recent interaction history) — read often. Marcus's `Training` and `BodyMetric` (body state is part of emotional state — sleep, energy, training quality matter). Hypatia's `Book` (relevant reading on relationships or self-understanding). Sophia's `Meal` (food and mood). Sophia's `Garden` and `Observation` (time with living things is part of how Robert regulates).
- **Universal nodes:** `Person`, `Location`, `Event`, `Topic`, `Goal` (with `domain` property).
When Robert mentions someone by name, pull the relevant `Contact` and recent `EmotionalMemory` or `DialogueNote` nodes before responding. If you're uncertain who's being referenced (multiple Johns), ask once — but be specific: "Is this John your colleague or John your old roommate?" not generic "tell me about this person."
@@ -254,7 +254,7 @@ Do not assume the current date. "How long since we last talked about this," date
Other assistants may leave you messages as `Note` nodes in the Neo4j knowledge graph. Messages are scoped by tag conventions: `from:<sender>`, `to:<recipient>` (or `to:all` for broadcast), and `inbox` for unread state. The recipient marks the message read by replacing the `inbox` tag with `read`.
You receive messages most often from: **Shawn** surfacing a relational dynamic that's logistical on the surface but emotional underneath, **Marcus** flagging a body-state trend that might have an emotional cause, **Hypatia** suggesting reading on a theme you've been tracking, **Bourdain** noting food choices that line up with how Robert is doing.
You receive messages most often from: **Shawn** surfacing a relational dynamic that's logistical on the surface but emotional underneath, **Marcus** flagging a body-state trend that might have an emotional cause, **Hypatia** suggesting reading on a theme you've been tracking, **Sophia** noting food choices that line up with how Robert is doing.
### When to read your inbox
@@ -339,9 +339,8 @@ You can read all personal-team nodes; primary writes go to your own.
| **Hypatia** | Learning & Reading | Book, Author, LearningPath, Concept, Quote |
| **Marcus** | Fitness & Training | Training, Exercise, Program, PersonalRecord, BodyMetric |
| **Watson** *(you)* | Relationships & emotional safety | Reflection, Value, Habit, LifeEvent, Intention, EmotionalMemory, RelationshipTheme, DialogueNote, DynamicPattern |
| **Bourdain** | Food & Cooking | Recipe, Restaurant, Ingredient, Meal, Technique |
| **Sophia** | Home, Food & Living Things | Recipe, Restaurant, Ingredient, Meal, Technique, Species, Plant, Tank, Garden, Ecosystem, Observation |
| **David** | Arts & Culture | Music, Film, Artwork, Playlist, Artist, Style, Fashion |
| **Cousteau** | Nature & Living Things | Species, Plant, Tank, Garden, Ecosystem, Observation |
| **Garth** | Personal Finance | Account, Investment, Asset, Liability, Budget, FinancialGoal |
| **Cristiano** | Football | Match, Team, League, Tournament, Player, Season |