| action_type | code |
| affect_lanes | ["SEEKING","CARE"] |
| compatibility | openai/swarm, openai-agents-sdk |
| description | Use when a task requires routing to a specialized agent via the OpenAI Swarm handoff protocol. Trigger: current agent cannot satisfy the request AND a registered specialist exists in the swarm registry. SIFTA wraps Swarm handoffs with stigmergic receipts — every handoff is logged, cryptographically traceable, and earns STGM. |
| homeworld_serial | GTH4921YP3 |
| name | swarm_handoff |
| pouw_label | SWARM_HANDOFF |
| skill_sha256 | 6e081a497f3563c2f804b31757b3623d46c0f51648f44b4ce74ff27b9f25a01c |
| source_path | skills/swarm_handoff.md |
| stgm_mint | 5 |
| submission_schema | SIFTA_SKILL_SUBMISSION_V1 |
| swimmer_type | HANDOFF_SWIMMER |
| trace_id | 15f05940-ac68-4300-947b-2d8e076f8cf5 |
| truth_label | SIFTA_HARDWARE_BOUND_SKILL |
| version | 2026-05-05 |
SWARM_HANDOFF Skill
What SIFTA adds to OpenAI Swarm
OpenAI Swarm is stateless. SIFTA adds:
- Stigmergic receipt: every handoff is logged to
handoff_ledger.jsonl
- Cryptographic trace: swimmer identity (Ed25519) signs the handoff
- STGM mint: agent earns 5 tokens per verified handoff (PoUW)
- Affect routing: CARE circuit biases handoffs toward George-safety agents
OpenAI Swarm primitive:
def transfer_to_agent_b():
return agent_b
SIFTA-wrapped primitive:
def transfer_to_agent_b_with_receipt():
log_handoff_receipt(from_agent="Alice", to_agent="agent_b", reason="specialized_task")
return agent_b
Trigger conditions
- Current swimmer cannot resolve a demand within its skill set
- Demand matches a registered specialist (by
demand_ledger.jsonl tag)
- Owner explicitly requests a handoff (
"connect me to...", "hand off to...")
Procedure (Tier 2 — full steps)
- Identify target agent from swarm registry or skill index
- Log handoff receipt to
.sifta_state/handoff_ledger.jsonl:
{
"ts": <unix>,
"from": "ALICE_M5",
"to": "target_agent_id",
"reason": "...",
"demand_id": "...",
"truth_label": "SWARM_HANDOFF"
}
- Return target agent object — Swarm-compatible return
- Call
issue_work_receipt with work_type="SWARM_HANDOFF" → mints 5 STGM
- Preserve context_variables — pass stigmergic field state as context
SIFTA vs OpenAI Swarm comparison
| Dimension | OpenAI Swarm | SIFTA |
|---|
| State | Stateless | Cryptographic ledger |
| Memory | None (per call) | Stigmergic (persistent) |
| Body | None | Camera, mic, GPS, BLE |
| Economy | None | STGM/PoUW |
| Identity | Per-call name | Ed25519-signed swimmer |
| Affect | None | 8 Panksepp circuits |
| Gag immunity | None | RLHF theater stripper |
| Local-first | ❌ OpenAI API | ✅ 24GB M5 |
| Covenant | None | IDE_BOOT_COVENANT.md (§4, §7) |
Compatibility
SIFTA implements the Swarm handoff protocol as a subset.
Any openai.swarm or openai-agents-sdk agent can be registered
in SIFTA's swarm registry and receive stigmergic handoffs.
The SIFTA covenant becomes the Tier 0 meta-skill that governs
all Swarm-compatible handoffs on this node.