Metadata-Version: 2.4
Name: lia-core
Version: 0.0.1
Summary: Lia sentinel-family core: contracts, 6 invariants, guarded executor.
Requires-Python: >=3.12
Requires-Dist: pydantic>=2.10
Requires-Dist: structlog>=24.4
Description-Content-Type: text/markdown

# lia-core

Constitutional core of the Lia sentinel family — the portable contracts and
runtime guarantees every Lia sentinel (`lia-gro`, `lia-code`, …) is built on.

## What it provides

- **Schemas** — `Finding`, `Proposal`, `Verdict`, `Manifest`, `AuditRecord`
  (pydantic v2, frozen).
- **6 invariants** (constitutional — never weakened):
  1. **never-auto-act** — Lia proposes; a human approves every outward action.
  2. **capability-confinement** — a sentinel holds at most 1 of the lethal
     trifecta (untrusted-read / sensitive-data / outward-act).
  3. **immutable audit-log** — append-only, hash-chained, tamper-detectable.
  4. **delivery-contract** — every output is a `Proposal` with a declared effect.
  5. **manifest-conformance** — a sentinel declares its manifest; the host checks it.
  6. **semver** — the public API is versioned.
- **GuardedExecutor** — the only path that can act; enforces confinement + audit.
- **Registry** — sentinels register against their manifest; the host selects.

## Status

`0.x` pre-freeze public API. The API freezes after the second consumer, per the
Lia platform design. Not yet a stable public contract.

## Install

```bash
uv pip install lia-core
```

Requires Python ≥ 3.12.