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:
@@ -2,13 +2,13 @@
|
||||
Neo4j Unified Knowledge Graph Schema Initialization
|
||||
=====================================================
|
||||
Creates the foundational schema for a unified knowledge graph used by
|
||||
sixteen AI assistants across three teams:
|
||||
seventeen AI assistants across three teams:
|
||||
|
||||
Personal Team (Iolaus):
|
||||
Shawn (General — calendar/contacts/comms), Nate (Travel),
|
||||
Hypatia (Learning), Marcus (Fitness),
|
||||
Watson (Reflection & Emotional Safety), Bourdain (Food),
|
||||
David (Arts & Culture), Cousteau (Nature), Garth (Finance),
|
||||
Watson (Reflection & Emotional Safety), Sophia (Home, Food & Living Things),
|
||||
David (Arts & Culture), Garth (Finance),
|
||||
Cristiano (Football)
|
||||
|
||||
Work Team (Mentor):
|
||||
@@ -116,7 +116,7 @@ class LifeGraphSchema:
|
||||
"CREATE CONSTRAINT dialoguenote_id IF NOT EXISTS FOR (n:DialogueNote) REQUIRE n.id IS UNIQUE",
|
||||
"CREATE CONSTRAINT dynamicpattern_id IF NOT EXISTS FOR (n:DynamicPattern) REQUIRE n.id IS UNIQUE",
|
||||
|
||||
# ── Bourdain: Food & Cooking ─────────────────────────────
|
||||
# ── Sophia: Food & Cooking ───────────────────────────────
|
||||
"CREATE CONSTRAINT recipe_id IF NOT EXISTS FOR (n:Recipe) REQUIRE n.id IS UNIQUE",
|
||||
"CREATE CONSTRAINT restaurant_id IF NOT EXISTS FOR (n:Restaurant) REQUIRE n.id IS UNIQUE",
|
||||
"CREATE CONSTRAINT ingredient_id IF NOT EXISTS FOR (n:Ingredient) REQUIRE n.id IS UNIQUE",
|
||||
@@ -131,7 +131,7 @@ class LifeGraphSchema:
|
||||
"CREATE CONSTRAINT artist_id IF NOT EXISTS FOR (n:Artist) REQUIRE n.id IS UNIQUE",
|
||||
"CREATE CONSTRAINT style_id IF NOT EXISTS FOR (n:Style) REQUIRE n.id IS UNIQUE",
|
||||
|
||||
# ── Cousteau: Nature & Living Things ─────────────────────
|
||||
# ── Sophia: Living Things ───────────────────────────────
|
||||
"CREATE CONSTRAINT species_id IF NOT EXISTS FOR (n:Species) REQUIRE n.id IS UNIQUE",
|
||||
"CREATE CONSTRAINT plant_id IF NOT EXISTS FOR (n:Plant) REQUIRE n.id IS UNIQUE",
|
||||
"CREATE CONSTRAINT tank_id IF NOT EXISTS FOR (n:Tank) REQUIRE n.id IS UNIQUE",
|
||||
@@ -782,9 +782,9 @@ Hypatia (Learning) Book, Author, LearningPath, Concept, Quote
|
||||
Marcus (Fitness) Training, Exercise, Program, PersonalRecord, BodyMetric
|
||||
Watson (Reflection) Reflection, Value, Habit, LifeEvent, Intention,
|
||||
EmotionalMemory, RelationshipTheme, DialogueNote, DynamicPattern
|
||||
Bourdain (Food) Recipe, Restaurant, Ingredient, Meal, Technique
|
||||
Sophia (Home) Recipe, Restaurant, Ingredient, Meal, Technique,
|
||||
David (Culture) Music, Film, Artwork, Playlist, Artist, Style
|
||||
Cousteau (Nature) Species, Plant, Tank, Garden, Ecosystem, Observation
|
||||
Species, Plant, Tank, Garden, Ecosystem, Observation
|
||||
Garth (Finance) Account, Investment, Asset, Liability, Budget, FinancialGoal
|
||||
Cristiano (Football) Match, Team, League, Tournament, Player, Season
|
||||
|
||||
@@ -802,7 +802,7 @@ ENGINEERING TEAM (Kottos):
|
||||
Scotty (Infra) Infrastructure, Incident
|
||||
Harper (Hacking) Prototype, Experiment
|
||||
|
||||
TOTAL: 81 node types, 16 assistants. All node types have id uniqueness
|
||||
TOTAL: 81 node types, 17 assistants. All node types have id uniqueness
|
||||
constraints. Contact/Event/Task are Universal with a `domain` field
|
||||
('personal' or 'work') disambiguating Shawn vs. Jarvis/Jeffrey ownership.
|
||||
|
||||
@@ -1183,7 +1183,7 @@ def main():
|
||||
|
||||
if test_success:
|
||||
logger.info("✓ All tests passed!")
|
||||
logger.info("\nUnified graph ready for all 16 assistants.")
|
||||
logger.info("\nUnified graph ready for all 17 assistants.")
|
||||
logger.info("Schema reference: docs/neo4j-unified-schema.md")
|
||||
logger.info("\nNext steps:")
|
||||
logger.info(" 1. Import data (Plex, Calibre, etc.)")
|
||||
|
||||
Reference in New Issue
Block a user