BREAKER-compiled flow, running on real Kestra in the cloud

Real-estate "governed turn" · Kestra v1.3.16 (Hetzner 5.78.182.38) · execution 5FSkz6un0LFz9vFsa1hmFH · 2026-06-24

This is the BREAKER compiler's output executing on a live Kestra engine — the 24-node real-estate pipeline, the four human-in-the-loop Pause gates, and a cryptographically signed Leash receipt after every stage. You can watch it pause, you resume it, and the signed chain it produces verifies independently.

REAL Kestra orchestration · the 4 Pause gates · the 10 ECDSA-P256 signed Leash receipts   KNOWN GAP the 2 Omnigent stage-calls (live, but 401 — the identity-bridge gap)

1 · Paused at a human gate PAUSED

Topology — the run reaches gate_listing_agreement and waits. list_agents / create_session carry a ⚠ (the live 401); every leash_* task is green.
Gantt — the gate is the purple striped bar: status PAUSED, holding indefinitely until a human resumes. Orange = the two Omnigent 401s.

2 · The honest truth, in the logs

The Omnigent calls hit the live app.fogbreak.io and return 401 "Authentication required" — that is the real, un-faked identity-bridge gap (no service token / online runner yet). The Leash task right below loads the real append.py / verify.py from namespace files and succeeds.

3 · Resume → complete DONE

After resuming all four gates, every stage Log, every signed Leash receipt, and all four gates are green.
Gantt of the finished run — the gates show their pause durations; the Leash receipts bracket each stage.

4 · The signed Leash chain the run produced

10 receipts, hash-linked (each this_hash = SHA-256 of the receipt + the previous this_hash), each signed ECDSA-P256. Every receipt carries the real kestra_execution_id and an honest omnigent_conversation_id = null (no real Omnigent session — the gap).

seqeventstagethis_hash (12)
0flow_start7861261004cf
1flow_stage_advanceleads80832ce949cb
2flow_stage_advancelisting_agreement gatecf8b4578cc1c
3flow_stage_advancemarket_analysisd5b216e6c234
4flow_stage_advancestaging_photography86a481887abf
5flow_stage_advanceshowingsf442c048e8e6
6flow_stage_advanceoffers gatec1fe19bca539
7flow_stage_advanceescrow gate5d4afb83442f
8flow_stage_advanceclose gatea067aa21d167
9flow_endeaf16621585f

→ the full signed chain (leash-chain.json)

Verified two ways — in-flow at flow_end, and independently after downloading the artifact, both with the repo's committed verify.py + the pinned public key:

LEASH CHAIN OK: 10 signed receipts, head=eaf16621585f9983...
verify_chain(...) → {"ok": true, "verified_count": 10,
                     "head_hash": "eaf16621585f9983490751e1dab87b949cff3e84d4148b40839f2c6aec2f9c46"}

# tamper test — edit one receipt's payload, re-verify:
verify_chain(tampered) → {"ok": false, "reason": "hash_mismatch", "break_seq": 4}
# → real crypto, not a rubber stamp.

5 · What is real vs the gap

PieceStatusEvidence
Kestra engine, in the cloudREALKestra v1.3.16 container on Hetzner; flow deployed via API, executed, UI above
24-node BREAKER topologyREALcompiled shape: 2 http + 8 stage logs + 4 Pause gates + 10 Leash tasks
4 human-in-the-loop Pause gatesREALcore.flow.Pause — held PAUSED, resumed by hand, screenshots 1–3
Per-stage signed Leash receiptsREALreal append.py/verify.py, ECDSA-P256, 10-receipt chain, verified + tamper-tested
Omnigent stage-callsGAPhit live app.fogbreak.io401 (no service token / online runner = the identity-bridge gap). allowFailure keeps them visible as WARNING; nothing faked.

The overall execution ends WARNING — and that yellow flag is the gap: the two 401s. Close the identity bridge (service token + online runner) and those two nodes go green; everything else already is.

WIRED ≠ PROVEN. What's proven here by a real run: Kestra orchestration, the Pause gates, the signed Leash chain. What's still a gap: a live, authenticated Omnigent stage-call. Demo Kestra is a disposable container (breaker-demo-kestra) on the box, separate from the production Kestra.