Wire Protocol — Caveats¶
Two clarifications that sit alongside the protocol reference. Both describe the wire as it stands today.
Registration.skills representation¶
Registration declares an agent's capabilities in the skills field. The
control plane consumes those capabilities as skill trait-names — the
lowercase strings ingest, sync, transform, emit, report — while the
typed target is the repeated Skill enum carried on CommandChannel.
| Aspect | Trait-name form | Skill enum form |
|---|---|---|
| Values | ingest · sync · transform · emit · report |
SKILL_INGEST … SKILL_REPORT |
| Where it appears | control-plane storage and the skill-subset admission check | Registration.skills and TaskSpec.skill on the wire |
| Stability | canonical for matching today | the target the wire is converging on |
An agent sends the enum; the control plane maps each enum member to its trait-name and matches a manifest's required skills against that set. Emit the full closed set your agent supports so the subset check accepts the manifest.
Migration in progress
Treat the trait-name strings as the stable identifier for skill matching and
the Skill enum as the typed wire form. New integrations read both and
compare case-insensitively.
Framework ingestion rides the Gateway RPCs¶
The atelier-sdk framework ingestion layer — its Feeds and the
SourcedOrderBook / SourcedTradeBook Books — reuses the exact three
Gateway RPCs documented for any remote agent. A
framework agent registers over CommandChannel, receives its Manifest and
Commands there, and streams reconstructed book snapshots upstream as
Envelope { ArtifactFrame } on TelemetryChannel (with raw events forwarded as
TerminalEvents for the live data/logs feed). Feeds and Books are an agent-side
reconstruction model over an agent's own artifact streams; they add no new RPCs
and no new Envelope payloads.