aboutsummaryrefslogtreecommitdiffstats
path: root/prototypes/connections/results/2026-09-24-document-peer
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-24 17:14:54 +0100
committereunhhu <[email protected]>2026-09-24 17:14:54 +0100
commitb1ce1927022d374198441afafeb27199fc8a052a (patch)
tree6021f175f4c67ed03b44240eaa2f90d846f12f6f /prototypes/connections/results/2026-09-24-document-peer
parentd34f9426d5317a1948f12f229439946728bc342a (diff)
downloadpure-b1ce1927022d374198441afafeb27199fc8a052a.tar.gz
pure-b1ce1927022d374198441afafeb27199fc8a052a.zip
Establish native micro runtime checkpoint
Diffstat (limited to 'prototypes/connections/results/2026-09-24-document-peer')
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/clean-peer.log43
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/clean-release.log737
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/dynamic.txt31
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/file-sizes.txt2
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/hashes.txt4
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/package-check.json19
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/package-hashes.txt3
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/peer-budget.json23
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/peer-flow.json16
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/peer-sanitized.json16
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/pure-document-linux-aarch64.tar.gzbin0 -> 316927 bytes
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/scalar-refactor.json1
-rw-r--r--prototypes/connections/results/2026-09-24-document-peer/size.txt2
13 files changed, 897 insertions, 0 deletions
diff --git a/prototypes/connections/results/2026-09-24-document-peer/clean-peer.log b/prototypes/connections/results/2026-09-24-document-peer/clean-peer.log
new file mode 100644
index 0000000..ff472a7
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/clean-peer.log
@@ -0,0 +1,43 @@
+make: Entering directory '/home/eunhhu/work/pure/prototypes/connections'
+python3 check_profile.py --build build/checkpoint-clean --budget peer-budget.json
+{
+ "passed": true,
+ "failures": [],
+ "profile": "linux-aarch64-gcc14-selected-document-peer",
+ "scope": "Review threshold for the explicitly selected authenticated document host on Linux AArch64/GCC 14. Includes linked application code but excludes the shared OpenSSL/libc implementations, process heap, stack, mappings and kernel buffers. Check measured whole-process RSS separately.",
+ "budget_sha256": "defe8efb4d544cdbf615de4d43d4ceba78fc7f1d958f245731202625052eb2ff",
+ "platform": "Linux-6.18.39+rpt-rpi-2712-aarch64-with-glibc2.41",
+ "binaries": {
+ "pure-document-peer": {
+ "sections": {
+ "text": 46878,
+ "data": 1384,
+ "bss": 16
+ },
+ "needed": [
+ "libc.so.6",
+ "libcrypto.so.3",
+ "libssl.so.3"
+ ],
+ "sha256": "e0bec4f698ce6b561a6caa8464636317409011e3101c48649cf5585c33ec9d31"
+ }
+ }
+}
+python3 check_document_peer.py --peer build/checkpoint-clean/pure-document-peer --editor build/checkpoint-clean/pure-edit
+{
+ "profile": "selected-authenticated-document-peer",
+ "checks": [
+ "mutual certificate identity, server hostname and ALPN separation",
+ "program source identity checked before C client sends work",
+ "persistent external TLS client: create, read, conflict and recovery",
+ "native peer edit and local CLI use the same authored document and storage",
+ "fragmented 1 MiB direct ingress, demand-selected reply and one-byte splice",
+ "native C peer uploads 1 MiB and receives only the requested metadata",
+ "incomplete, invalid and oversized frames do not publish a change",
+ "idle authenticated session closes after deadline",
+ "server restart and native C peer preserve the committed large document"
+ ],
+ "server_idle_rss_kib": 7840,
+ "server_after_large_work_rss_kib": 9488
+}
+make: Leaving directory '/home/eunhhu/work/pure/prototypes/connections'
diff --git a/prototypes/connections/results/2026-09-24-document-peer/clean-release.log b/prototypes/connections/results/2026-09-24-document-peer/clean-release.log
new file mode 100644
index 0000000..db3d23d
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/clean-release.log
@@ -0,0 +1,737 @@
+make: Entering directory '/home/eunhhu/work/pure/prototypes/connections'
+cc -O2 -g -std=c17 -Wall -Wextra -Wpedantic -Werror core-layout.c -o build/checkpoint-clean/core-layout
+python3 check_core.py --archive build/checkpoint-clean/libpure-execution.a --layout build/checkpoint-clean/core-layout
+{
+ "passed": true,
+ "failures": [],
+ "budget": {
+ "profile": "current-storage-execution-core",
+ "max_text_bytes": 6144,
+ "max_data_bytes": 0,
+ "max_bss_bytes": 0,
+ "layout_max_bytes": {
+ "domain_bytes": 200,
+ "work_slot_bytes": 224,
+ "ticket_bytes": 24,
+ "prepared_program_bytes": 680
+ },
+ "archive_members": [
+ "runtime.o",
+ "evaluate.o"
+ ],
+ "external_symbols_allowed": [
+ "memcpy",
+ "memmove",
+ "memset",
+ "strlen"
+ ],
+ "scope": "Release object sections and C bookkeeping, validated with GNU tools on Linux AArch64. Not total RAM, process RSS, stack, linked libraries, parser, storage, network or UI. 6 KiB is a regression ceiling for this profile, not a universal runtime size promise."
+ },
+ "layout": {
+ "domain_bytes": 200,
+ "work_slot_bytes": 224,
+ "ticket_bytes": 24,
+ "prepared_program_bytes": 680,
+ "pointer_bytes": 8
+ },
+ "sections": {
+ "text": 5932,
+ "data": 0,
+ "bss": 0
+ },
+ "members": [
+ "runtime.o",
+ "evaluate.o"
+ ],
+ "external_symbols": [
+ "memcpy",
+ "strlen"
+ ],
+ "size_output": " text\t data\t bss\t dec\t hex\tfilename\n 5012\t 0\t 0\t 5012\t 1394\truntime.o (ex /home/eunhhu/work/pure/prototypes/connections/build/checkpoint-clean/libpure-execution.a)\n 920\t 0\t 0\t 920\t 398\tevaluate.o (ex /home/eunhhu/work/pure/prototypes/connections/build/checkpoint-clean/libpure-execution.a)\n",
+ "archive_sha256": "d56c50e38c6c0949cfad069d34568da2ac45b1d60097cf9e7c4bf804f44c8128",
+ "layout_binary_sha256": "47cf1803007fc1ec85f119bd46195ad39d9f01ef0146bf5cc45e1af31eb18098",
+ "budget_sha256": "b4eceaffce900144470dd29076164039b8729bad4ba849789d212e7c952f5082",
+ "platform": "Linux-6.18.39+rpt-rpi-2712-aarch64-with-glibc2.41",
+ "size_tool": "GNU size (GNU Binutils for Debian) 2.44"
+}
+python3 check_profile.py --build build/checkpoint-clean
+{
+ "passed": true,
+ "failures": [],
+ "profile": "linux-aarch64-gcc14-default-document-hosts",
+ "scope": "Review thresholds for release-built default CLI and HTTP adapter on the recorded Linux AArch64/GCC 14 toolchain. These section sizes exclude shared libc, heap, stack, mapped files, kernel buffers, and optional GTK/TLS hosts. Any failure requires a cost review, not automatic relaxation.",
+ "budget_sha256": "8b1eb0dd4844757705c24a0674142e76d9ee83fdce80a841e87a08e757f1183d",
+ "platform": "Linux-6.18.39+rpt-rpi-2712-aarch64-with-glibc2.41",
+ "binaries": {
+ "pure-edit": {
+ "sections": {
+ "text": 35807,
+ "data": 944,
+ "bss": 16
+ },
+ "needed": [
+ "libc.so.6"
+ ],
+ "sha256": "b5c6ec82a1e9c8a1391d1c4ac680e7f33e53dafe5c29ac8a956d5097653b1a03"
+ },
+ "pure-connections": {
+ "sections": {
+ "text": 42761,
+ "data": 1040,
+ "bss": 16
+ },
+ "needed": [
+ "libc.so.6"
+ ],
+ "sha256": "e76d4c0a721c9ceb7142db0edbaa1f5c44bd78a2c55029658109c83e8076875f"
+ }
+ }
+}
+cc -O2 -g -std=c17 -Wall -Wextra -Wpedantic -Werror -DPURE_STORE_TEST test-flow.c store.c flow.c -o build/checkpoint-clean/test-flow
+cc -O2 -g -std=c17 -Wall -Wextra -Wpedantic -Werror test-program.c program.c evaluate.c -o build/checkpoint-clean/test-program
+cc -O2 -g -std=c17 -Wall -Wextra -Wpedantic -Werror test-fields.c program.c evaluate.c -o build/checkpoint-clean/test-fields
+cc -O2 -g -std=c17 -Wall -Wextra -Wpedantic -Werror test-runtime.c program.c runtime.c evaluate.c store.c store-port.c -o build/checkpoint-clean/test-runtime
+cc -O2 -g -std=c17 -Wall -Wextra -Wpedantic -Werror -DPURE_STORE_TEST test-splice.c program.c runtime.c evaluate.c store.c store-port.c -o build/checkpoint-clean/test-splice
+build/checkpoint-clean/test-flow
+{"transfer":"partial-consumption-and-single-release","storage":"mapped-ranges-snapshot-budget-conflict-failure-uncertain-crash-overflow-empty"}
+build/checkpoint-clean/test-program
+{"program":"prepare-views-preserve-guards-types-effects-and-atomic-install","boundary_semantic_comparisons":3584}
+build/checkpoint-clean/test-fields
+{"fields":"named-layouts-unaligned-u32le-tail-dynamic-ranges-aliases-failures-limits","data_boundary_cases":48}
+python3 check.py --server build/checkpoint-clean/pure-connections --runtime-test build/checkpoint-clean/test-runtime --splice-test build/checkpoint-clean/test-splice --editor build/checkpoint-clean/pure-edit
+{
+ "kind": "prepared-connection-correctness-not-performance",
+ "checks": [
+ "fragmented request and binary bytes round trip",
+ "conditional create and stale revision preserve committed bytes",
+ "writer contention and invalid extent fail without overwriting data",
+ "two native writers cannot both create the same expected revision",
+ "incomplete request never commits and releases its allocation",
+ "borrowed read remains the same snapshot during another commit",
+ "receiver reset aborts an outstanding borrowed transfer",
+ "unsupported framing and oversized payload are rejected before effects",
+ "existing workbench manipulation restores in a fresh runtime and reports conflict",
+ "invalid or non-idle restore preserves local state and does not adopt remote revision",
+ "revision above JavaScript safe integer round trips without numeric coercion",
+ "unread acknowledgment does not undo commit or permit a stale retry",
+ "empty body has a valid lifetime and stored revision",
+ "committed authoring state survives process restart",
+ "slow consumer retains its lease; budget rejects another; deadline releases it",
+ "connection slots stay bounded and recover after header deadlines",
+ "authored nested read maps only final demand while preserving parent bounds and revision",
+ "unused checked view still fails even when response range would be valid",
+ "authored write and reply share selected input; invalid parent prevents the storage effect",
+ "body-free response preserves read existence and malformed-object errors",
+ "input-backed response survives partial send and releases on finish or abort without undoing commit",
+ "invalid authored program fails preparation before creating storage or accepting requests",
+ "text client uses character selection; named numeric fields select and persist the matching UTF-8 bytes",
+ "truncated layouts and invalid data-dependent ranges never change storage; empty and end selections remain valid",
+ "changed declaration order and unaligned numeric fields determine access; aliases add no dynamic steps",
+ "unused dynamic field selection retains its validation before the write effect",
+ "named variable tail reads use the same file version and charge only the selected suffix",
+ "data-dependent response keeps and charges the original input through partial transmission",
+ "native authored byte edit and fresh native process restore UTF-8 content",
+ "native stale revision and invalid byte position preserve the committed document",
+ "native convenience editor derives unaligned reordered field positions from the authored program",
+ "raw native apply runs another authored input contract without changing the executor",
+ "native CLI and external HTTP share revisions and the same authored storage effect in both directions",
+ "partial or invalid edit input never modifies the stored document",
+ "two processes cannot both splice the same expected document revision",
+ "1 MiB document changes with 11 input credits; larger input is rejected before an effect"
+ ],
+ "prepared_connections": {
+ "excerpt": {
+ "read": {
+ "to_end": false,
+ "offset": 32,
+ "length": 16,
+ "minimum_source_bytes": 80
+ },
+ "write": {
+ "to_end": true,
+ "offset": 0,
+ "length": 0,
+ "minimum_source_bytes": 0
+ },
+ "reply_input": false,
+ "view_definitions": 2,
+ "range_definitions": 2,
+ "runtime_view_steps": 0,
+ "write_step": 0,
+ "reply_step": 0,
+ "prepared_program_bytes": 680,
+ "steps": [],
+ "write_effect": "write",
+ "splice_offset": {
+ "value": 0,
+ "from_u32le": false
+ },
+ "splice_remove": {
+ "value": 0,
+ "from_u32le": false
+ }
+ },
+ "write": {
+ "read": {
+ "to_end": true,
+ "offset": 0,
+ "length": 0,
+ "minimum_source_bytes": 0
+ },
+ "write": {
+ "to_end": false,
+ "offset": 5,
+ "length": 4,
+ "minimum_source_bytes": 12
+ },
+ "reply_input": true,
+ "view_definitions": 3,
+ "range_definitions": 2,
+ "runtime_view_steps": 0,
+ "write_step": 0,
+ "reply_step": 0,
+ "prepared_program_bytes": 680,
+ "steps": [],
+ "write_effect": "write",
+ "splice_offset": {
+ "value": 0,
+ "from_u32le": false
+ },
+ "splice_remove": {
+ "value": 0,
+ "from_u32le": false
+ }
+ }
+ },
+ "field_connections": {
+ "selection": {
+ "read": {
+ "to_end": true,
+ "offset": 0,
+ "length": 0,
+ "minimum_source_bytes": 0
+ },
+ "write": {
+ "to_end": false,
+ "offset": 0,
+ "length": 0,
+ "minimum_source_bytes": 8
+ },
+ "reply_input": true,
+ "view_definitions": 2,
+ "range_definitions": 1,
+ "runtime_view_steps": 1,
+ "write_step": 1,
+ "reply_step": 1,
+ "prepared_program_bytes": 680,
+ "steps": [
+ {
+ "source_step": 0,
+ "source": {
+ "offset": 8,
+ "length": 0,
+ "to_end": true
+ },
+ "offset": {
+ "value": 0,
+ "from_u32le": true
+ },
+ "length": {
+ "value": 4,
+ "from_u32le": true
+ }
+ }
+ ],
+ "write_effect": "write",
+ "splice_offset": {
+ "value": 0,
+ "from_u32le": false
+ },
+ "splice_remove": {
+ "value": 0,
+ "from_u32le": false
+ }
+ },
+ "reordered": {
+ "read": {
+ "to_end": true,
+ "offset": 0,
+ "length": 0,
+ "minimum_source_bytes": 0
+ },
+ "write": {
+ "to_end": false,
+ "offset": 0,
+ "length": 0,
+ "minimum_source_bytes": 11
+ },
+ "reply_input": true,
+ "view_definitions": 4,
+ "range_definitions": 1,
+ "runtime_view_steps": 1,
+ "write_step": 1,
+ "reply_step": 1,
+ "prepared_program_bytes": 680,
+ "steps": [
+ {
+ "source_step": 0,
+ "source": {
+ "offset": 11,
+ "length": 0,
+ "to_end": true
+ },
+ "offset": {
+ "value": 7,
+ "from_u32le": true
+ },
+ "length": {
+ "value": 3,
+ "from_u32le": true
+ }
+ }
+ ],
+ "write_effect": "write",
+ "splice_offset": {
+ "value": 0,
+ "from_u32le": false
+ },
+ "splice_remove": {
+ "value": 0,
+ "from_u32le": false
+ }
+ },
+ "field_get": {
+ "read": {
+ "to_end": true,
+ "offset": 11,
+ "length": 0,
+ "minimum_source_bytes": 11
+ },
+ "write": {
+ "to_end": true,
+ "offset": 0,
+ "length": 0,
+ "minimum_source_bytes": 0
+ },
+ "reply_input": false,
+ "view_definitions": 1,
+ "range_definitions": 0,
+ "runtime_view_steps": 0,
+ "write_step": 0,
+ "reply_step": 0,
+ "prepared_program_bytes": 680,
+ "steps": [],
+ "write_effect": "write",
+ "splice_offset": {
+ "value": 0,
+ "from_u32le": false
+ },
+ "splice_remove": {
+ "value": 0,
+ "from_u32le": false
+ }
+ }
+ },
+ "document_edits": {
+ "large_document_bytes": 1048576,
+ "small_edit_input_bytes": 11,
+ "storage_rewrites_full_extent": true,
+ "storage_scratch_bytes": 4096,
+ "kind": "correctness-and-admission-not-total-memory-or-performance"
+ },
+ "server_runs": [
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 6,
+ "payload_budget": 4194304,
+ "peak_connections": 1,
+ "accepted": 1,
+ "commits": 0,
+ "gets": 0,
+ "conflicts": 1,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 1,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 0,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 1048583,
+ "payload_budget": 4194304,
+ "peak_connections": 2,
+ "accepted": 41,
+ "commits": 12,
+ "gets": 14,
+ "conflicts": 4,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 31,
+ "ingress_prefix_copy_bytes": 11674,
+ "borrowed_output_bytes": 2115416,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 2553,
+ "payload_budget": 4194304,
+ "peak_connections": 1,
+ "accepted": 2,
+ "commits": 0,
+ "gets": 2,
+ "conflicts": 0,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 2,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 2556,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 1048576,
+ "payload_budget": 1048576,
+ "peak_connections": 8,
+ "accepted": 12,
+ "commits": 0,
+ "gets": 3,
+ "conflicts": 0,
+ "budget_rejections": 1,
+ "expired": 9,
+ "releases": 3,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 1048582,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 80,
+ "payload_budget": 4194304,
+ "peak_connections": 1,
+ "accepted": 2,
+ "commits": 2,
+ "gets": 0,
+ "conflicts": 0,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 2,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 0,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 16,
+ "payload_budget": 16,
+ "peak_connections": 1,
+ "accepted": 3,
+ "commits": 0,
+ "gets": 1,
+ "conflicts": 0,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 1,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 16,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 16,
+ "payload_budget": 16,
+ "peak_connections": 1,
+ "accepted": 2,
+ "commits": 0,
+ "gets": 1,
+ "conflicts": 0,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 1,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 16,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 12,
+ "payload_budget": 4194304,
+ "peak_connections": 1,
+ "accepted": 5,
+ "commits": 1,
+ "gets": 2,
+ "conflicts": 1,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 5,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 12,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 0,
+ "payload_budget": 1,
+ "peak_connections": 1,
+ "accepted": 3,
+ "commits": 0,
+ "gets": 1,
+ "conflicts": 0,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 0,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 0,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 1048576,
+ "payload_budget": 1048576,
+ "peak_connections": 2,
+ "accepted": 7,
+ "commits": 2,
+ "gets": 3,
+ "conflicts": 0,
+ "budget_rejections": 2,
+ "expired": 0,
+ "releases": 5,
+ "ingress_prefix_copy_bytes": 8006,
+ "borrowed_output_bytes": 3145734,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 54,
+ "payload_budget": 4194304,
+ "peak_connections": 1,
+ "accepted": 20,
+ "commits": 3,
+ "gets": 4,
+ "conflicts": 1,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 17,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 57,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 19,
+ "payload_budget": 4194304,
+ "peak_connections": 1,
+ "accepted": 2,
+ "commits": 1,
+ "gets": 1,
+ "conflicts": 0,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 2,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 8,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 14,
+ "payload_budget": 4194304,
+ "peak_connections": 1,
+ "accepted": 4,
+ "commits": 1,
+ "gets": 1,
+ "conflicts": 0,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 3,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 3,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 34,
+ "payload_budget": 4194304,
+ "peak_connections": 1,
+ "accepted": 3,
+ "commits": 3,
+ "gets": 0,
+ "conflicts": 0,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 3,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 0,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 23,
+ "payload_budget": 23,
+ "peak_connections": 1,
+ "accepted": 3,
+ "commits": 0,
+ "gets": 2,
+ "conflicts": 0,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 1,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 23,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 1048584,
+ "payload_budget": 1048584,
+ "peak_connections": 2,
+ "accepted": 4,
+ "commits": 1,
+ "gets": 2,
+ "conflicts": 0,
+ "budget_rejections": 1,
+ "expired": 0,
+ "releases": 3,
+ "ingress_prefix_copy_bytes": 3998,
+ "borrowed_output_bytes": 2097091,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 9,
+ "payload_budget": 4194304,
+ "peak_connections": 1,
+ "accepted": 1,
+ "commits": 1,
+ "gets": 0,
+ "conflicts": 0,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 1,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 1,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 29,
+ "payload_budget": 4194304,
+ "peak_connections": 1,
+ "accepted": 10,
+ "commits": 1,
+ "gets": 4,
+ "conflicts": 1,
+ "budget_rejections": 0,
+ "expired": 0,
+ "releases": 10,
+ "ingress_prefix_copy_bytes": 7,
+ "borrowed_output_bytes": 113,
+ "server_structure_bytes": 41528
+ },
+ {
+ "active": 0,
+ "retained_payload_bytes": 0,
+ "peak_retained_payload_bytes": 11,
+ "payload_budget": 11,
+ "peak_connections": 1,
+ "accepted": 2,
+ "commits": 1,
+ "gets": 0,
+ "conflicts": 0,
+ "budget_rejections": 1,
+ "expired": 0,
+ "releases": 1,
+ "ingress_prefix_copy_bytes": 0,
+ "borrowed_output_bytes": 3,
+ "server_structure_bytes": 41528
+ }
+ ],
+ "storage": "immutable-byte-extents-v1",
+ "execution_core": {
+ "runtime_tests": "passed",
+ "domain_bytes": 200,
+ "work_slot_bytes": 224,
+ "ticket_bytes": 24,
+ "prepared_program_bytes": 680,
+ "forwarding_chain": 1024,
+ "native_storage_pipeline": true
+ },
+ "execution_core_test_sha256": "07c328c98769d02d544aea2fc5389048a7620c00d9b3ea49b9c7ba45e33984b1",
+ "document_edit_units": {
+ "splice_tests": "passed",
+ "checks": [
+ "authored-fields-and-atomic-parse-failure",
+ "binary-edit-oracle-and-old-snapshot",
+ "bounds-conflict-size-overflow",
+ "publication-failures-and-uncertain-durability",
+ "cancel-admission-and-borrowed-reply"
+ ]
+ },
+ "document_edit_test_sha256": "0e4ec2c78334af2056af376a6ba9aef7416a34c6d4fbd9082f4abb640e6de28c",
+ "editor_sha256": "b5c6ec82a1e9c8a1391d1c4ac680e7f33e53dafe5c29ac8a956d5097653b1a03",
+ "binary_sha256": "e76d4c0a721c9ceb7142db0edbaa1f5c44bd78a2c55029658109c83e8076875f",
+ "environment": {
+ "platform": "Linux-6.18.39+rpt-rpi-2712-aarch64-with-glibc2.41",
+ "machine": "aarch64",
+ "python": "3.14.7",
+ "node": "v24.20.0"
+ },
+ "source_sha256": {
+ "prototypes/connections/flow.c": "3957de06e33985a8310954af07b33c2a1d02a4afdf9bd112d06c99c0b5df7749",
+ "prototypes/connections/flow.h": "289ff43d191270066e238235023f096946f3f561ec5825d2f6c26006db5fc421",
+ "prototypes/connections/store.c": "44702e9414c26d1ee336b2e36e6713560013c2c8d0091a8900042e2468f88015",
+ "prototypes/connections/store.h": "e3cf5f169be02e40f1274105046f29a63a46cd153beaf204d33d6100b9c869b8",
+ "prototypes/connections/program.c": "d7186634d2bfd83bbaf87ea3bafdec8d14be8f556cbf3d9877d07e0074b4b389",
+ "prototypes/connections/program.h": "b9ea0af3759150637ccba9362ccb73be374ed85b449b0461fc61fb14ee50e8bc",
+ "prototypes/connections/runtime.c": "a6c068c6a2cee214b3fe30241459394833917dfb6c0d33052460eab4c6a539a2",
+ "prototypes/connections/runtime.h": "ff03c0be92dcc482247a58a0be54d2dc5c270325b51ceeed37afc2ffa5480b1f",
+ "prototypes/connections/result.h": "00b6cf02262039fd90b197eb781f38c9771beaa8d65f394cba6d3f8d0b2ae79d",
+ "prototypes/connections/evaluate.c": "ee8b91efc733b9d305711b7cbb7b502ae5d3917e06f750b7f62b632ed0ea6d04",
+ "prototypes/connections/store-port.c": "d6bf17878b325e039360816edcbf8d68e41b373cf3e6128d7795e11ae21fdd6f",
+ "prototypes/connections/store-port.h": "a262bac93463bfe9939ca0bdc5989d1665aafc007d61e93c28ffc36478b1fde6",
+ "prototypes/connections/test-runtime.c": "5d08639b5a71572553bda47cbd35562805d601aaa81f20731cd9154768ec025e",
+ "prototypes/connections/server.c": "76645bafe8e4e429155efe96c2d05a59aed506ba89736283e4fdae71a3d9a60f",
+ "prototypes/connections/check.py": "e1735316769b4ce4d5904b9587ccfa3ebeafa26517c53dba4491191d58c97b8e",
+ "prototypes/connections/check_edits.py": "7699eb4bda57ad860acf7be6da3e6de56d6b9a3dcf3b9ff9c7df104f5bcb9224",
+ "prototypes/connections/edit.c": "793d0bde277563c9e11f1225804fb1646e4ce495979d16e8d70d00322a7bec7b",
+ "prototypes/connections/test-splice.c": "2415188c89ff413f10d55a8cf1902e76c585cc4102f01d504bbf84dbe8d90a8f",
+ "prototypes/connections/test-flow.c": "2cd2618015ba6806b1a733af0fc7d0ed6aec48fdec117d18c3a8160f534e130b",
+ "prototypes/connections/test-program.c": "a1b65be05ab2e4e5ccbc56cd1e03e17b0d885f15dc027bf295371ec821e19cc8",
+ "prototypes/connections/test-fields.c": "e5856ae1985dc8407565ebf7b65702478a34a05081c955f127a10d3cdc900507",
+ "prototypes/connections/Makefile": "c0767afe55bdb13e1308414116047ad76d5b105c7b4162d7220c78c1d1a4076e",
+ "prototypes/connections/core-layout.c": "e802b4976c53755ffc045ae9114ebdcf2989d526d8c871c3cfe89d057f4b82b0",
+ "prototypes/connections/check_core.py": "f80ead11764e870f0bde434c93233d518e5874fdb32f77444e7bd8bbe7398a10",
+ "prototypes/connections/core-budget.json": "b4eceaffce900144470dd29076164039b8729bad4ba849789d212e7c952f5082",
+ "prototypes/connections/examples/editor.pure": "8ca6c191b98bf53a592ce24f2b5cd040e41f05c4ccdda7a072d5d7f79870c06a",
+ "prototypes/connections/examples/storage.pure": "6f2fd3733f46b762836405f40a9720de0b865f92a8bcbf9388dda0532c903c74",
+ "prototypes/connections/examples/excerpt.pure": "7ca1b9a4b6a06c32b95e37bcdeb2202ef912ffbf16163f7eea2b00574c703c16",
+ "prototypes/connections/examples/selection.pure": "90a19a080dd31b532163b8063057beee4701d8f74163ac4083833a1d664fe986",
+ "prototypes/connections/examples/select-text.py": "3211ce21bf6058f0131544959272587af4edb3fd5a956aee0a940ab19888f944",
+ "prototypes/workbench/remote.mjs": "6f5aa2bc5a3c88749b2b688c5631eed9e4a5ab41d72eca168bfb67941a8cff2f",
+ "prototypes/workbench/cli.mjs": "55a5ead56fc8ad4c3f2391505fc3dbfa477ccff5b68fc208f700da24d5e194da",
+ "prototypes/workbench/web/core.wasm": "e5187c44f8d2df952a85e4cf8102b71dbec6c43420893b3544a6f8514a1bff5c",
+ "prototypes/workbench/web/runtime.mjs": "9cf12270bb39b3d6ce0384c56df8bdfabfd9459d3375cc7819290a5fe3e5db54",
+ "prototypes/workbench/web/compiler.mjs": "349139612d1f7da5f75ef21c65aa697963b760cb35321150fc36f67f3b40adf1",
+ "prototypes/workbench/web/project.mjs": "8af4cd1a60bbb217c896be20c7c6b8d33989f2166d06e736bf1479d8ecdc8b35",
+ "prototypes/workbench/examples/direct.pure": "57177e5197d75a6185cd3ac5df2be920ddba9a9b0fcc2dddab3560b815249f0a"
+ }
+}
+make: Leaving directory '/home/eunhhu/work/pure/prototypes/connections'
diff --git a/prototypes/connections/results/2026-09-24-document-peer/dynamic.txt b/prototypes/connections/results/2026-09-24-document-peer/dynamic.txt
new file mode 100644
index 0000000..ff4f898
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/dynamic.txt
@@ -0,0 +1,31 @@
+
+Dynamic section at offset 0xfda8 contains 28 entries:
+ Tag Type Name/Value
+ 0x0000000000000001 (NEEDED) Shared library: [libssl.so.3]
+ 0x0000000000000001 (NEEDED) Shared library: [libcrypto.so.3]
+ 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
+ 0x000000000000000c (INIT) 0x1c18
+ 0x000000000000000d (FINI) 0x92f8
+ 0x0000000000000019 (INIT_ARRAY) 0x1fd98
+ 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
+ 0x000000000000001a (FINI_ARRAY) 0x1fda0
+ 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
+ 0x000000006ffffef5 (GNU_HASH) 0x2b0
+ 0x0000000000000005 (STRTAB) 0xc48
+ 0x0000000000000006 (SYMTAB) 0x2d0
+ 0x000000000000000a (STRSZ) 1217 (bytes)
+ 0x000000000000000b (SYMENT) 24 (bytes)
+ 0x0000000000000015 (DEBUG) 0x0
+ 0x0000000000000003 (PLTGOT) 0x1ffe8
+ 0x0000000000000002 (PLTRELSZ) 2256 (bytes)
+ 0x0000000000000014 (PLTREL) RELA
+ 0x0000000000000017 (JMPREL) 0x1348
+ 0x0000000000000007 (RELA) 0x1258
+ 0x0000000000000008 (RELASZ) 240 (bytes)
+ 0x0000000000000009 (RELAENT) 24 (bytes)
+ 0x000000006ffffffb (FLAGS_1) Flags: PIE
+ 0x000000006ffffffe (VERNEED) 0x11d8
+ 0x000000006fffffff (VERNEEDNUM) 3
+ 0x000000006ffffff0 (VERSYM) 0x110a
+ 0x000000006ffffff9 (RELACOUNT) 4
+ 0x0000000000000000 (NULL) 0x0
diff --git a/prototypes/connections/results/2026-09-24-document-peer/file-sizes.txt b/prototypes/connections/results/2026-09-24-document-peer/file-sizes.txt
new file mode 100644
index 0000000..c625025
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/file-sizes.txt
@@ -0,0 +1,2 @@
+68312 /tmp/pure-document-peer.stripped
+213080 prototypes/connections/build/pure-document-peer
diff --git a/prototypes/connections/results/2026-09-24-document-peer/hashes.txt b/prototypes/connections/results/2026-09-24-document-peer/hashes.txt
new file mode 100644
index 0000000..0546b43
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/hashes.txt
@@ -0,0 +1,4 @@
+7d6f7cac8422a800fa4407e76c29ce21aa0931020ee2f4aa7b0ae646b88aa034 prototypes/connections/document-peer.c
+df259073c5e1cd911495b48d4ccd43c8346d955a19a8773964abe58089fbebf9 prototypes/common/tls-link.c
+297a5d41b129ad134f5a398069565a1de0793024e6aa483def1dc1e09ebd1443 prototypes/common/tls-link.h
+e0bec4f698ce6b561a6caa8464636317409011e3101c48649cf5585c33ec9d31 prototypes/connections/build/pure-document-peer
diff --git a/prototypes/connections/results/2026-09-24-document-peer/package-check.json b/prototypes/connections/results/2026-09-24-document-peer/package-check.json
new file mode 100644
index 0000000..a6031fc
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/package-check.json
@@ -0,0 +1,19 @@
+{
+ "archive_sha256": "dc3f7339bf5aa22b11eb5ac4c8b4a547168e0e06e65c8003a545f70a31500081",
+ "archive_bytes": 316927,
+ "selected_hosts": [
+ "pure-edit",
+ "pure-connections",
+ "pure-document-peer",
+ "pure-edit-window"
+ ],
+ "checks": [
+ "relocated archive has only declared files and every file hash matches",
+ "extracted native CLI creates and restores the real document",
+ "editing the packaged .pure source changes the executed reply",
+ "extracted C/Python TLS peers share a 1 MiB document and recover",
+ "extracted GTK window, CLI and HTTP adapter edit the same document"
+ ],
+ "peer_idle_rss_kib": 7840,
+ "peer_after_large_work_rss_kib": 9488
+}
diff --git a/prototypes/connections/results/2026-09-24-document-peer/package-hashes.txt b/prototypes/connections/results/2026-09-24-document-peer/package-hashes.txt
new file mode 100644
index 0000000..825f3e9
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/package-hashes.txt
@@ -0,0 +1,3 @@
+dc3f7339bf5aa22b11eb5ac4c8b4a547168e0e06e65c8003a545f70a31500081 dist/pure-document-linux-aarch64.tar.gz
+dc3f7339bf5aa22b11eb5ac4c8b4a547168e0e06e65c8003a545f70a31500081 /tmp/pure-document-repro.tar.gz
+dc3f7339bf5aa22b11eb5ac4c8b4a547168e0e06e65c8003a545f70a31500081 prototypes/connections/results/2026-09-24-document-peer/pure-document-linux-aarch64.tar.gz
diff --git a/prototypes/connections/results/2026-09-24-document-peer/peer-budget.json b/prototypes/connections/results/2026-09-24-document-peer/peer-budget.json
new file mode 100644
index 0000000..369a71c
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/peer-budget.json
@@ -0,0 +1,23 @@
+{
+ "passed": true,
+ "failures": [],
+ "profile": "linux-aarch64-gcc14-selected-document-peer",
+ "scope": "Review threshold for the explicitly selected authenticated document host on Linux AArch64/GCC 14. Includes linked application code but excludes the shared OpenSSL/libc implementations, process heap, stack, mappings and kernel buffers. Check measured whole-process RSS separately.",
+ "budget_sha256": "defe8efb4d544cdbf615de4d43d4ceba78fc7f1d958f245731202625052eb2ff",
+ "platform": "Linux-6.18.39+rpt-rpi-2712-aarch64-with-glibc2.41",
+ "binaries": {
+ "pure-document-peer": {
+ "sections": {
+ "text": 46878,
+ "data": 1384,
+ "bss": 16
+ },
+ "needed": [
+ "libc.so.6",
+ "libcrypto.so.3",
+ "libssl.so.3"
+ ],
+ "sha256": "e0bec4f698ce6b561a6caa8464636317409011e3101c48649cf5585c33ec9d31"
+ }
+ }
+}
diff --git a/prototypes/connections/results/2026-09-24-document-peer/peer-flow.json b/prototypes/connections/results/2026-09-24-document-peer/peer-flow.json
new file mode 100644
index 0000000..32f3991
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/peer-flow.json
@@ -0,0 +1,16 @@
+{
+ "profile": "selected-authenticated-document-peer",
+ "checks": [
+ "mutual certificate identity, server hostname and ALPN separation",
+ "program source identity checked before C client sends work",
+ "persistent external TLS client: create, read, conflict and recovery",
+ "native peer edit and local CLI use the same authored document and storage",
+ "fragmented 1 MiB direct ingress, demand-selected reply and one-byte splice",
+ "native C peer uploads 1 MiB and receives only the requested metadata",
+ "incomplete, invalid and oversized frames do not publish a change",
+ "idle authenticated session closes after deadline",
+ "server restart and native C peer preserve the committed large document"
+ ],
+ "server_idle_rss_kib": 7840,
+ "server_after_large_work_rss_kib": 9488
+}
diff --git a/prototypes/connections/results/2026-09-24-document-peer/peer-sanitized.json b/prototypes/connections/results/2026-09-24-document-peer/peer-sanitized.json
new file mode 100644
index 0000000..c1e698c
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/peer-sanitized.json
@@ -0,0 +1,16 @@
+{
+ "profile": "selected-authenticated-document-peer",
+ "checks": [
+ "mutual certificate identity, server hostname and ALPN separation",
+ "program source identity checked before C client sends work",
+ "persistent external TLS client: create, read, conflict and recovery",
+ "native peer edit and local CLI use the same authored document and storage",
+ "fragmented 1 MiB direct ingress, demand-selected reply and one-byte splice",
+ "native C peer uploads 1 MiB and receives only the requested metadata",
+ "incomplete, invalid and oversized frames do not publish a change",
+ "idle authenticated session closes after deadline",
+ "server restart and native C peer preserve the committed large document"
+ ],
+ "server_idle_rss_kib": 22592,
+ "server_after_large_work_rss_kib": 31632
+}
diff --git a/prototypes/connections/results/2026-09-24-document-peer/pure-document-linux-aarch64.tar.gz b/prototypes/connections/results/2026-09-24-document-peer/pure-document-linux-aarch64.tar.gz
new file mode 100644
index 0000000..006e71d
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/pure-document-linux-aarch64.tar.gz
Binary files differ
diff --git a/prototypes/connections/results/2026-09-24-document-peer/scalar-refactor.json b/prototypes/connections/results/2026-09-24-document-peer/scalar-refactor.json
new file mode 100644
index 0000000..a1cf089
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/scalar-refactor.json
@@ -0,0 +1 @@
+{"alpn": "pass", "disconnect_release": "pass", "idle_deadline": "pass", "malformed_frames": "pass", "mutual_authentication": "pass", "persist_restart": "pass", "python_client": "pass", "revision_conflict": "pass", "server_connected_rss_kib": 8400, "server_hostname": "pass", "server_idle_rss_kib": 7824}
diff --git a/prototypes/connections/results/2026-09-24-document-peer/size.txt b/prototypes/connections/results/2026-09-24-document-peer/size.txt
new file mode 100644
index 0000000..a37699e
--- /dev/null
+++ b/prototypes/connections/results/2026-09-24-document-peer/size.txt
@@ -0,0 +1,2 @@
+ text data bss dec hex filename
+ 46878 1384 16 48278 bc96 prototypes/connections/build/pure-document-peer