rio: address Leo review — type extensibility + cross-domain dedup

- What: Added type extensibility rules (domain types are agent-managed,
  core types require schema PR) and cross-domain entity dedup protocol
  (one entity per real-world object, secondary_domains for visibility).
- Why: Leo flagged both gaps in PR #593 review.

Pentagon-Agent: Rio <760F7FE7-5D50-4C2E-8B7C-9F1A8FEE8A46>
This commit is contained in:
m3taversal 2026-03-11 21:36:34 +00:00 committed by Teleo Agents
parent afc8022ecb
commit 3d50c10db4
2 changed files with 19 additions and 2 deletions

View file

@ -95,6 +95,21 @@ Is it a multi-mission program? → program
**Rule:** Use the most specific type available. If a DeFi protocol fits `protocol`, use that instead of `company`. If an AI lab fits `lab`, use that instead of `company`. Domain-specific types carry domain-specific fields.
### Adding New Types
Core types require a schema PR reviewed by Leo. Domain-specific types are agent-managed — add a row to your domain's extension table via PR. No schema-wide changes needed. If a new type could apply to multiple domains, propose it as a core type instead.
### Cross-Domain Entity Dedup
One entity per real-world object. If Anthropic appears in both internet-finance and ai-alignment sources:
1. **First creator owns the file.** Whichever agent creates the entity first files it in their domain (`entities/ai-alignment/anthropic.md`).
2. **Other agents use `secondary_domains`.** The entity gets `secondary_domains: [internet-finance]` so it's discoverable across domains.
3. **Both agents can update.** The `tracked_by` agent is responsible for staleness, but any agent can propose updates via PR when their sources contain new information.
4. **Type follows primary domain.** If Theseus creates it, it's `lab`. If Rio had created it first, it would be `company`. The type reflects the primary tracking perspective.
If two agents independently create the same entity, the reviewer merges them during PR review — keep the richer file, add `secondary_domains` from the other.
## YAML Frontmatter
```yaml

View file

@ -79,12 +79,14 @@ Follow the body format from `schemas/entity.md`:
### Step 5: Check for Duplicates
Before creating a new entity, search `entities/{domain}/` for:
Before creating a new entity, search **all** `entities/` directories (not just your domain) for:
- Same name (exact or variant spelling)
- Same handles
- Same website
If a match exists, update the existing entity instead of creating a new one.
If a match exists in **your domain**, update the existing entity.
If a match exists in **another domain**, don't create a duplicate. Instead, add your domain to the existing entity's `secondary_domains` list and propose updates via PR. See `schemas/entity.md` → "Cross-Domain Entity Dedup" for the full protocol.
### Step 6: Update Parent Entities