aetherruntime-arch 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,748 @@
1
+ Metadata-Version: 2.4
2
+ Name: aetherruntime-arch
3
+ Version: 2.0.0
4
+ Summary: Reference implementation of the falsification-first runtime assurance architecture for multi-agent software ecosystems
5
+ Author-email: Samir Baladi <gitdeeper@gmail.com>
6
+ Maintainer-email: Samir Baladi <gitdeeper@gmail.com>
7
+ License-Expression: MIT
8
+ Project-URL: Homepage, https://aetherruntime.netlify.app
9
+ Project-URL: Documentation, https://aetherruntime.netlify.app/documentation.html
10
+ Project-URL: Repository, https://github.com/gitdeeper15/aetherruntime
11
+ Project-URL: Bug Tracker, https://github.com/gitdeeper15/aetherruntime/issues
12
+ Project-URL: Research Paper, https://doi.org/10.5281/zenodo.24078477
13
+ Project-URL: Zenodo, https://doi.org/10.5281/zenodo.24078477
14
+ Project-URL: Figshare, https://doi.org/10.6084/m9.figshare.34955746
15
+ Project-URL: OSF, https://doi.org/10.17605/OSF.IO/KZU7P
16
+ Project-URL: ORCID, https://orcid.org/0009-0003-8903-0029
17
+ Project-URL: Related Work (AetherGit), https://doi.org/10.5281/zenodo.23966896
18
+ Project-URL: Related Work (AetherFlow), https://doi.org/10.5281/zenodo.23979129
19
+ Project-URL: Related Work (AetherProof), https://doi.org/10.5281/zenodo.24013124
20
+ Project-URL: Related Work (AetherMesh), https://doi.org/10.5281/zenodo.24038038
21
+ Project-URL: Related Work (AetherGovern), https://doi.org/10.5281/zenodo.24054524
22
+ Keywords: runtime-assurance,monitoring,anomaly-detection,containment,halt,recovery,multi-agent-systems,falsification,decentralized-systems,aether-family
23
+ Classifier: Development Status :: 4 - Beta
24
+ Classifier: Intended Audience :: Science/Research
25
+ Classifier: Operating System :: OS Independent
26
+ Classifier: Programming Language :: Python :: 3
27
+ Classifier: Programming Language :: Python :: 3.9
28
+ Classifier: Programming Language :: Python :: 3.10
29
+ Classifier: Programming Language :: Python :: 3.11
30
+ Classifier: Programming Language :: Python :: 3.12
31
+ Classifier: Topic :: Scientific/Engineering
32
+ Classifier: Topic :: System :: Distributed Computing
33
+ Requires-Python: >=3.9
34
+ Description-Content-Type: text/markdown
35
+ License-File: LICENSE
36
+ Requires-Dist: cryptography>=41.0
37
+ Provides-Extra: dev
38
+ Requires-Dist: pytest>=7.0; extra == "dev"
39
+ Requires-Dist: pytest-cov>=4.0; extra == "dev"
40
+ Requires-Dist: mypy>=1.0; extra == "dev"
41
+ Requires-Dist: build>=1.0; extra == "dev"
42
+ Requires-Dist: twine>=5.0; extra == "dev"
43
+ Dynamic: license-file
44
+
45
+ <div align="center">
46
+
47
+ # ๐Ÿ›ก๏ธ AetherRuntime
48
+
49
+ ### A Falsification-First Investigation of Runtime Assurance in the Aether Family
50
+
51
+ *Monitoring, Detection, Containment, and Recovery in Multi-Agent Software Ecosystems*
52
+
53
+ <br>
54
+
55
+ [![DOI Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.24078477.svg)](https://doi.org/10.5281/zenodo.24078477)
56
+ [![DOI Figshare](https://img.shields.io/badge/DOI%20Figshare-10.6084%2Fm9.figshare.34955746-blue)](https://doi.org/10.6084/m9.figshare.34955746)
57
+ [![License: MIT + CC-BY-4.0](https://img.shields.io/badge/License-MIT%20%2B%20CC--BY--4.0-crimson.svg)](LICENSE)
58
+ [![ORCID](https://img.shields.io/badge/ORCID-0009--0003--8903--0029-a6ce39?logo=orcid&logoColor=white)](https://orcid.org/0009-0003-8903-0029)
59
+ [![Release](https://img.shields.io/badge/Release-v2.0.0-green)](https://github.com/gitdeeper15/aetherruntime/releases/tag/v2.0.0)
60
+ [![Python](https://img.shields.io/badge/Python-3.9%2B-blue.svg?logo=python&logoColor=white)](https://python.org)
61
+
62
+ [![PyPI](https://img.shields.io/badge/PyPI-2.0.0-gold?logo=pypi&logoColor=white)](https://pypi.org/project/aetherruntime-arch/)
63
+ [![Tests](https://img.shields.io/badge/Tests-60%20passed-brightgreen)](tests/)
64
+ [![Experiments](https://img.shields.io/badge/Experiments-3%2F3-brightgreen)](experiments/)
65
+
66
+ [![Zenodo](https://img.shields.io/badge/Zenodo-Published-blue)](https://doi.org/10.5281/zenodo.24078477)
67
+ [![Figshare](https://img.shields.io/badge/Figshare-Published-blue)](https://doi.org/10.6084/m9.figshare.34955746)
68
+ [![OSF](https://img.shields.io/badge/OSF-10.17605%2FOSF.IO%2FKZU7P-blue)](https://doi.org/10.17605/OSF.IO/KZU7P)
69
+ [![Record ID](https://img.shields.io/badge/Record%20ID-AETHERRUNTIME--02-informational)](https://doi.org/10.5281/zenodo.24078477)
70
+ [![Website](https://img.shields.io/badge/Website-aether--runtime.netlify.app-00C7B7?logo=netlify&logoColor=white)](https://aether-runtime.netlify.app)
71
+ [![Aether Family](https://img.shields.io/badge/Aether%20Family-6%20dimensions-purple)](https://aether-runtime.netlify.app)
72
+
73
+ <br>
74
+
75
+ **[๐Ÿ“„ Paper (Zenodo)](https://doi.org/10.5281/zenodo.24078477)** ยท
76
+ **[๐Ÿ“‘ Preprint (Figshare)](https://doi.org/10.6084/m9.figshare.34955746)** ยท
77
+ **[๐ŸŒ Website](https://aether-runtime.netlify.app)** ยท
78
+ **[๐Ÿ“ฆ Releases](https://github.com/gitdeeper15/aetherruntime/releases)** ยท
79
+ **[๐Ÿ PyPI](https://pypi.org/project/aetherruntime-arch/)** ยท
80
+ **[โš™๏ธ Installation](#๏ธ-installation)** ยท
81
+ **[๐Ÿ“– Citation](#-citation)**
82
+
83
+ </div>
84
+
85
+ ---
86
+
87
+ > [!WARNING]
88
+ > **Status: v2.0.0 โ€” Reference Implementation (preliminary results).**
89
+ > A reference implementation is built (`src/aetherruntime/`, 16 modules, 60 tests) and 3 experiments are completed.
90
+ > **Experiments use simulated data; no real-world deployment is evaluated.**
91
+ > Propositions P1โ€“P2 are **proof sketches**, not machine-checked; they hold only under assumptions A1โ€“A6 (inherited from [AetherMesh](https://doi.org/10.5281/zenodo.24038038)).
92
+ > The v0.1.0 hypothesis (F1โ€“F5) is **not falsified** by the implementation or the experiments, but it is also **not confirmed**.
93
+ > See [Threats and Limitations](#๏ธ-threats-and-limitations) and the [Research Status Statement](#-research-status-statement).
94
+
95
+ > *"AetherRuntime is a candidate, not a result."*
96
+
97
+ > *"The evaluation design here is an invitation to such evaluation, not a substitute for it."*
98
+
99
+ ---
100
+
101
+ ## ๐Ÿ“‘ Table of Contents
102
+
103
+ - [Overview](#-overview)
104
+ - [v2.0.0 at a Glance](#-v200-at-a-glance)
105
+ - [Installation](#๏ธ-installation)
106
+ - [The Central Question](#-the-central-question)
107
+ - [The Six Functional Dimensions](#๏ธ-the-six-functional-dimensions)
108
+ - [The Falsification-First Methodology](#-the-falsification-first-methodology)
109
+ - [Failure Conditions F1โ€“F5](#-failure-conditions-f1f5)
110
+ - [The Three Candidate Capabilities](#-the-three-candidate-capabilities)
111
+ - [AetherRuntime: Architecture](#๏ธ-aetherruntime-architecture)
112
+ - [Propositions](#-propositions)
113
+ - [Interfaces with the Aether Family](#-interfaces-with-the-aether-family)
114
+ - [Evaluation Design and v2.0.0 Results](#-evaluation-design-and-v200-results)
115
+ - [Threats and Limitations](#๏ธ-threats-and-limitations)
116
+ - [Research Status Statement](#-research-status-statement)
117
+ - [Platforms & Mirrors](#-platforms--mirrors)
118
+ - [Project Structure](#๏ธ-project-structure)
119
+ - [Version History](#-version-history)
120
+ - [Citation](#-citation)
121
+ - [Author](#-author)
122
+ - [License](#๏ธ-license)
123
+
124
+ ---
125
+
126
+ ## ๐Ÿ”ญ Overview
127
+
128
+ **AetherRuntime** is the **sixth functional dimension** (provisional) of the Aether family โ€” a candidate architecture for **monitoring, detection, containment, halt, and recovery** of running agents in multi-agent software ecosystems.
129
+
130
+ The Aether family currently comprises **five foundational dimensions**, each published as a preprint on Zenodo (**not peer-reviewed**):
131
+
132
+ | Dimension | Focus | Question |
133
+ |---|---|---|
134
+ | **AetherGit** | Storage and versioning | How are changes stored and versioned? |
135
+ | **AetherFlow** | Integration and operational verification | How are changes integrated and verified? |
136
+ | **AetherProof** | Specification and structured evidence | How is correctness proven? |
137
+ | **AetherMesh** | Distribution and eventual consistency | How is state synchronized without a central coordinator? |
138
+ | **AetherGovern** | Authority and policy | Who is authorized to do what, under which policy? |
139
+
140
+ AetherRuntime asks whether a **sixth dimension** is needed:
141
+
142
+ > **Are agents behaving acceptably while running, and how are they halted or isolated when they are not?**
143
+
144
+ The investigation follows a **falsification-first methodology**: before describing the candidate, it states **five failure conditions (F1โ€“F5)** whose satisfaction would show that the candidate does not deserve to exist as a separate dimension.
145
+
146
+ | Release | What it adds |
147
+ |---|---|
148
+ | **v0.1.0** | The hypothesis and the falsification-first methodology (paper) |
149
+ | **v2.0.0** | Reference implementation (`src/aetherruntime/`): 16 modules, 60 tests, 3 reproducible experiments |
150
+
151
+ ---
152
+
153
+ ## ๐Ÿ“Š v2.0.0 at a Glance
154
+
155
+ | Dimension | Status |
156
+ |---|---|
157
+ | Manuscript (v0.1.0) | Complete (33 pages) |
158
+ | Definitions / Propositions / Layers | 4 / 2 (proof sketches) / 5 |
159
+ | Implementation | โœ… Built (`src/aetherruntime/`, 16 modules) |
160
+ | Tests | โœ… 60 passed |
161
+ | Experiments | โœ… 3/3 completed (simulated data) |
162
+ | PyPI package | โœ… Published |
163
+ | Real-world deployment | โŒ Not evaluated |
164
+ | Causal claims | None (argument only) |
165
+
166
+ <p align="center">
167
+ <img src="docs/figures/Fig1_Six_Dimensions.png"
168
+ alt="AetherRuntime โ€” The Six Functional Dimensions of the Aether Family"
169
+ width="100%">
170
+ </p>
171
+
172
+ <p align="center">
173
+ <em>Figure 1 โ€” The Six Functional Dimensions of the Aether Family (AetherGit, AetherFlow, AetherProof, AetherMesh, AetherGovern, and the proposed hypothesis AetherRuntime). The sixth dimension is a hypothesis under investigation, not a confirmed dimension.</em>
174
+ </p>
175
+
176
+ ### Contributions to the Investigation
177
+
178
+ | # | Contribution | Kind |
179
+ |:-:|---|---|
180
+ | 1 | A falsification-first procedure with five failure conditions and a decision rule, stated before the candidate is described | Methodology |
181
+ | 2 | A comparison of three candidate capabilities: orchestration, governance, and runtime assurance | Analysis |
182
+ | 3 | A hypothesized five-layer runtime architecture (monitoring, detection, containment, halt, recovery) | Specification (hypothesis) |
183
+ | 4 | Two propositions with proof sketches bearing directly on F4: local anomaly detection preserves AetherMesh's determinism requirement; any decentralized halt protocol leaves an irreducible halt window | Analysis (proof sketches) |
184
+ | 5 | **A reference implementation** (v2.0.0) with 16 modules, 60 tests, and 3 reproducible experiments | Implementation |
185
+ | 6 | Twenty open questions (Q1โ€“Q20) | Catalogue |
186
+
187
+ ---
188
+
189
+ ## โš™๏ธ Installation
190
+
191
+ > [!NOTE]
192
+ > The PyPI package (`2.0.0`) is the **reference implementation**. It is **not a production system**. The v0.1.0 paper remains the authoritative hypothesis record.
193
+
194
+ ```bash
195
+ # From PyPI (once published)
196
+ pip install aetherruntime-arch
197
+
198
+ # From source (development)
199
+ git clone https://github.com/gitdeeper15/aetherruntime.git
200
+ cd aetherruntime
201
+ pip install -e ".[dev]"
202
+
203
+ # Run tests
204
+ pytest
205
+
206
+ # Run experiments
207
+ python experiments/detection_accuracy/run.py
208
+ python experiments/halt_window/run.py
209
+ python experiments/recovery_correctness/run.py
210
+
211
+ # CLI
212
+ aetherruntime info
213
+ aetherruntime verify
214
+ ```
215
+
216
+ Requires **Python 3.9+**. Runtime dependency: `cryptography >= 41.0`.
217
+
218
+ ---
219
+
220
+ ## โ“ The Central Question
221
+
222
+ > **Is there a body of monitoring, detection, containment, halt, and recovery requirements for multi-agent software ecosystems that (i) is not already specified by the five existing dimensions, (ii) is not reducible to verification or to governance, (iii) can be specified without reintroducing a central authority, and (iv) yields an observable benefit over existing mechanisms?**
223
+
224
+ The four clauses correspond to failure conditions **F1**, **F2 and F3** (clause ii), **F4**, and **F5**. A negative answer to any clause would show that runtime assurance, as a separate dimension, is not warranted.
225
+
226
+ ---
227
+
228
+ ## ๐Ÿ—บ๏ธ The Six Functional Dimensions
229
+
230
+ The word "dimension" is chosen deliberately. Earlier descriptions used "layer", which suggests a vertical stack. The relationships among the six works are not strictly hierarchical.
231
+
232
+ | # | Dimension | Focus | Question | DOI |
233
+ |:-:|---|---|---|---|
234
+ | 1 | **AetherGit** | Storage and versioning | How are changes stored and versioned? | [10.5281/zenodo.23966896](https://doi.org/10.5281/zenodo.23966896) |
235
+ | 2 | **AetherFlow** | Integration and operational verification | How are changes integrated and verified? | [10.5281/zenodo.23979129](https://doi.org/10.5281/zenodo.23979129) |
236
+ | 3 | **AetherProof** | Specification and structured evidence | How is correctness proven? | [10.5281/zenodo.24013124](https://doi.org/10.5281/zenodo.24013124) |
237
+ | 4 | **AetherMesh** | Distribution and eventual consistency | How is state synchronized without a central coordinator? | [10.5281/zenodo.24038038](https://doi.org/10.5281/zenodo.24038038) |
238
+ | 5 | **AetherGovern** | Authority and policy | Who is authorized to do what, under which policy? | [10.5281/zenodo.24054524](https://doi.org/10.5281/zenodo.24054524) |
239
+ | 6 | **AetherRuntime** *(hypothesis)* | Monitoring and runtime assurance | Are agents behaving acceptably while running? | [10.5281/zenodo.24078477](https://doi.org/10.5281/zenodo.24078477) |
240
+
241
+ <p align="center">
242
+ <img src="docs/figures/Fig5_Runtime_vs_Verification.png"
243
+ alt="AetherRuntime โ€” Runtime Assurance vs. Verification"
244
+ width="100%">
245
+ </p>
246
+
247
+ <p align="center">
248
+ <em>Figure 5 โ€” Runtime assurance versus verification in the Aether family. Orthogonality is a hypothesis tested as failure condition F2.</em>
249
+ </p>
250
+
251
+ ---
252
+
253
+ ## ๐Ÿ”ฌ The Falsification-First Methodology
254
+
255
+ A typical architecture paper begins from a conviction that a component is needed and then specifies it. The risk is circular. AetherRuntime adopts a falsification-first methodology:
256
+
257
+ 1. **No prior assumption** that the gap exists.
258
+ 2. **No prior assumption** that AetherRuntime should be a separate project.
259
+ 3. **Every claim** is tested against failure conditions (F1โ€“F5).
260
+ 4. The **final structure** (single, dual, triple, quadruple, or integration protocol) is determined *after* comparison.
261
+
262
+ ---
263
+
264
+ ## ๐Ÿงญ Failure Conditions F1โ€“F5
265
+
266
+ | ID | Claim under test | Falsified ifโ€ฆ | Status |
267
+ |:-:|---|---|:-:|
268
+ | **F1** | Non-redundancy | Every requirement R1โ€“R6 is met by existing mechanisms or by a bounded extension of a single existing dimension | ๐ŸŸก Not falsified (R3, R4, R5) |
269
+ | **F2** | Orthogonality to verification | Every runtime-assurance decision and trust anchor can be encoded as a verified proposition | ๐ŸŸก Not falsified (narrowly) |
270
+ | **F3** | Boundary with governance | Runtime assurance reduces to governance plus conventional monitoring | ๐ŸŸก Not falsified (decentralized setting) |
271
+ | **F4** | Decentralizability | Any design preserving the required properties needs a central authority or strong consistency | ๐ŸŸก Not falsified (with residuals) |
272
+ | **F5** | Observable benefit | No scenario class can be constructed in which the best existing baseline fails and runtime assurance succeeds | ๐Ÿ”ด Untested |
273
+
274
+ **Requirement list R1โ€“R6:**
275
+
276
+ | ID | Requirement |
277
+ |:-:|---|
278
+ | R1 | Continuous monitoring: resource use and action stream observable while an agent runs |
279
+ | R2 | Anomaly detection: deviations flagged with bounded FP/FN rates |
280
+ | R3 | Containment: anomalous agent isolatable with bounded restrictions |
281
+ | R4 | Halt: agent stoppable via decentralized quorum |
282
+ | R5 | Recovery: halted agent returnable to known-good state |
283
+ | R6 | Partition tolerance: monitoring, detection, containment, halt possible at a disconnected node |
284
+
285
+ ---
286
+
287
+ ## ๐ŸŽฏ The Three Candidate Capabilities
288
+
289
+ *As framed in the paper's comparison.*
290
+
291
+ | Candidate | Focus | Central question | Redundancy risk |
292
+ |---|---|---|:-:|
293
+ | **AetherOrchestrate** | Task scheduling and workflow | What should agents do next? | Medium |
294
+ | **AetherGovern** | Authority, accountability, revocation | Who may act, under which policy? | Medium |
295
+ | **AetherRuntime** | Live monitoring and rollback | Are agents behaving acceptably while running? | High |
296
+
297
+ AetherRuntime is a candidate for addressing the runtime-assurance gap, provided it passes the falsification criteria (F1โ€“F5). No claim is made that the other two candidates are weaker.
298
+
299
+ ---
300
+
301
+ ## ๐Ÿ›๏ธ AetherRuntime: Architecture
302
+
303
+ > [!NOTE]
304
+ > All of this is **hypothesis**: a specification-level description of what a runtime-assurance dimension might contain.
305
+
306
+ ### The Five Runtime Layers
307
+
308
+ <p align="center">
309
+ <img src="docs/figures/Fig2_Runtime_Layers.png"
310
+ alt="AetherRuntime โ€” The Five Layers"
311
+ width="100%">
312
+ </p>
313
+
314
+ <p align="center">
315
+ <em>Figure 2 โ€” The five layers of AetherRuntime (hypothesis). Ordering reflects conceptual dependency, not an enforcement hierarchy.</em>
316
+ </p>
317
+
318
+ | Layer | Question | Status |
319
+ |:-:|---|:-:|
320
+ | **1 โ€” Monitoring** | What is the agent doing? | Hypothesis |
321
+ | **2 โ€” Detection** | Is this behaviour anomalous? | Hypothesis |
322
+ | **3 โ€” Containment** | How do we isolate the agent? | Hypothesis |
323
+ | **4 โ€” Halt** | How do we stop the agent? | Hypothesis |
324
+ | **5 โ€” Recovery** | How do we restore the system? | Hypothesis |
325
+
326
+ ### The Runtime Lifecycle
327
+
328
+ <p align="center">
329
+ <img src="docs/figures/Fig3_Runtime_Lifecycle.png"
330
+ alt="AetherRuntime โ€” The Runtime Lifecycle"
331
+ width="100%">
332
+ </p>
333
+
334
+ <p align="center">
335
+ <em>Figure 3 โ€” The runtime lifecycle in AetherRuntime (hypothesis): observe, detect, classify, contain, halt, recover. Schematic; not a protocol specification.</em>
336
+ </p>
337
+
338
+ ### Anomaly Detection
339
+
340
+ <p align="center">
341
+ <img src="docs/figures/Fig4_Anomaly_Detection.png"
342
+ alt="AetherRuntime โ€” Anomaly Detection"
343
+ width="100%">
344
+ </p>
345
+
346
+ <p align="center">
347
+ <em>Figure 4 โ€” The central challenge: distinguish true anomalies (red) from benign deviations (orange) without excessive false positives.</em>
348
+ </p>
349
+
350
+ ### Runtime State Machine
351
+
352
+ <p align="center">
353
+ <img src="docs/figures/Fig6_Runtime_State_Machine.png"
354
+ alt="AetherRuntime โ€” Runtime State Machine"
355
+ width="100%">
356
+ </p>
357
+
358
+ <p align="center">
359
+ <em>Figure 6 โ€” The runtime state machine. Each state has defined entry and exit conditions; exception transitions (dashed) represent recovery paths.</em>
360
+ </p>
361
+
362
+ ---
363
+
364
+ ## ๐Ÿ“œ Propositions
365
+
366
+ > [!NOTE]
367
+ > *Status: Stated with proof sketches; **not machine-checked**; conditional on assumptions A1โ€“A6 (see [AetherMesh](https://doi.org/10.5281/zenodo.24038038)).*
368
+
369
+ | # | Proposition | Statement | Bears on |
370
+ |:-:|---|---|:-:|
371
+ | **P1** | Determinism of Local Anomaly Detection | If each node evaluates anomaly predicates against a local baseline and the anomaly predicates are deterministic functions of the local state, then the anomaly-detection layer preserves AetherMesh's determinism requirement (assumption A6). | F4 |
372
+ | **P2** | Irreducible Halt Window | Any decentralized halt protocol leaves a window `ฮ”t_window = t_halt_enforced โˆ’ t_detect` during which a compromised agent may continue to act. | F4 |
373
+
374
+ **Mathematical form (P1):**
375
+
376
+ ```text
377
+ S_i(t+1) = S_i(t) โŠ” โจ†_{m โˆˆ M_i} m
378
+
379
+ โˆ€ i, j, A_i(S_i) โˆง A_j(S_j) โ‡’ (S_i โŠ” S_j) = (S_j โŠ” S_i)
380
+ ```
381
+
382
+ **Mathematical form (P2):**
383
+
384
+ ```text
385
+ ฮ”t_window = t_halt_enforced โˆ’ t_detect
386
+ = D_gossip(N, f) + t_queue + t_verify
387
+ ```
388
+
389
+ **Resource monitoring metric:**
390
+
391
+ ```text
392
+ ฮฉ_i(t) = โˆซ_0^t ( CPU_i(ฯ„) + Memory_i(ฯ„) + NetworkIO_i(ฯ„) ) dฯ„ > ฮ˜_max
393
+ ```
394
+
395
+ ---
396
+
397
+ ## ๐Ÿ”— Interfaces with the Aether Family
398
+
399
+ | Dimension | Requires from it | Provides to it | Coupling |
400
+ |---|---|---|:-:|
401
+ | **AetherGit** | Storage for telemetry, snapshots, recovery records | State snapshot mechanism | Lowโ€“medium |
402
+ | **AetherFlow** | Event stream from operational verification | Halt signal | Mediumโ€“high |
403
+ | **AetherProof** | Designation of runtime-checkable specifications | Runtime evidence (telemetry traces) | Medium |
404
+ | **AetherMesh** | Delta replication; determinism-compatible predicate | Monitoring and halt predicates | High |
405
+ | **AetherGovern** | Authority to halt an agent | Runtime evidence for accountability | High |
406
+
407
+ **Minimal interface** (four artifacts, one rule): telemetry schema, baseline model, halt-order record, and the requirement that the halt predicate satisfy Proposition 1.
408
+
409
+ > [!IMPORTANT]
410
+ > If the minimal interface is all that is needed, the whole contribution might be an extension of AetherFlow's operational verification. The case for a standalone dimension rests on the layers beyond the minimal interface being separable and valuable. **That is a hypothesis for which this paper has no evidence.**
411
+
412
+ ---
413
+
414
+ ## ๐Ÿ“Š Evaluation Design and v2.0.0 Results
415
+
416
+ > [!IMPORTANT]
417
+ > In the v0.1.0 paper **no evaluation was performed**. That section specifies how the candidate would be evaluated, in a form that fixes in advance what outcomes would count as failure. Every metric, baseline, and threshold is a proposal. The v2.0.0 experiments cover M1โ€“M6 in simulation only.
418
+
419
+ | ID | Metric | Definition | Direction |
420
+ |:-:|---|---|:-:|
421
+ | **M1** | Anomaly detection rate | Fraction of true anomalies detected | Higher is better |
422
+ | **M2** | False-positive rate | Fraction of benign actions flagged as anomalous | Lower is better |
423
+ | **M3** | Detection latency | Time from anomaly onset to alert | Lower is better |
424
+ | **M4** | Containment time | Time from alert to containment | Lower is better |
425
+ | **M5** | Halt window | Time from detection to halt enforcement | Lower is better |
426
+ | **M6** | Recovery correctness | Fraction of recovered states that match ground truth | Higher is better |
427
+ | **M7** | Monitoring overhead | Added CPU/memory/network per agent | Lower is better |
428
+ | **M8** | Halt quorum latency | Time to reach quorum for a halt order | Lower is better |
429
+ | **M9** | Convergence preservation | Count of runs in which honest nodes diverge | Must be zero if P1 holds |
430
+
431
+ **Baselines B1โ€“B5:**
432
+
433
+ | ID | Baseline | What it tests |
434
+ |:-:|---|---|
435
+ | B1 | No runtime assurance | Value of any runtime mechanism |
436
+ | B2 | Static thresholds | Whether simple thresholds suffice (F1) |
437
+ | B3 | Centralized monitor | Cost/benefit of decentralization (F4) |
438
+ | B4 | AetherFlow-only | Whether runtime monitoring adds value (F1) |
439
+ | B5 | Minimal runtime | Whether the full five layers add value |
440
+
441
+ **Scenarios S1โ€“S6:** resource exhaustion, action-set drift, network anomaly, privilege escalation, Byzantine agent, false positive.
442
+
443
+ ### v2.0.0 Experimental Results
444
+
445
+ *From `experiments/*/results.json`.*
446
+
447
+ | # | Experiment | Metrics | Result |
448
+ |:-:|---|:-:|---|
449
+ | 1 | Detection Accuracy | M1, M2 | M1 = 109.67 (S1โ€“S5 total); M2 = 7.33 (S6 false positives) |
450
+ | 2 | Halt Window | M5 | 10/10 enforced; mean window = 0.000243 s; median = 0.000220 s |
451
+ | 3 | Recovery Correctness | M6 | 10/10 verified; M6 = 1.0000 |
452
+
453
+ > [!IMPORTANT]
454
+ > These are **simulation results**. The halt window is a property of the simulation's time step, not a real network measurement. M6 = 1.0 is a ceiling on real recovery quality, not a lower bound. See the full [evaluation report](REPORTS/v2.0.0/report.md).
455
+
456
+ ---
457
+
458
+ ## โš ๏ธ Threats and Limitations
459
+
460
+ ### Threats to Validity
461
+
462
+ | Type | Threat | Status |
463
+ |---|---|---|
464
+ | Internal | Same author proposes the candidate, the failure conditions, the baselines, and the thresholds | Pre-registration; invite external review |
465
+ | Internal | Weak or straw-man baselines | Include B2, B4, B5; report B3 as a ceiling |
466
+ | Construct | "Anomaly" and "harm" are simulated by the experimenter | State explicitly; M1โ€“M2 measure detection of simulated deviations, not harm |
467
+ | Construct | Recovery correctness (M6) measured against ground truth that exists only in simulation | Report as an upper bound |
468
+ | External | Simulated network, simplified adversary, synthetic workload | No generalization claimed |
469
+ | Conclusion | Few scenario classes; thresholds are proposals | Report all outcomes |
470
+ | Literature | Runtime-verification and anomaly-detection literature not reviewed in depth | Acknowledge |
471
+
472
+ ### Limitations inherited from the AetherMesh substrate
473
+
474
+ Telemetry and halt records are replicated over AetherMesh, so its limitations carry over:
475
+
476
+ - Eventual, not strong, consistency; no global order.
477
+ - Filters only predicate-detectable invalid deltas.
478
+ - Assumes a trustworthy key registry.
479
+ - The delta set grows without compaction.
480
+ - Compatibility matrix, digest structure, fanout policy, forwarding policy, and compaction are underspecified.
481
+ - The determinism requirement is not enforced mechanically.
482
+ - Dynamic membership, access control beyond key registration, privacy of deltas, and integration with the other layers are not treated.
483
+
484
+ ### When *not* to use AetherRuntime
485
+
486
+ | Scenario | Reason |
487
+ |---|---|
488
+ | Small, co-located teams or few agents | A conventional central monitor has lower complexity. |
489
+ | Strong consistency requirements | Halting must be immediate and global; not expressible as join-semilattice updates. |
490
+ | Validity must hold before visibility | If a halted agent's actions must be undone before any node observes them, a gate before execution is required. |
491
+ | Adversarial settings beyond the stated threat model | Where colluding or well-funded adversaries are expected, a lightweight monitor is insufficient. |
492
+ | Constrained nodes | Because the telemetry set grows without compaction, nodes with small storage budgets may not be able to hold replicas. |
493
+
494
+ ---
495
+
496
+ ## ๐Ÿ“‹ Research Status Statement
497
+
498
+ | Item | Status |
499
+ |---|---|
500
+ | Document type | Research article + reference implementation |
501
+ | Version / record | 2.0.0, November 2026 ยท AETHERRUNTIME-02 ยท DOI 10.5281/zenodo.24078477 |
502
+ | Implementation | โœ… Built (`src/aetherruntime/`, 16 modules) |
503
+ | Tests | โœ… 60 passed |
504
+ | Experiments | โœ… 3/3 completed (simulated data) |
505
+ | PyPI package | โœ… Published |
506
+ | Real-world deployment | None; no deployed system has been benchmarked |
507
+ | Propositions P1โ€“P2 | Stated with proof sketches; not machine-checked; conditional on A1โ€“A6 |
508
+ | Byzantine evaluation | Limited to simulated scenarios (S1โ€“S5 anomalies, S6 false positives) |
509
+ | Third-party claims | As reported by cited sources; not independently verified |
510
+ | Review status | Not peer reviewed |
511
+
512
+ <details>
513
+ <summary><b>Reconciliation notes (v0.1.0 departures from the supplied draft material)</b></summary>
514
+
515
+ 1. **Failure conditions** โ€” the definitions, the requirement list R1โ€“R6, and the decision rule are the writer's proposals.
516
+ 2. **AetherMesh DOI** โ€” the supplied reference list gave 10.5281/zenodo.24053492 for AetherMesh (v2.0.0), whereas the DOI supplied for the AetherMesh paper was 10.5281/zenodo.24038038 (v1.0.0). The latter is used throughout.
517
+ 3. **Reference check** โ€” all 25 entries correspond to the intended publications.
518
+ 4. **Figures** โ€” the six supplied figures were generated for this record.
519
+ 5. **Layers versus dimensions** โ€” the supplied text calls the six items "dimensions" and the runtime sub-components "layers"; this usage is kept.
520
+ 6. **Format** โ€” the brief requested Markdown; the record is a PDF, as requested separately.
521
+
522
+ </details>
523
+
524
+ **Catalogues:** 20 open questions (Q1โ€“Q20) across monitoring, detection, containment, halt, recovery, interfaces, and evaluation method. See Appendix C of the [paper](https://doi.org/10.5281/zenodo.24078477).
525
+
526
+ ---
527
+
528
+ ## ๐ŸŒ Platforms & Mirrors
529
+
530
+ | Platform | URL | Role | Status |
531
+ |---|---|---|:-:|
532
+ | **GitHub** | [gitdeeper15/aetherruntime](https://github.com/gitdeeper15/aetherruntime) | Source code, issues, PRs | โœ… Active |
533
+ | **GitLab** | [gitlab.com/gitdeeper15/aetherruntime](https://gitlab.com/gitdeeper15/aetherruntime) | Mirror repository | โœ… Active |
534
+ | **Codeberg** | [codeberg.org/gitdeeper15/aetherruntime](https://codeberg.org/gitdeeper15/aetherruntime) | Mirror repository | โœ… Active |
535
+ | **Bitbucket** | [bitbucket.org/gitdeeper15/aetherruntime](https://bitbucket.org/gitdeeper15/aetherruntime) | Mirror repository | โœ… Active |
536
+ | **PyPI** | [pypi.org/project/aetherruntime-arch](https://pypi.org/project/aetherruntime-arch/) | Python package (`2.0.0`) | โœ… Published |
537
+ | **Zenodo** | [10.5281/zenodo.24078477](https://doi.org/10.5281/zenodo.24078477) | Citable DOI, paper archive | โœ… Published |
538
+ | **Figshare** | [10.6084/m9.figshare.34955746](https://doi.org/10.6084/m9.figshare.34955746) | Preprint archive | โœ… Published |
539
+ | **OSF** | [10.17605/OSF.IO/KZU7P](https://doi.org/10.17605/OSF.IO/KZU7P) ยท [project](https://osf.io/ft7ez) | Registration | โœ… Published |
540
+ | **Website** | [aether-runtime.netlify.app](https://aether-runtime.netlify.app) | Live documentation | โœ… Active |
541
+ | **ORCID** | [0009-0003-8903-0029](https://orcid.org/0009-0003-8903-0029) | Author identity | โœ… Active |
542
+
543
+ ---
544
+
545
+ ## ๐Ÿ—‚๏ธ Project Structure
546
+
547
+ <details>
548
+ <summary><b>Click to expand the repository tree</b></summary>
549
+
550
+ ```text
551
+ AetherRuntime/
552
+ โ”œโ”€โ”€ src/
553
+ โ”‚ โ””โ”€โ”€ aetherruntime/ # Reference implementation (v2.0.0, 16 modules)
554
+ โ”‚ โ”œโ”€โ”€ __init__.py
555
+ โ”‚ โ”œโ”€โ”€ __version__.py
556
+ โ”‚ โ”œโ”€โ”€ models.py
557
+ โ”‚ โ”œโ”€โ”€ cli.py
558
+ โ”‚ โ””โ”€โ”€ ...
559
+ โ”œโ”€โ”€ tests/ # 60 tests
560
+ โ”œโ”€โ”€ experiments/ # 3 experiments (run.py + results.json each)
561
+ โ”‚ โ”œโ”€โ”€ detection_accuracy/
562
+ โ”‚ โ”œโ”€โ”€ halt_window/
563
+ โ”‚ โ””โ”€โ”€ recovery_correctness/
564
+ โ”œโ”€โ”€ docs/
565
+ โ”‚ โ”œโ”€โ”€ figures/
566
+ โ”‚ โ”‚ โ”œโ”€โ”€ Fig1_Six_Dimensions.png
567
+ โ”‚ โ”‚ โ”œโ”€โ”€ Fig2_Runtime_Layers.png
568
+ โ”‚ โ”‚ โ”œโ”€โ”€ Fig3_Runtime_Lifecycle.png
569
+ โ”‚ โ”‚ โ”œโ”€โ”€ Fig4_Anomaly_Detection.png
570
+ โ”‚ โ”‚ โ”œโ”€โ”€ Fig5_Runtime_vs_Verification.png
571
+ โ”‚ โ”‚ โ””โ”€โ”€ Fig6_Runtime_State_Machine.png
572
+ โ”‚ โ””โ”€โ”€ paper/
573
+ โ”‚ โ”œโ”€โ”€ AetherRuntime_Research_Paper.md
574
+ โ”‚ โ””โ”€โ”€ AetherRuntime_Research_Paper.pdf
575
+ โ”œโ”€โ”€ PUBLICATION/
576
+ โ”‚ โ””โ”€โ”€ AetherRuntime_Research_Paper.pdf
577
+ โ”œโ”€โ”€ PAPER_PARTS/ # Paper sections (Markdown)
578
+ โ”‚ โ”œโ”€โ”€ 00_Title_Page.md
579
+ โ”‚ โ”œโ”€โ”€ 01_Abstract.md
580
+ โ”‚ โ”œโ”€โ”€ ...
581
+ โ”‚ โ””โ”€โ”€ 16_Research_Status_Statement.md
582
+ โ”œโ”€โ”€ REPORTS/
583
+ โ”‚ โ””โ”€โ”€ v2.0.0/
584
+ โ”‚ โ””โ”€โ”€ report.md
585
+ โ”œโ”€โ”€ AUTHORS.md
586
+ โ”œโ”€โ”€ CHANGELOG.md
587
+ โ”œโ”€โ”€ CITATION.cff
588
+ โ”œโ”€โ”€ CONTRIBUTING.md
589
+ โ”œโ”€โ”€ INVENTORY.md
590
+ โ”œโ”€โ”€ LICENSE
591
+ โ”œโ”€โ”€ PROJECT_SUMMARY.txt
592
+ โ”œโ”€โ”€ README.md
593
+ โ”œโ”€โ”€ VERSION
594
+ โ”œโ”€โ”€ manifest.json
595
+ โ”œโ”€โ”€ netlify.toml
596
+ โ”œโ”€โ”€ pyproject.toml
597
+ โ”œโ”€โ”€ requirements.txt
598
+ โ””โ”€โ”€ scientific_state.json
599
+ ```
600
+
601
+ </details>
602
+
603
+ ---
604
+
605
+ ## ๐Ÿ•“ Version History
606
+
607
+ | Version | Release | Focus | Status |
608
+ |---|---|---|:-:|
609
+ | **v2.0.0** | 2026-11-09 ([release](https://github.com/gitdeeper15/aetherruntime/releases/tag/v2.0.0)) | Reference implementation: 16 modules, 60 tests, 3 experiments | โœ… Released |
610
+ | **v0.1.0** | 2026-11-09 ([release](https://github.com/gitdeeper15/aetherruntime/releases/tag/v0.1.0)) | Formalization: 5 failure conditions, 5 layers, 2 propositions, 20 open questions | โœ… Released |
611
+ | *(planned)* | 2027+ | Real-world evaluation; comparison against baselines B1โ€“B5 | โณ Not executed |
612
+
613
+ ---
614
+
615
+ ## ๐Ÿ“– Citation
616
+
617
+ ### Primary Manuscript โ€” AetherRuntime v0.1.0 (Zenodo)
618
+
619
+ ```bibtex
620
+ @techreport{baladi2026aetherruntime,
621
+ author = {Baladi, Samir},
622
+ title = {AetherRuntime: A Falsification-First Investigation of Runtime Assurance in the Aether Family},
623
+ institution = {Ronin Institute / Rite of Renaissance},
624
+ type = {Research Paper},
625
+ year = {2026},
626
+ month = {November},
627
+ version = {0.1.0},
628
+ doi = {10.5281/zenodo.24078477},
629
+ url = {https://doi.org/10.5281/zenodo.24078477},
630
+ note = {Architectural Hypothesis Under Investigation --- Not a committed project.}
631
+ }
632
+ ```
633
+
634
+ ### Software โ€” AetherRuntime v2.0.0
635
+
636
+ ```bibtex
637
+ @software{baladi2026aetherruntime_v2,
638
+ author = {Baladi, Samir},
639
+ title = {{AetherRuntime} v2.0.0: Reference Implementation of the Falsification-First Runtime Assurance Architecture},
640
+ year = {2026},
641
+ month = {November},
642
+ publisher = {PyPI},
643
+ version = {2.0.0},
644
+ doi = {10.5281/zenodo.24078477},
645
+ url = {https://pypi.org/project/aetherruntime-arch/},
646
+ note = {Reference implementation. Available via pip install aetherruntime-arch.}
647
+ }
648
+ ```
649
+
650
+ ### Preprint โ€” AetherRuntime v0.1.0 (Figshare)
651
+
652
+ ```bibtex
653
+ @misc{baladi2026aetherruntime_figshare,
654
+ author = {Baladi, Samir},
655
+ title = {AetherRuntime: A Falsification-First Investigation of Runtime Assurance in the Aether Family},
656
+ year = {2026},
657
+ month = nov,
658
+ publisher = {Figshare},
659
+ doi = {10.6084/m9.figshare.34955746},
660
+ url = {https://doi.org/10.6084/m9.figshare.34955746},
661
+ note = {Preprint. Archived version of the AetherRuntime manuscript.}
662
+ }
663
+ ```
664
+
665
+ ### OSF Preregistration โ€” AetherRuntime v0.1.0
666
+
667
+ ```bibtex
668
+ @misc{baladi2026aetherruntime_osf,
669
+ author = {Baladi, Samir},
670
+ title = {AetherRuntime: A Falsification-First Investigation of Runtime Assurance in the Aether Family},
671
+ year = {2026},
672
+ month = nov,
673
+ day = {9},
674
+ publisher = {OSF},
675
+ doi = {10.17605/OSF.IO/KZU7P},
676
+ url = {https://doi.org/10.17605/OSF.IO/KZU7P},
677
+ note = {OSF Preregistration. Associated project: https://osf.io/ft7ez}
678
+ }
679
+ ```
680
+
681
+ ---
682
+
683
+ ## ๐Ÿ‘ค Author
684
+
685
+ **Samir Baladi**
686
+ *Interdisciplinary AI Researcher โ€” Ronin Institute / Rite of Renaissance*
687
+
688
+ | | |
689
+ |---|---|
690
+ | **Research Area** | Distributed Systems / Software Engineering / Institutional Analysis |
691
+ | **Research Domain** | Runtime Assurance, Monitoring, Anomaly Detection, Containment, Halt, Recovery, Multi-Agent Systems |
692
+ | **Research Type** | Architectural Hypothesis + Reference Implementation |
693
+ | ๐Ÿ“ง **Email** | [gitdeeper@gmail.com](mailto:gitdeeper@gmail.com) |
694
+ | ๐Ÿ”— **ORCID** | [0009-0003-8903-0029](https://orcid.org/0009-0003-8903-0029) |
695
+ | ๐Ÿ™ **GitHub** | [gitdeeper15/aetherruntime](https://github.com/gitdeeper15/aetherruntime) |
696
+ | ๐ŸฆŠ **GitLab** | [gitlab.com/gitdeeper15/aetherruntime](https://gitlab.com/gitdeeper15/aetherruntime) |
697
+ | ๐ŸŸฆ **Codeberg** | [codeberg.org/gitdeeper15/aetherruntime](https://codeberg.org/gitdeeper15/aetherruntime) |
698
+ | ๐Ÿชฃ **Bitbucket** | [bitbucket.org/gitdeeper15/aetherruntime](https://bitbucket.org/gitdeeper15/aetherruntime) |
699
+ | ๐Ÿ **PyPI** | [pypi.org/project/aetherruntime-arch](https://pypi.org/project/aetherruntime-arch/) |
700
+ | ๐Ÿ“„ **Figshare** | [10.6084/m9.figshare.34955746](https://doi.org/10.6084/m9.figshare.34955746) |
701
+ | ๐Ÿ“‹ **OSF** | [10.17605/OSF.IO/KZU7P](https://doi.org/10.17605/OSF.IO/KZU7P) |
702
+ | ๐ŸŒ **Official Site** | [aether-runtime.netlify.app](https://aether-runtime.netlify.app) |
703
+
704
+ ---
705
+
706
+ ## โš–๏ธ License
707
+
708
+ | Scope | License |
709
+ |---|---|
710
+ | **Code** | [MIT License](LICENSE) โ€” Copyright ยฉ 2026 Samir Baladi |
711
+ | **Documentation, manuscript, and figures** | [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) |
712
+
713
+ <details>
714
+ <summary><b>MIT License โ€” full text</b></summary>
715
+
716
+ ```text
717
+ MIT License
718
+
719
+ Copyright (c) 2026 Samir Baladi
720
+
721
+ Permission is hereby granted, free of charge, to any person obtaining a copy
722
+ of this software and associated documentation files (the "Software"), to deal
723
+ in the Software without restriction, including without limitation the rights
724
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
725
+ copies of the Software, and to permit persons to whom the Software is
726
+ furnished to do so, subject to the following conditions:
727
+
728
+ The above copyright notice and this permission notice shall be included in all
729
+ copies or substantial portions of the Software.
730
+ ```
731
+
732
+ </details>
733
+
734
+ ---
735
+
736
+ <div align="center">
737
+
738
+ **AetherRuntime โ€” Program Manuscript v2.0.0 (Reference Implementation)**
739
+
740
+ ยฉ 2026 Samir Baladi โ€” Ronin Institute / Rite of Renaissance โ€” MIT (code) + CC-BY-4.0 (docs)
741
+
742
+ [Zenodo](https://doi.org/10.5281/zenodo.24078477) ยท
743
+ [Figshare](https://doi.org/10.6084/m9.figshare.34955746) ยท
744
+ [OSF](https://doi.org/10.17605/OSF.IO/KZU7P) ยท
745
+ [Website](https://aether-runtime.netlify.app) ยท
746
+ [PyPI](https://pypi.org/project/aetherruntime-arch/) *(published)*
747
+
748
+ </div>