|
| 1 | +// SPDX-License-Identifier: CC-BY-SA-4.0 |
| 2 | +// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) |
| 3 | += AmbientOps |
| 4 | + |
| 5 | +image:https://img.shields.io/badge/License-MPL--2.0-blue.svg[License: PMPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] |
| 6 | +image:https://api.thegreenwebfoundation.org/greencheckimage/jewell.nexus[Green Hosting,link="https://www.thegreenwebfoundation.org/green-web-check/?url=jewell.nexus"] |
| 7 | + |
| 8 | +:toc: |
| 9 | +:toclevels: 3 |
| 10 | +:icons: font |
| 11 | +:source-highlighter: rouge |
| 12 | + |
| 13 | +AmbientOps is a hospital-model operations framework providing **trustworthy system help** without fearware, nagware, or scammy "optimizers". It is organised as a **hybrid monorepo**: core hospital departments live here, external tools stay as satellites. |
| 14 | + |
| 15 | +== Quick Start |
| 16 | + |
| 17 | +[source,bash] |
| 18 | +---- |
| 19 | +# Build everything (requires just, cargo, mix, deno) |
| 20 | +just build-all |
| 21 | +
|
| 22 | +# Run all tests |
| 23 | +just test-all |
| 24 | +
|
| 25 | +# Build Rust components only |
| 26 | +cargo build --workspace |
| 27 | +
|
| 28 | +# Run hardware scan with contract-conformant output |
| 29 | +cargo run -p hardware-crash-team -- scan --envelope |
| 30 | +
|
| 31 | +# Generate remediation plan |
| 32 | +cargo run -p hardware-crash-team -- plan 01:00.0 --procedure |
| 33 | +
|
| 34 | +# Emergency room with envelope output |
| 35 | +cd emergency-room && v run src/ trigger --envelope |
| 36 | +
|
| 37 | +# Generate system weather |
| 38 | +cd observatory && mix sysobs weather --output /tmp/ambientops/weather.json |
| 39 | +
|
| 40 | +# Run end-to-end demo |
| 41 | +./scripts/demo-flow.sh --build |
| 42 | +---- |
| 43 | + |
| 44 | +== Component Status |
| 45 | + |
| 46 | +[cols="1,1,1,1"] |
| 47 | +|=== |
| 48 | +| Component | Language | Tests | Maturity |
| 49 | + |
| 50 | +| contracts | JSON+Deno | 13 steps | 80% |
| 51 | +| contracts-rust | Rust | 7 | 80% |
| 52 | +| observatory | Elixir | 87 | 85% |
| 53 | +| emergency-room | V | 9 (3 files) | 75% |
| 54 | +| records/referrals | Elixir | 8 | 65% |
| 55 | +| hardware-crash-team | Rust | 27 | 75% |
| 56 | +| clinician | Rust | 16 | 55% |
| 57 | +| composer | Gleam (planned) | 0 | 10% |
| 58 | +|=== |
| 59 | + |
| 60 | +== The Hospital Model |
| 61 | + |
| 62 | +AmbientOps presents system tooling as four "departments": |
| 63 | + |
| 64 | +* **Ward** — System Weather + gentle ambient guidance (`observatory/`) |
| 65 | +* **Emergency Room** — Panic-safe intake with one-click stabilization (`emergency-room/`) |
| 66 | +* **Operating Room** — Planned procedures: Scan → Plan → Apply → Undo → Receipt (`clinician/`, `hardware-crash-team/`, `composer/`) |
| 67 | +* **Records** — Receipts, undo tokens, and referrals (`records/`) |
| 68 | + |
| 69 | +**Data flow:** Evidence Envelope → Procedure Plan → Receipt → System Weather |
| 70 | + |
| 71 | +See `docs/HOSPITAL_MODEL.adoc` for the full model. |
| 72 | + |
| 73 | +== Directory Structure |
| 74 | + |
| 75 | +[source] |
| 76 | +---- |
| 77 | +ambientops/ |
| 78 | +├── clinician/ (Rust, ~4400 LOC) — AI-assisted sysadmin [from personal-sysadmin] |
| 79 | +├── emergency-room/ (V, ~1800 LOC) — Panic-safe intake [from emergency-button] |
| 80 | +├── hardware-crash-team/ (Rust, ~700 LOC) — PCI zombie detection & remediation |
| 81 | +├── observatory/ (Elixir, ~600 LOC)— Metrics, weather, bundle ingestion |
| 82 | +├── contracts/ (JSON+Deno) — 8 JSON schemas + validators |
| 83 | +├── contracts-rust/ (Rust) — Serde types matching JSON schemas |
| 84 | +├── records/referrals/ (Elixir, ~400 LOC)— Multi-platform bug reporting MCP |
| 85 | +├── composer/ (Gleam, stubs) — Orchestration engine |
| 86 | +├── scripts/ — Demo and utility scripts |
| 87 | +├── docs/ — Documentation |
| 88 | +├── Cargo.toml — Rust workspace root |
| 89 | +└── .machine_readable/ — .machine_readable/6a2/STATE.a2ml, .machine_readable/6a2/ECOSYSTEM.a2ml, .machine_readable/6a2/META.a2ml |
| 90 | +---- |
| 91 | + |
| 92 | +== Contract Schemas |
| 93 | + |
| 94 | +The `contracts/` directory contains 8 JSON schemas that define the inter-component data format: |
| 95 | + |
| 96 | +[cols="1,2"] |
| 97 | +|=== |
| 98 | +| Schema | Purpose |
| 99 | + |
| 100 | +| `evidence-envelope` | A&E intake / scan output with artifacts and findings |
| 101 | +| `procedure-plan` | Operating Theatre steps with risk and reversibility |
| 102 | +| `receipt` | Execution result with undo bundle and evidence |
| 103 | +| `system-weather` | Ward UI payload: calm/watch/act with trends |
| 104 | +| `message-intent` | Command messaging between components |
| 105 | +| `run-bundle` | Execution bundle with completion info |
| 106 | +| `pack-manifest` | Scan pack definition with platform filters |
| 107 | +| `ambient-payload` | Ambient mode indicator data |
| 108 | +|=== |
| 109 | + |
| 110 | +The `contracts-rust/` crate provides Rust structs with `serde` serialization and `From` conversions from hardware-crash-team types. |
| 111 | + |
| 112 | +== Satellite Repos |
| 113 | + |
| 114 | +External tools that integrate with AmbientOps but live in their own repos: |
| 115 | + |
| 116 | +* **panic-attacker** — Software health scanner (feeds verisim) |
| 117 | +* **verisim** / **verisim-data** — Multimodal database for scan results |
| 118 | +* **hypatia** — Neurosymbolic CI/CD intelligence |
| 119 | +* **gitbot-fleet** — Bot orchestration (rhodibot, echidnabot, etc.) |
| 120 | +* **echidna** — Neurosymbolic theorem proving (30 prover backends) |
| 121 | +* **network-orchestrator** — Enterprise network management (planned) |
| 122 | +* **traffic-conditioner** — Continuous network optimization (planned) |
| 123 | + |
| 124 | +== Safety and Trust Principles |
| 125 | + |
| 126 | +* No fearware claims ("304 errors fixed!") |
| 127 | +* Evidence first: show measurements, not hype |
| 128 | +* Scan is non-mutating by default |
| 129 | +* Apply requires explicit approval |
| 130 | +* DRY RUN by default for all destructive operations |
| 131 | +* Undo and receipts are first-class |
| 132 | +* Privacy controls are visible and simple (local-only by default) |
| 133 | + |
| 134 | +== License |
| 135 | + |
| 136 | +MPL-2.0 (Palimpsest License). |
| 137 | + |
| 138 | + |
| 139 | +== Architecture |
| 140 | + |
| 141 | +See link:TOPOLOGY.md[TOPOLOGY.md] for a visual architecture map and completion dashboard. |
0 commit comments