From 01c87d2c204723905457f225b3113dac82eb0ced Mon Sep 17 00:00:00 2001 From: eunhhu Date: Sun, 27 Sep 2026 07:54:35 +0100 Subject: Send messages as part of events and apply delivered ones once (078) An output (input kind 5) is a message the app sends; SEND (72) takes an output's field values in order in a handler, lays them out as a message's payload and keeps it, numbered per output from 1, with the event's changes: a failed event sent nothing, and a failed save takes back every send since the last save with its numbers. A host sees only saved sends (pure_app_outbox) and trims what its receiver has saved (pure_app_trim, gone with the next save). pure_app_deliver applies a message from a named source once: a number heard before succeeds without applying, a refused message counts as heard, a failed save forgets what it heard. Sends, numbers and heard numbers are the app's links state, stored whole in one runtime document (PLK1) with the states, in the same commit. Outputs follow their names across module changes; a module that drops or retypes an output with sends left is refused, and a dropped output's number is kept for when it returns. Killing the process at every commit stage leaves an event and its send, or a delivery and its effect, together or neither. pure-serve answers a post to an output or a timer with 404 no_input. --- docs/research/078-app-connections.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'docs/research') diff --git a/docs/research/078-app-connections.md b/docs/research/078-app-connections.md index fbe7f34..5e89853 100644 --- a/docs/research/078-app-connections.md +++ b/docs/research/078-app-connections.md @@ -1,8 +1,9 @@ # 078 — 앱 사이의 연결: 런타임이 소유하는 outbox와 정확히 한 번의 효과 -2026-09-26. 설계 노트이며 구현 순서를 포함한다. 상태: 설계만 했다. [로드맵](../roadmap.md)의 단기 과제(대여 완성, 저장과 -적용의 겹치기, 읽기 독립화, JSON 확장)를 먼저 하고, 중기 1(외부로 나가는 호출)과 함께 구현한다. 외부 API 호출도 같은 -outbox 위에 선다(출력을 HTTP 끝점에 잇는 배선). +2026-09-26. 설계 노트이며 구현 순서를 포함한다. 상태: 1단계(Pure 런타임: 출력, `SEND`, outbox·inbox와 그 저장)와 +2단계(aup `output`·`send`)를 2026-09-27에 구현했다([008 앱 사이의 연결](../design/008-module-format.md)). 호스트의 배선과 +전달(3·4단계)은 [로드맵](../roadmap.md) 중기 1(외부로 나가는 호출)과 함께 한다. 외부 API 호출도 같은 outbox 위에 선다(출력을 +HTTP 끝점에 잇는 배선). 착수 기준: -- cgit v1.2.3