aboutsummaryrefslogtreecommitdiffstats
path: root/docs/research/053-source-loaded-native-terminal-editor.md
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-27 07:54:35 +0100
committereunhhu <[email protected]>2026-09-27 07:54:35 +0100
commit01c87d2c204723905457f225b3113dac82eb0ced (patch)
treef59de0c3b6982b06f781511a27fc6c02d3857e78 /docs/research/053-source-loaded-native-terminal-editor.md
parent78e9ba927d0c6f15e0388c8a5e056d1e82e21e88 (diff)
downloadpure-01c87d2c204723905457f225b3113dac82eb0ced.tar.gz
pure-01c87d2c204723905457f225b3113dac82eb0ced.zip
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.
Diffstat (limited to 'docs/research/053-source-loaded-native-terminal-editor.md')
0 files changed, 0 insertions, 0 deletions