host: enrich the adapter seam to be substrate-agnostic (review fixes)
After review, the seam was only synchronous-complete; the durable/celery-sx runners couldn't plug in cleanly. Additive fixes (pipeline unchanged): (1) :status branch in run-binding — 'done' dispatches effects, 'suspended' records the flow + :resume (a durable runner holds it; completion re-enters as a new activity via pump), 'failed' records + :error for retry/dead-letter. (2) richer runner env — :ctx (per-activity, via engine :ctx-of) + injected :effects (external-read interfaces, e.g. a deterministic fetch_followers). (3) dedup by content :id — a cycle is caught by identity, not just the depth guard. (4) behavior/pump — drain transport.deliver for inbound (peer activities + async runner completions), sharing one trace so dedup spans the batch. behavior 9/9 (+ suspended/failed/dedup/env/pump); full host conformance 580/580. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -108,7 +108,7 @@ trigger-registry ← next/ trigger_registry OR a local SX matcher · runner ←
|
||||
(sync) / next/ flow_dispatch (durable) / celery-sx · transport ← artdag/federation (transport
|
||||
injected) / next/ delivery / in-process · driver ← host writes / email / append-activity.
|
||||
|
||||
**Build order:** (a) DONE — the seam as SX contracts + a reference engine wired to MOCK adapters, tested
|
||||
**Build order:** (a) DONE — the seam as SX contracts + reference engine, tested. Substrate-agnostic after review: :status branch (done/suspended/failed), injected env (:ctx + :effects), dedup by activity :id, behavior/pump for inbound (peer + async completions). behavior 9/9.
|
||||
(process a mock activity → effect flows → loop closes). (b) P0 then supplies the REAL adapters
|
||||
(publish activity, local-SX trigger, sync op-table runner over a publish-DAG, host driver).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user