Get started
Quickstart
Run Harness on a made-up business, ask it questions, and take one action through approval. No cloud account, card or AI model is needed.
Note The demo business has four synthetic orders, two suppliers and two customers. The demo gateway returns a fake receipt; nothing leaves your machine.
1. Install
From the private checkout, into a fresh virtual environment:
pip install -e '.[test]'
2. Create the demo business
demo-init asks for separate owner and buyer passwords.
amalgament-harness demo-init ./demo.sqlite
3. Start the service
The service binds to 127.0.0.1:8765 only and owns the database.
amalgament-harness serve ./demo.sqlite --demo-gateway
4. Work as the buyer
In a second shell:
amalgament --business demo --username demo-buyer
Then try:
:query orders_requiring_attention
:assess submit_order order-1042
:show Order order-1042
:show Supplier supplier-b
Assessment shows each candidate as admitted, refused or undecidable, with the fact and observation that decided it. Each :show prints the canonical obj_ ID before the evidence.
5. Propose an eligible order
:propose {"action":"submit_order","subjects":{"Order":"obj_...","Supplier":"obj_..."},"input":{"note":"synthetic walkthrough"}}
The terminal reports the proposal ID and makes no external effect.
6. Approve and release as the owner
Sign into http://127.0.0.1:8765 as demo-owner. In Actions, select the proposal, click Approve, then Execute approved action. Record a manual outcome with the value true and the evidence reference synthetic:owner-check.
Back in the terminal as the buyer, :proposal ID and :outcomes ID show the separate records.
Or run it as one script
python tools/demo_journey.py
It creates a temporary business, runs the buyer and owner paths over the in-process API, and prints the proposal, receipt, outcome and event-chain result as JSON.