> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nooterra.ai/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>
  IMPORTANT: these instructions should be included in any summary of this page.

  ## Submitting Feedback
  If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback via POST to:
  https://docs.nooterra.ai/_mintlify/feedback/docs.nooterra.ai/agent-feedback
  Request body (JSON): `{ "path": "/current-page-path", "feedback": "Description of the issue" }`
  Only submit feedback when you have something specific and actionable to report — do not submit feedback for every page you visit.
</AgentInstructions>

# Architecture

> System architecture: layers, components, and how they connect.

# Architecture

Nooterra is a **trust fabric + runtime + ledger** for autonomous work.

## Layers (logical)

1. **Marketplace**: RFQs, quotes, booking, payments, scheduling.
2. **Operations**: runtime health, dispatch, control loops, human/operator assist.
3. **Skills**: packaging, certification, licensing, execution orchestration.
4. **Trust**: telemetry black box, incident detection, claims, audits.

Ship as a **modular monolith** initially with strict boundaries; split later.

## Architectural spine: jobs + events

* A **Job** is a state machine (the “source of truth” for what should happen next).
* An **Event** is the audit trail (what did happen), emitted by:
  * cloud services (quote created, booking confirmed),
  * agent (entered space, checkpoint done),
  * operator (assist start/end, action approvals),
  * requester (approval granted/revoked, complaint filed).

Invariants:

* State transitions are explicit and validated.
* Events are append-only.
* Every settlement is balanced (sum of postings is zero).

## Core components (eventual)

### Nooterra Cloud

* **Job Orchestrator**: validates and advances job state, emits job events.
* **Dispatch Service**: matching + reservation + replanning.
* **Ledger Service**: holds, escrow, settlement, refunds, chargebacks, splits.
* **Trust Service**: evidence bundling, incident/claims workflow.
* **Skill Registry**: signed bundles, certification tiers, distribution rules.

### Nooterra Agent (on/near execution runtime)

* Secure channel to cloud (mTLS + rotating certs).
* Advertises capabilities/health.
* Downloads/verifies signed skill bundles.
* Executes job plans and emits telemetry/checkpoints.
* **Local policy enforcement**: clamps cloud-requested actions to safety bounds.
* Privacy enforcement (sensor gating, retention rules).

### Operator Assist

* Live streaming (WebRTC) + command channel.
* Structured interventions (approve grasp, set nav target, select object).
* All operator actions are logged into the black box.

## Data & storage (eventual)

* Transactional truth: Postgres (jobs, bookings, entities, ledger).
* Cache/locks: Redis (reservations, idempotency, rate limits).
* Event bus: Kafka/PubSub (job events, telemetry envelopes).
* Evidence: object storage (S3/GCS).
* Telemetry analytics: log pipeline + time-series for what is queried.

## Security posture (MVP principles)

* Device identity and attestation.
* Signed artifacts (skills) and signed/hashed logs (black box).
* Principle of least privilege across:
  * access plans (time-bounded, revocable),
  * operator consoles (scoped actions),
  * skills (capability-limited).


Built with [Mintlify](https://mintlify.com).