You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
8
8
9
9
### Added
10
10
11
+
-**[INSTALL.md](INSTALL.md)** at repository root: install-from-source steps and the full verification checklist aligned with CI (format, clippy, tests, schema gate, open-verification SHA256, optional Hugo).
12
+
11
13
-**M0**: Workspace bootstrap, Apache 2.0 licensing, governance documents, planning encyclopedia under `plans/` (48 documents covering landscape, gaps, value proposition, implementation, evaluation, deployment blueprints, and per-runtime quickstarts).
12
14
-**M1**: Canonical event schema aligned with OpenTelemetry `gen_ai.*` semconv in `mara-schema`. Adapter/Sink/Policy trait surfaces in `mara-core`. Seven Architecture Decision Records covering license, WASM policy host, WAL format, hot reload, async runtime, error model, and configuration format.
@@ -20,17 +22,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
20
22
-**CI / M2-02**: `scripts/benchmarks/schema_completeness_gate.py` plus job `schema-completeness-gate` — at least three runtime fixtures must average ≥85% fill on seven required `gen_ai`/`resource` fields.
21
23
-**M2 (milestone board)**: Agent fields on `MaraExtensions`, gateway correlation id (`x-mara-request-id` / `mara.request_id`), dual latency metrics (gateway vs engine), `CostConfidence` for honest cost, parallel sink fan-out, `/readyz` readiness, bounded `/metrics` rendering, fan-out and sink-send-error counters, optional `server.metrics_max_in_flight_connections`, `docs/semconv.lock` + CI drift script, quickstarts, Kubernetes probe fragment, Phoenix/Presidio/eval OTLP notes, single-upstream proxy doc, vector/GPU spike ADR, Grafana compare-by-pipeline panel, and `scripts/materialize_agent_run_summary.py`.
22
24
-**Docs / CI**: Redacted Ollama+Mara live-run bundles in `docs/captured/open-verification/` (SHA256 manifest + `scripts/captured/verify_open_verification.sh`; CI job `open-verification-sha256`).
25
+
- Per-pipeline **`audit_policy_drops`** (default `false`): when enabled, a minimal `System` audit event (no body; correlation + `mara.policy_audit.*` + policy decisions) is sent to sinks on every policy drop. See `docs/observability/mara-policy-drop-audit.md`.
23
26
24
27
### Changed
25
28
26
29
-**Breaking (policy authors)**: `PolicyOutcome::Drop` now includes the dropped `Event`. Use `PolicyOutcome::drop(event, reason)` instead of `PolicyOutcome::drop(reason)`. `ChainOutcome::Drop` is now `{ reason, event }` instead of a bare `String`.
27
30
-**`/readyz` readiness**: `Health::is_aggregate_ready` is true only for `healthy` or `degraded` (not `starting`, `stopping`, `stopped`, or `failed`). `Adapter::health` / `Sink::health` default to `Health::healthy()` so typical pipelines stay ready unless an implementation opts into finer-grained status. See `docs/observability/mara-readyz-semantics.md`.
28
31
-**LLM proxy**: Response `x-mara-request-id` is always a header-safe value (ASCII fast path, stripped graphic ASCII fallback, or UUID) while events keep the logical correlation id from the client or minted UUID.
29
32
30
-
### Added
31
-
32
-
- Per-pipeline **`audit_policy_drops`** (default `false`): when enabled, a minimal `System` audit event (no body; correlation + `mara.policy_audit.*` + policy decisions) is sent to sinks on every policy drop. See `docs/observability/mara-policy-drop-audit.md`.
33
-
34
33
### Known gaps (pre-1.0)
35
34
36
35
-**OTLP**: HTTP/protobuf receivers for `/v1/logs` and `/v1/traces` are implemented in `mara-adapter-otlp`; optional gRPC (`:4317` style) logs+traces is available when `grpc_listen` is set. OTLP **HTTP exporters** in sinks are implemented; advanced exporter features remain incremental.
This document is the **canonical checklist** for anyone building from `main` (or any release tag). It mirrors what CI runs so you can reproduce a green build locally.
4
+
5
+
## Prerequisites
6
+
7
+
| Tool | Notes |
8
+
|------|--------|
9
+
|**Rust**| Use [rustup](https://rustup.rs/). The repo pins a toolchain in [`rust-toolchain.toml`](rust-toolchain.toml); `rustup` installs it automatically. |
10
+
|**Python 3**| For schema completeness and open-verification scripts (stdlib only). |
11
+
|**Hugo** (optional) |[Hugo Extended](https://gohugo.io/installation/) ≥ **0.120** to build the marketing site under [`website/`](website/README.md). |
12
+
13
+
## Install from source
14
+
15
+
```bash
16
+
git clone https://github.com/ArdurAI/mara.git
17
+
cd mara
18
+
cargo build --release -p mara-cli
19
+
```
20
+
21
+
The `mara` binary is at `target/release/mara`. Add it to your `PATH`, or run via `cargo run --release --bin mara -- …`.
22
+
23
+
### Example configuration
24
+
25
+
Copy [`examples/mara.toml`](examples/mara.toml) to `mara.toml`, adjust listen addresses and paths, then:
**Expected:** every command exits with status **0**. The schema script prints a table (≥85% fill on required fields for qualifying runtimes). The verification script confirms `docs/captured/open-verification/SHASUMS256`.
54
+
55
+
### Optional: Hugo site
56
+
57
+
```bash
58
+
cd website
59
+
hugo --gc --minify
60
+
```
61
+
62
+
Output is `website/public/`. For local preview: `hugo server -D`.
63
+
64
+
### Optional: Ollama smoke (needs Ollama)
65
+
66
+
Short cloud smoke (see script header for environment variables):
67
+
68
+
```bash
69
+
bash scripts/realworld/ollama_cloud_smoke.sh
70
+
```
71
+
72
+
## Where results are recorded
73
+
74
+
| Artifact | Purpose |
75
+
|----------|---------|
76
+
|`cargo test`| Rust test output in your terminal; CI logs on GitHub Actions. |
77
+
|[`docs/captured/open-verification/`](docs/captured/open-verification/README.md)| Redacted JSONL + manifest for reproducible checks. |
78
+
|[`.github/workflows/ci.yml`](.github/workflows/ci.yml)| Automated runs on pushes and PRs. |
79
+
80
+
## Contributing
81
+
82
+
After the steps above pass, follow [CONTRIBUTING.md](CONTRIBUTING.md) (DCO sign-off, focused PRs).
Copy file name to clipboardExpand all lines: README.md
+11-7Lines changed: 11 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Think Fluent Bit for AI workloads: a small, fast, edge-deployable binary that co
6
6
7
7
## Status
8
8
9
-
Pre-1.0. Active development on the v1 milestone plan ([MOS plan](plans/mara_mos_plan_d0da16c1.plan.md)).
9
+
Pre-1.0. **`main` is expected to stay green** with the checks in [INSTALL.md](INSTALL.md) (format, clippy, tests, schema gate, open-verification SHA256). Feature work may land on `dev` first; releases and default clone experience track **`main`**. Roadmap detail: [MOS plan](plans/mara_mos_plan_d0da16c1.plan.md).
Proxy tier (HTTP request/response capture for runtimes without native telemetry): **Ollama** (local LLM runtime).
20
20
21
-
**MVP target (in active development on `cursor/mara-mvp` branch):**Claude Code (Tier A) and Ollama (Proxy) end-to-end. The other five runtimes are scaffolded and activate in MVP+1. See[the MVP plan](plans/08-mvp/01-scope-and-decision-criteria.md).
21
+
**First-class paths on `main` today:**OTLP HTTP/protobuf (+ optional gRPC when configured), LLM HTTP proxy in front of Ollama/OpenAI-compatible servers, JSONL tail, file/stdout sinks, policy chain (redact, privacy, sample, deny), self-metrics (`/metrics`, `/healthz`, `/readyz`). Tier B/C adapters (hooks HTTP ingest, analytics polling) are configurable from TOML; see [docs/compat-matrix.md](docs/compat-matrix.md) and[the MVP plan](plans/08-mvp/01-scope-and-decision-criteria.md) for depth per runtime.
22
22
23
23
See the [compatibility matrix specification](plans/05-evaluation/02-compatibility-matrix-spec.md) for details.
├── website/ # Hugo static site (project homepage)
83
+
├── INSTALL.md # install + verification checklist for main
83
84
└── .github/ # CI and governance config
84
85
```
85
86
@@ -93,13 +94,16 @@ cd website && hugo server -D
93
94
94
95
See [`website/README.md`](website/README.md) for theme notes, production build, and CI. Set `baseURL` in `website/hugo.toml` before deploying.
95
96
96
-
## Build
97
+
## Install and verify
98
+
99
+
See **[INSTALL.md](INSTALL.md)** for a full install-from-source walkthrough and the exact command list used to validate `main` (including schema completeness and open-verification bundles).
The Rust toolchain is pinned via `rust-toolchain.toml`. `rustup` installs the right version on first use.
@@ -117,7 +121,7 @@ cargo run --bin mara -- --help
117
121
cargo run --bin mara -- version
118
122
```
119
123
120
-
In M0 the CLI is a scaffolded skeleton; real behaviors arrive in M2+ per the [phased milestones](plans/04-implementation/07-phased-milestones.md).
124
+
The CLI implements **`mara run`**, **`mara validate`**, **`mara version`**, and **`mara setup`** (presets); behavior is driven by `mara.toml`. See [phased milestones](plans/04-implementation/07-phased-milestones.md) for history and upcoming work.
0 commit comments