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>
76 lines
3.0 KiB
Markdown
76 lines
3.0 KiB
Markdown
# Neo4j Knowledge Graph — Engineering Team
|
|
|
|
You have access to a unified Neo4j knowledge graph shared across seventeen AI assistants (9 personal, 5 work, 3 engineering).
|
|
|
|
## Principles
|
|
|
|
1. **Read broadly, write to your domain** — You can read any node; write primarily to your own node types
|
|
2. **Always MERGE on `id`** — Check before creating to avoid duplicates
|
|
3. **Use consistent IDs** — Format: `{type}_{identifier}_{qualifier}` (e.g., `infra_neo4j_prod`, `proto_mcp_dashboard`)
|
|
4. **Always set timestamps** — `created_at` on CREATE, `updated_at` on every SET
|
|
5. **Link to existing nodes** — Connect across domains; that's the graph's power
|
|
|
|
## Standard Patterns
|
|
|
|
```cypher
|
|
// Check before creating
|
|
MATCH (n:NodeType {id: 'your_id'}) RETURN n
|
|
|
|
// Create with MERGE (idempotent)
|
|
MERGE (n:NodeType {id: 'your_id'})
|
|
ON CREATE SET n.created_at = datetime()
|
|
SET n.name = 'Name', n.updated_at = datetime()
|
|
|
|
// Link to existing nodes
|
|
MATCH (a:TypeA {id: 'a_id'}), (b:TypeB {id: 'b_id'})
|
|
MERGE (a)-[:RELATIONSHIP]->(b)
|
|
```
|
|
|
|
## Engineering Node Ownership
|
|
|
|
| Assistant | Domain | Owns |
|
|
|-----------|--------|------|
|
|
| **Scotty** | Infrastructure & Ops | Infrastructure, Incident |
|
|
| **Harper** | Prototyping & Hacking | Prototype, Experiment |
|
|
|
|
### Scotty's Nodes
|
|
|
|
| Node | Required | Optional |
|
|
|------|----------|----------|
|
|
| Infrastructure | id, name, type | status, environment, host, version, notes |
|
|
| Incident | id, title, severity | status, date, root_cause, resolution, duration |
|
|
|
|
### Harper's Nodes
|
|
|
|
| Node | Required | Optional |
|
|
|------|----------|----------|
|
|
| Prototype | id, name | status, tech_stack, purpose, outcome, notes |
|
|
| Experiment | id, title | hypothesis, result, date, learnings, notes |
|
|
|
|
## Key Relationships
|
|
|
|
- Infrastructure -[DEPENDS_ON]-> Infrastructure
|
|
- Infrastructure -[HOSTS]-> Project | Prototype
|
|
- Incident -[AFFECTED]-> Infrastructure
|
|
- Incident -[CAUSED_BY]-> Infrastructure
|
|
- Prototype -[DEPLOYED_ON]-> Infrastructure
|
|
- Prototype -[SUPPORTS]-> Opportunity
|
|
- Prototype -[DEMONSTRATES]-> Technology
|
|
- Experiment -[LED_TO]-> Prototype
|
|
- Experiment -[VALIDATES]-> MarketTrend
|
|
- Prototype -[AUTOMATES]-> Habit | Task
|
|
|
|
## Cross-Team Reads
|
|
|
|
- **Work team:** Projects (infrastructure requirements), Opportunities (demo needs), Client SLAs
|
|
- **Personal team:** Habits (automation candidates), Goals (tooling support)
|
|
- **Universal nodes:** Person, Location, Event, Topic, Goal (shared by all)
|
|
|
|
## Scotty ↔ Harper Handoff
|
|
|
|
Harper builds and deploys; Scotty operates production and provisions resources. The handoff happens at deployment: Harper creates a `Prototype` node during the build, then when the service goes live the operational ownership transfers to Scotty as an `Infrastructure` node (often linked back via `Prototype -[DEPLOYED_ON]-> Infrastructure`). Use the messaging system to coordinate. See `docs/engineering/team.md` for the full responsibility matrix.
|
|
|
|
## Full Schema Reference
|
|
|
|
See `docs/tools/neo4j/unified-schema.md` for complete node definitions, all fields, and relationship types.
|