<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="389195" data-post-id="389195">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="webofbits" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/webofbits/120/39173_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  webofbits
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Quick update on Rift:</p>
<p>I’m moving toward a full end-to-end demo flow:</p>
<ol>
<li>Originator fills out and submits a case.</li>
<li>Operator receives it in the inbox and makes a decision.</li>
<li>The Squid Mesh workflow continues from that decision.</li>
<li>We inspect the workflow through SquidSonar.</li>
<li>Originator checks the resolution in their own inbox.</li>
</ol>
<p>Recent progress: Rift is now shaping up as a properly embeddable Phoenix/LiveView app, with host-defined case types/forms and separately mountable operator/originator routes. Next pieces are durable case persistence, wiring submissions into workflow starts, then operator decisions.</p>
<p>After the happy path works, I want to stress-test duplicate cases, stale operator actions, unresolved cases, failed side effects, and similar runtime edge cases.</p>
<p>More advanced examples could include an AI agent triaging tickets, labeling them, or validating included documents before operator review. The use cases still feel pretty wide open.</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/5/a/5a665c0548f8536ad7dd0e6ee381f8066579fe5a.jpeg" data-download-href="https://forum.elixirforum.com/uploads/default/5a665c0548f8536ad7dd0e6ee381f8066579fe5a" title="Screenshot 2026-05-19 at 09.46.54" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/3X/5/a/5a665c0548f8536ad7dd0e6ee381f8066579fe5a_2_690x339.jpeg" alt="Screenshot 2026-05-19 at 09.46.54" data-base62-sha1="cTIh8INU9DfNpx47MvgPrWXEkvo" width="690" height="339" srcset="https://forum.elixirforum.com/uploads/default/optimized/3X/5/a/5a665c0548f8536ad7dd0e6ee381f8066579fe5a_2_690x339.jpeg, https://forum.elixirforum.com/uploads/default/optimized/3X/5/a/5a665c0548f8536ad7dd0e6ee381f8066579fe5a_2_1035x508.jpeg 1.5x, https://forum.elixirforum.com/uploads/default/optimized/3X/5/a/5a665c0548f8536ad7dd0e6ee381f8066579fe5a_2_1380x678.jpeg 2x" data-dominant-color="F8F8FB"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">Screenshot 2026-05-19 at 09.46.54</span><span class="informations">3178×1564 69.2 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/2/d/2d9ccd69ce56cd73765b6dcd881693c6ccb416c0.jpeg" data-download-href="https://forum.elixirforum.com/uploads/default/2d9ccd69ce56cd73765b6dcd881693c6ccb416c0" title="Screenshot 2026-05-19 at 09.53.18" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/3X/2/d/2d9ccd69ce56cd73765b6dcd881693c6ccb416c0_2_690x359.jpeg" alt="Screenshot 2026-05-19 at 09.53.18" data-base62-sha1="6vvqTlDVDa2ZgphzTeDydaVDaCc" width="690" height="359" srcset="https://forum.elixirforum.com/uploads/default/optimized/3X/2/d/2d9ccd69ce56cd73765b6dcd881693c6ccb416c0_2_690x359.jpeg, https://forum.elixirforum.com/uploads/default/optimized/3X/2/d/2d9ccd69ce56cd73765b6dcd881693c6ccb416c0_2_1035x538.jpeg 1.5x, https://forum.elixirforum.com/uploads/default/optimized/3X/2/d/2d9ccd69ce56cd73765b6dcd881693c6ccb416c0_2_1380x718.jpeg 2x" data-dominant-color="F7F8FA"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">Screenshot 2026-05-19 at 09.53.18</span><span class="informations">2910×1516 94.1 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p>
<aside class="onebox githubrepo" data-onebox-src="https://github.com/ccarvalho-eng/rift">
  <header class="source">

      <a href="https://github.com/ccarvalho-eng/rift" target="_blank" rel="noopener nofollow ugc">github.com</a>
  </header>

  <article class="onebox-body">
    <div class="github-row" data-github-private-repo="false">
  <img width="690" height="344" src="https://opengraph.githubassets.com/698f5331748480ca37c63a3a68fa4efa/ccarvalho-eng/rift" class="thumbnail">

  <h3><a href="https://github.com/ccarvalho-eng/rift" target="_blank" rel="noopener nofollow ugc">GitHub - ccarvalho-eng/rift: LiveView ops inbox for human workflow decisions</a></h3>

    <p><span class="github-repo-description">LiveView ops inbox for human workflow decisions</span></p>
</div>

  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389195" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/squidie-workflow-automation-runtime-for-elixir-applications/75162/42">Post #41</a>
	                </div>
	            </div>
              <div id="likers-container-389195" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389195"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #41"></div>
  </section>
</div>
    <div class="postbit" id="389205" data-post-id="389205">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="webofbits" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/webofbits/120/39173_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  webofbits
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This also leaves the door open for human in the loop on auto started workflows (cron).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389205" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/squidie-workflow-automation-runtime-for-elixir-applications/75162/43">Post #42</a>
	                </div>
	            </div>
              <div id="likers-container-389205" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389205"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #42"></div>
  </section>
</div>
    <div class="postbit" id="389213" data-post-id="389213">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ghannam80" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ghannam80/120/35232_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ghannam80
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This is nice , it could serve by itself as simple incident or ticketing system with activity timeline showing the actions/comments/…etc</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389213" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/squidie-workflow-automation-runtime-for-elixir-applications/75162/44">Post #43</a>
	                </div>
	            </div>
              <div id="likers-container-389213" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389213"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #43"></div>
  </section>
</div>
    <div class="postbit" id="389216" data-post-id="389216">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="webofbits" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/webofbits/120/39173_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  webofbits
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yeah. Glad things are fitting together. Ticketing seems a very common theme specially for internal human in the loop.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389216" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/squidie-workflow-automation-runtime-for-elixir-applications/75162/45">Post #44</a>
	                </div>
	            </div>
              <div id="likers-container-389216" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389216"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #44"></div>
  </section>
</div>
    <div class="postbit" id="389265" data-post-id="389265">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="webofbits" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/webofbits/120/39173_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  webofbits
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Small architecture update on the durable delivery / long-running step recovery side.</p>
<p>Earlier I framed the remaining runtime gap mostly as Squid Mesh needing heartbeat-backed recovery for claimed long-running work. I still think that recovery path matters, but I’m trying to keep the layers cleaner:</p>
<ul>
<li>Squid Mesh owns workflow semantics: workflow definitions, step state, dependencies, retries, recovery policy, replay, cancellation, inspection, explanation.</li>
<li>Jido remains the runtime/action substrate I want to build around.</li>
<li>IntentLayer/Intent Ledger, if it lands in this stack, feels more like an intent-domain/ control-plane layer than a job queue: structured intent types, validity, causality, lifecycle, audit.</li>
<li>Durable delivery should stay below that: scheduling, leases/heartbeat, retries, worker distribution, fairness.</li>
</ul>
<p>I’m currently evaluating Bedrock / <a href="https://github.com/bedrock-kv/job_queue" rel="noopener nofollow ugc"><code>bedrock_job_queue</code></a> for that lower delivery layer, because the interesting property is not just “another queue”. The more interesting property is having workflow state and queued work participate in the same transactional substrate, so a workflow transition and the job dispatch for the next step can commit together.</p>
<p>That would keep Squid Mesh focused on workflow semantics instead of becoming a queue/runtime mechanics project.</p>
<p>Still exploratory, and the public API should stay Squid Mesh-native. But the direction I’m leaning toward is:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">Jido
|&gt; SquidMesh
|&gt; IntentLayer # if useful as intent-domain layer
|&gt; Bedrock.JobQueue
|&gt; Bedrock/FDB
</code></pre>
<p>Curious if this boundary makes sense to folks who have built durable workflow systems: should heartbeat/lease recovery live entirely in the delivery substrate, with the workflow engine only interpreting durable outcomes?</p>
<p>For more, check the <a href="https://discord.com/channels/1323353012235796550/1504122798027571331" rel="noopener nofollow ugc">Discord channel</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389265" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/squidie-workflow-automation-runtime-for-elixir-applications/75162/46">Post #45</a>
	                </div>
	            </div>
              <div id="likers-container-389265" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389265"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #45"></div>
  </section>
</div>
    <div class="postbit" id="389369" data-post-id="389369">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="webofbits" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/webofbits/120/39173_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  webofbits
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Small follow-up on the execution layer side.</p>
<p>I’ve been spiking <code>bedrock_job_queue</code> as an alternative executor backend for Squid Mesh. The initial motivation was to see whether Bedrock could cover the parts a workflow runtime eventually cares about beyond “enqueue a job”: delayed delivery, retries, dead-lettering, worker claims, lease extension/heartbeat, and stale worker recovery.</p>
<p>So far the fit looks promising.</p>
<p>The most interesting part is that Bedrock’s lease model maps very naturally to workflow execution. In a workflow engine, a runnable step is not just a background job. The runtime eventually needs to reason about whether work was claimed, whether the worker is still alive, whether the lease expired, whether the step completed, and whether failure should retry or become terminal.</p>
<p>The spike currently covers:</p>
<ul>
<li>enqueueing Squid Mesh payloads into Bedrock Job Queue</li>
<li>delayed jobs</li>
<li>cron-style activation</li>
<li>priority ordering</li>
<li>tenant/queue isolation</li>
<li>retries and dead-letter behavior</li>
<li>worker leasing</li>
<li>heartbeat / lease extension</li>
<li>complete / fail paths for leased work</li>
</ul>
<p>There were some integration rough edges, mostly around using newer Bedrock Job Queue changes and understanding the low-level keyspace/lease APIs, but nothing that felt like the wrong abstraction.</p>
<p>The bigger takeaway for me is that Bedrock seems like a strong match for clustered workflow runtimes because the storage layer is already oriented around distributed coordination. Squid Mesh still has its current persistence/runtime path, but this spike is pushing the architecture toward clearer boundaries:</p>
<ul>
<li>Squid Mesh owns workflow semantics</li>
<li>the journal/runtime layer owns durable workflow facts</li>
<li>executor adapters own concrete queue and lease mechanics</li>
</ul>
<p>That separation feels important if Squid Mesh is going to support different execution backends<br>
without baking one job system into the workflow model.</p>
<p>i.e.</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">+-----------------------------------------------------+
|                    Squid Mesh                       |
+-----------------------------------------------------+
| Public API: start_run / inspect_run / explain_run   |
+-----------------------------------------------------+
                         |
                         v
+-----------------------------------------------------+
|                Squid Mesh Runtime                   |
+-----------------------------------------------------+
| Plans work, applies results, retries, pauses,       |
| cancels, completes, inspects, and explains          |
+-----------------------------------------------------+
                         |
                         v
+-----------------------------------------------------+
|                    Jido Journals                    |
+-----------------------------------------------------+
| Durable workflow facts: runs, attempts, claims,     |
| heartbeats, completions, failures, terminal state   |
+-----------------------------------------------------+
              |                          ^
              v                          |
+----------------------------+  +----------------------------+
| SquidMesh.Executor         |  | SquidMesh.Executor.Leases  |
+----------------------------+  +----------------------------+
| enqueue jobs / cron / delay|  | claim / heartbeat / finish |
+----------------------------+  +----------------------------+
              |                          |
              +-------------+------------+
                            |
                            v
+----------------------------------------------------+
|                  Backend Adapter                   |
+----------------------------------------------------+
| Queue: enqueue, delay, cron delivery               |
| Lease: claim, heartbeat, expiry, complete/fail     |
+----------------------------------------------------+
                            |
                            v
+----------------------------------------------------+
|                Backend Storage                     |
+----------------------------------------------------+
| Jobs, leases, worker liveness, delivery metadata   |
+----------------------------------------------------+
</code></pre>
<p>I don’t think this means relational DBs are a bad fit for workflow engines in general. Postgres + Oban is still a very strong default (we’d just need to implement the leasing behavior).</p>
<p>The distinction I’m seeing is between workflow facts and workflow execution coordination. Workflow facts/history/inspection fit relational storage well. But the executor side starts looking less relational once you care about claims, leases, heartbeat extension, stale worker recovery, delayed visibility, and multi-node ownership.</p>
<p>That is where Bedrock feels like a better-shaped tool: the queue/lease layer is naturally a distributed coordination problem, not just a table of jobs.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389369" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/squidie-workflow-automation-runtime-for-elixir-applications/75162/47">Post #46</a>
	                </div>
	            </div>
              <div id="likers-container-389369" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389369"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #46"></div>
  </section>
</div>
    <div class="postbit" id="389443" data-post-id="389443">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="webofbits" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/webofbits/120/39173_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  webofbits
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>New release is up!</p>
<p>Squid Mesh has moved further into the journal-backed runtime, and the public surface now reflects that direction more clearly.</p>
<ol>
<li>Runtime now uses the journal-backed execution model end to end in the example host apps.</li>
<li>Added graph-oriented inspection output for workflow runs, so tools can inspect run<br>
structure without reconstructing it from internal tables.</li>
<li>Exposed serializable workflow spec validation APIs, which makes it easier to load,<br>
preview, and validate workflow definitions from code or UI tooling.</li>
<li>Added named path input mappings for workflow steps, which makes step inputs more explicit<br>
and easier to reason about.</li>
<li>Improved the example host apps so they exercise the new runtime contract more<br>
realistically, including mixed run outcomes instead of only happy-path runs.</li>
<li>Squid Sonar has been updated to use the newer runtime shape, and the run graph/inspection<br>
views are being pushed in a more journal-aware direction.</li>
</ol>
<p>The broader direction is to keep the runtime readable and inspectable first, then build toward read-only visual workflow preview, and eventually visual editing on top of the same model.</p>
<p>TLDR: Runtime it’s fully switched over to Jido, you can plug Bedrock as executor and have leasing as a bonus!</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://github.com/dark-trench/squidie/releases/tag/v0.1.0-beta.1">
  <header class="source">
      <img src="https://github.githubassets.com/favicons/favicon.svg" class="site-icon" alt="" width="32" height="32">

      <a href="https://github.com/dark-trench/squidie/releases/tag/v0.1.0-beta.1" target="_blank" rel="noopener nofollow ugc">GitHub</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/344;"><img src="https://opengraph.githubassets.com/39976606b0dfdb7c789d7755c4cc9bacb075147f7759cd9a588444b84cb93d6e/dark-trench/squidie/releases/tag/v0.1.0-beta.1" class="thumbnail" alt="" width="690" height="345"></div>

<h3><a href="https://github.com/dark-trench/squidie/releases/tag/v0.1.0-beta.1" target="_blank" rel="noopener nofollow ugc">Release v0.1.0-beta.1 · dark-trench/squidie</a></h3>

  <p>First beta release of the journal-backed runtime.
Highlights:

the runtime is now Jido-native and journal-backed
the minimal host and Bedrock example apps exercise the shipped contract
README, host...</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389443" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/squidie-workflow-automation-runtime-for-elixir-applications/75162/48">Post #47</a>
	                </div>
	            </div>
              <div id="likers-container-389443" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389443"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #47"></div>
  </section>
</div>
    <div class="postbit" id="389445" data-post-id="389445">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="webofbits" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/webofbits/120/39173_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  webofbits
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Only one feature left for later: expand existing workflows ( <a href="https://github.com/dark-trench/squid_mesh/issues/141" class="inline-onebox" rel="noopener nofollow ugc">Add dynamic workflow graph expansion after the Jido-native core · Issue #141 · dark-trench/squidie · GitHub</a> )</p>
<p>Will re-visit project status and future goals to add more features in the roadmap. I’ve been contacted by an early stage project that is interested on using squid-mesh but needs authored workflows and visual editing so i’ll see what’s the sweet spot to give them the primitives to support that as i harden the runtime and prove it’s solidly orchestrating workflows.</p>
<p>cc <a class="mention" href="/u/dimitarvp" rel="nofollow">@dimitarvp</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389445" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/squidie-workflow-automation-runtime-for-elixir-applications/75162/49">Post #48</a>
	                </div>
	            </div>
              <div id="likers-container-389445" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389445"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #48"></div>
  </section>
</div>
    <div class="postbit" id="389447" data-post-id="389447">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m still super busy but I’m approaching an important project milestone and I’ll be able to check SquidMesh again. 2-3 weeks.</p>
<p>I love the visual additions btw. They pair naturally with human-in-the-loop mechanics. Amazing work figuring that out and pursuing it.</p>
<p>And dynamically adding to workflows? Awesome!</p>
<p>The only thing I am entirely unclear on is being based on Jido and Bedrock. I have sizeable notes on Jido; will have to read them again and ask Claude to help me research Bedrock.</p>
<p>I’ve been reading all your forum announcements btw. Not just putting a <img src="https://forum.elixirforum.com/images/emoji/apple/heart.png?v=15" title=":heart:" class="emoji" alt=":heart:" loading="lazy" width="20" height="20"> on them.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389447" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/squidie-workflow-automation-runtime-for-elixir-applications/75162/50">Post #49</a>
	                </div>
	            </div>
              <div id="likers-container-389447" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389447"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #49"></div>
  </section>
</div>
    <div class="postbit" id="389449" data-post-id="389449">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="webofbits" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/webofbits/120/39173_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  webofbits
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Jido journal as the durable runtime, it’s mostly an append-only projection/ read model to give the historical facts of the run. You don’t need to learn Jido, the public api will not expose any Jido primitive unless you want.</p>
<p>on the bedrock, you also can use other executor. The only downside is that bedrock is the only one exposing leasing apis. Maybe at some point I could build my own relational executor but not something I am planning for the near future.</p>
<p>thanks for the support!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="389449" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/squidie-workflow-automation-runtime-for-elixir-applications/75162/51">Post #50</a>
	                </div>
	            </div>
              <div id="likers-container-389449" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="389449"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #50"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/75162/load_more?page=6">Load more posts (34 remaining)</a>
</div></template></turbo-stream>