Concession guide — ASTRA 2.8.12
Runnable companion to Prewritten Protocols. Requires Java/Maven compatible with ASTRA 2.8.12 and the matching Maven artifacts.
mvn clean compile astra:run
mvn test
Add -o to use only cached artifacts. The parent selects the ASTRA compiler,
plugin, interpreter and APIs at 2.8.12; protocols and unit tests are pinned too.
guide.Main creates two price negotiators and three allocators, then prints:
price-1: agreement(price(50))
allocation-1: agreement(shares(30,30,30))
tie-1: agreement(shares(15,15,60))
majority-1: conflict(no_concession())
The coordinator prints results with the normal agent-name prefix. Participant end notifications are best effort; the demo exits after coordinator completion. The 200 ms startup warm-up is for this local example only, not a distributed readiness handshake.
The named-package strategies and 25 tests adapt astra-protocols’ MCPBuyer,
MCPSeller, MUCPAllocator, MCPTests and MUCPTests. Class references include guide.;
the noise fixture sends to guide.MUCPTests, the unit runner’s coordinator name.
Test modes are strategy fixtures, not built-in protocol options. Tests cover
agreement, stalemate, regression, round limits, missing offers/assessments,
invalid configuration, unanimous versus majority selection, deterministic ties,
2/3/4 members, stale/duplicate messages and multilateral state cleanup.
Do not run duplicate monitors or reuse session IDs on a coordinator. Use trusted agents and finite, stable utilities; see the protocol page for semantics and limits.