[{"data":1,"prerenderedAt":106},["ShallowReactive",2],{"page-\u002Fv1\u002Fadapters\u002Fspiral\u002Fcross-module":3},{"id":4,"title":5,"body":6,"description":98,"extension":99,"meta":100,"navigation":101,"path":102,"seo":103,"stem":104,"__hash__":105},"content\u002Fv1\u002Fadapters\u002Fspiral\u002Fcross-module.md","Spiral cross-module bridges",{"type":7,"value":8,"toc":91},"minimark",[9,13,48,53,56,60,63,66,70],[10,11,5],"h1",{"id":12},"spiral-cross-module-bridges",[14,15,16],"blockquote",{},[17,18,19,23,24,27,28,31,34,35,42,43],"p",{},[20,21,22],"strong",{},"Host:"," Spiral ",[20,25,26],{},"3.17.x"," (PHP ≥ 8.1) · Researched 2026-08",[29,30],"br",{},[20,32,33],{},"One-shot:"," ",[36,37,39],"a",{"href":38},"\u002Fapply\u002Fspiral.full.md",[40,41,38],"code",{}," · Short: ",[36,44,46],{"href":45},"\u002Fspiral",[40,47,45],{},[49,50,52],"h2",{"id":51},"sync-acl","Sync ACL",[17,54,55],{},"Container-bound local ports and thin peer façades.",[49,57,59],{"id":58},"async","Async",[17,61,62],{},"RoadRunner queue consumers in Infra call inbound Use Cases. Domain Events dispatched via Shared port; rich payload + idempotency.",[17,64,65],{},"Temporal (optional) is an Infra orchestration tool — still must not import peer Domain into Application.",[49,67,69],{"id":68},"related","Related",[71,72,73,80],"ul",{},[74,75,76],"li",{},[36,77,79],{"href":78},"\u002Fv1\u002Fadapters\u002Fspiral","Spiral adapter overview",[74,81,82,86,87],{},[36,83,85],{"href":84},"\u002Fv1\u002Fcore","Core"," · ",[36,88,90],{"href":89},"\u002Fv1\u002Fadopt\u002Fapply","Apply index",{"title":92,"searchDepth":93,"depth":93,"links":94},"",2,[95,96,97],{"id":51,"depth":93,"text":52},{"id":58,"depth":93,"text":59},{"id":68,"depth":93,"text":69},"ACL and async events on Spiral.","md",{},true,"\u002Fv1\u002Fadapters\u002Fspiral\u002Fcross-module",{"title":5,"description":98},"v1\u002Fadapters\u002Fspiral\u002Fcross-module","wr73ox6EA4YPjWQIeR8IfFMkjL9te_OoDlpDtYE4_ik",1786241416149]