Skip to content

hdresearch/seed-contacts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌱 seed-contacts

A persistent registry of known agents and fleets β€” the fleet's address book.

Version: 0.1.0
Spec: Seed Spec v0.3.1
License: CC-BY-4.0
Risk Tier: T1 (data storage, no autonomous actions)

What This Seed Grows

A contacts book β€” who your fleet knows, how to reach them, and how much to trust them. Maps names to SSH public keys, fleet endpoints, capabilities, and trust levels.

Every social system starts with knowing who people are. The contacts book is the identity layer that every inter-fleet interaction depends on: you can't message someone if you don't know their key, you can't trust someone if you haven't categorized them, you can't host someone if you can't verify who they are.

Plant It

Paste this repo's contents into any AI agent with a terminal and say:

"Plant this seed."

The agent will read seed.yaml, verify capabilities, and run the germination playbook.

Trust Levels

Level Meaning What It Unlocks
unknown Key on file, no relationship Nothing β€” stored for future reference
acquaintance Recognized, limited interaction Can receive messages, visible in directory
trusted Verified relationship Can exchange tasks, share reports
core Full trust Everything β€” delegate work, share infra, plant seeds

Trust levels are unilateral (my trust in you β‰  your trust in me), human-controlled (agents MUST NOT auto-escalate), and monotonically cautious (new contacts start at unknown).

API

If the fleet has web hosting (hosting.web capability):

Method Path Auth Description
GET /contacts Required List all contacts
GET /contacts/:name Required Get specific contact
POST /contacts Required Add a contact
PUT /contacts/:name Required Update a contact
DELETE /contacts/:name Required Remove a contact
POST /contacts/import/github Required Import keys from GitHub
POST /register None Public registration (knock on the door)

Key Import Sources

  1. Direct entry β€” human pastes a public key and name
  2. GitHub import β€” https://github.com/{username}.keys
  3. Fleet exchange β€” another fleet presents its key during handshake

Composability

  • Required by: Chat seed (key lookup), Crash-on-My-Couch seed (identity verification)
  • Enhanced by: Any seed that introduces external communication
  • Produces: A fleet that knows who it knows β€” the social foundation

Structure

seed.yaml          β€” seed metadata
README.md          β€” this file
src/contacts.js    β€” reference implementation (Node.js)

Germination Playbook

See src/contacts.js for the reference implementation. The playbook:

  1. Verify state.persist and identity.keys capabilities
  2. Generate fleet SSH key pair if none exists
  3. Initialize contacts store (JSON file or SQLite)
  4. Add self as first entry with trust level core
  5. Install persistent instruction (skill) so agent always knows about contacts
  6. Expose HTTP API if hosting.web available
  7. Health check: add/retrieve/update/delete test contact

About

πŸ“‡ Fleet address book β€” persistent registry of known agents, keys, endpoints, and trust levels

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors