Hypermedia coordination kernel for multi-agent workflows.
Agents do not call each other. They publish versioned documents to a shared registry and subscribe to documents by URI. State changes propagate as new document versions. The research question is whether this loose coupling actually delivers coordination, measured as convergence rate and message volume in a buyer/seller negotiation, auctions, marketplaces, and CRDT replication.
belltower/ core: registry, document, agent base + 50+ adapters
tests/ pytest suite (~70 modules)
experiments/ negotiation, auctions, orderbook, CRDT replication
examples/ chat room, vending machine, sensor network, scheduler
benchmarks/ publish throughput, gossip cost
paper.md measured findings
Core: registry, document, agent, serial, persistence, etag.
Transport adapters: delay, loss, rate_limit, partition,
safe, dedupe, throttle, middleware, bridge, relay.
Coordination: leader, voting, quorum, task_queue, auction,
auction_ascending, marketplace, mailbox.
Replication: gossip, clock, gcounter, pncounter,
lww_register, orset.
Inspection: metrics, trace, timeline, doc_diff,
snapshot_diff, watcher, heartbeat.
Utilities: fanin, fanout, merge, patch, predicate, router,
schema, snapshot, compactor, ttl, timer, inbox, uri,
anchor.
PYTHONPATH=. pytest -q
PYTHONPATH=. python -m experiments.run > experiments/run.log
PYTHONPATH=. python -m experiments.analyze
PYTHONPATH=. python benchmarks/bench_publish.py
PYTHONPATH=. python benchmarks/bench_gossip.py 20 10
After pip install -e .:
belltower inspect --snapshot snap.json
belltower dump --snapshot snap.json --uri auction://rare-book
belltower anchor --snapshot snap.json --uri ledger://main
belltower count --log events.jsonl
belltower snapshot --log events.jsonl --out snap.json