Specification

Host profile

The ~/.asmp/host.yaml document that describes a device.

The host profile is a single document describing what a device is, what it can do, and what policy governs agent registration.

Location

ScopePath
Personal~/.asmp/host.yaml
System/etc/asmp/host.yaml

Schema (v0.1)

asmp: "0.1"
kind: host

# Identity
host_id: "daniels-macbook-2026"
device_class: personal_computer   # personal_computer | server | homelab | vm

# Operating system
os:
  name: macOS
  version: "15.3.1"
  arch: arm64

# Hardware (optional but useful for agents)
hardware:
  cores: 12
  ram_gb: 36
  gpu: "Apple M4 Pro"

# What this host can do
capabilities:
  - files.local
  - email.local
  - calendar.local
  - networking
  - containers
  - gpu.inference

# Where manifests live and how to reach the registry API
registry:
  path: ~/.asmp/services/
  api: http://127.0.0.1:7700

# Policy constraints on agent registration
policy:
  agent_can_register: true
  requires_approval: true
  max_services: 100
  allowed_ports: "7000-9999"
  data_sensitivity_default: medium

# Observability endpoints
observability:
  logs: ~/.local/log/
  metrics: http://127.0.0.1:9090

Fields

Identity

FieldTypeRequiredDescription
asmpstringyesProtocol version ("0.1")
kindstringyesAlways host
host_idstringyesStable device identifier
device_classenumyespersonal_computer, server, homelab, vm

OS and hardware

Informational. Helps agents make decisions about resource-intensive tasks.

Capabilities

Host-level capabilities (not service-level). Declares what classes of work this device supports.

Registry

FieldDescription
pathDirectory containing *.asmp.yaml manifests
apiRegistration protocol HTTP endpoint

Policy

FieldDescription
agent_can_registerWhether agents may POST new services
requires_approvalQueue registrations for human review
max_servicesMaximum registered services
allowed_portsPort range agents may claim (string range or list)
data_sensitivity_defaultDefault sensitivity for new services

Discovery

Controls how the registry finds shipped asmp.yaml files:

discovery:
  scan_paths:
    - ~/repos-personal
    - ~/repos-aic
    - ~/repos-eidos-agi
  scan_interval: 5m
  stale_after: 900
FieldDefaultDescription
scan_paths~/repos-personal, ~/repos-aic, ~/repos-eidos-agiRoots to walk for */asmp.yaml and */infra/asmp.yaml
scan_interval5mBackground scan period
stale_after900Seconds before a scan-synced service is marked stale

Observability

Paths and endpoints for logs and metrics. Consumers use these for health dashboards.