# Lattice AI

**Lattice AI is a local-first Digital Brain that keeps your knowledge durable across any AI model.**

**Lattice AI는 모델이 바뀌어도 내 지식과 맥락을 보존하는 로컬 우선 AI 브레인입니다.**

Your model is the voice you use today. Your Brain is the asset you keep.
Lattice AI preserves conversations, documents, decisions, project context,
relationships, and workflows on your computer by default. Cloud models, model
downloads, update checks, and other external communication happen only after
explicit consent.

It is not a ChatGPT clone, a model launcher, a graph database, or a note app.
It is a private AI memory layer wrapped in a Living Brain experience.

[![PyPI Version](https://img.shields.io/pypi/v/ltcai?label=PyPI)](https://pypi.org/project/ltcai/)
[![npm Version](https://img.shields.io/npm/v/ltcai?label=npm)](https://www.npmjs.com/package/ltcai)
[![VS Code Marketplace Version](https://vsmarketplacebadges.dev/version-short/parktaesoo.ltcai.svg)](https://marketplace.visualstudio.com/items?itemName=parktaesoo.ltcai)
[![Open VSX Version](https://img.shields.io/open-vsx/v/parktaesoo/ltcai?label=Open%20VSX)](https://open-vsx.org/extension/parktaesoo/ltcai)
[![CI Status](https://github.com/TaeSooPark-PTS/LatticeAI/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/TaeSooPark-PTS/LatticeAI/actions/workflows/ci.yml)
[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)

## Why You Need It

You need Lattice AI when:

- you ask different AI models about the same project and lose the context each time;
- your decisions are scattered across chats, notes, PDFs, folders, and tools;
- you want to switch models without rebuilding memory from zero;
- you want your AI Brain to stay on your computer by default;
- you want backup, restore, inspect, and export paths for your Brain.

이런 사람에게 필요합니다:

- 매번 AI를 바꿀 때마다 프로젝트 맥락을 다시 설명하는 사람
- 문서, 대화, 결정, 파일이 여기저기 흩어져 있는 사람
- 내 지식을 특정 AI 서비스 안에 묶어두고 싶지 않은 사람
- 로컬에 저장되는 개인 AI 브레인을 원하는 사람

## What You Can Do

- Chat with a Brain that remembers useful context instead of treating every
  session as disposable.
- Add documents, local folders, notes, screenshots, and conversations with
  source-aware memory.
- See recent memories, older memories, topics, relationships, and the full
  knowledge graph when you want deeper structure.
- Create consent-first Brain automation drafts for memory digests, project
  reviews, and follow-up suggestions before any schedule is enabled.
- Use a recommended local model without learning model internals first.
- Keep advanced controls, audit logs, roles, and retention in a separate Admin
  surface.
- Export or back up your Brain as an encrypted `.latticebrain` archive.

## One-Minute Flow

1. Launch the app.
2. Create or open a local profile.
3. Let Lattice explain what this computer can run.
4. Start with the recommended model, or skip and choose later.
5. Talk to your Brain.
6. Watch memories, topics, relationships, and graph structure emerge from real use.
7. Back up, inspect, export, or restore the Brain when you need ownership actions.

## Living Brain Flow

### 1. Login

Choose the owner of the Brain. The profile is not a SaaS account by default; it
is the local identity for the knowledge you keep.

![Login](output/release/v6.0.0/screenshots/01-login.png)

### 2. Environment Analysis

See what kind of local AI experience this computer can support before choosing a
model.

![Environment Analysis](output/release/v6.0.0/screenshots/02-environment-analysis.png)

### 3. Recommended Models

Start with a short list: safest recommendation, faster model, stronger model.
Advanced details stay available without overwhelming first-time users.

![Recommended Models](output/release/v6.0.0/screenshots/03-recommended-models.png)

### 4. Install And Load

Download and load only after consent. Lattice explains model size, local
execution, and network use before work starts.

![Install and Load](output/release/v6.0.0/screenshots/04-install-load-progress.png)

### 5. Brain Chat

Talk normally. Useful decisions and context become memory, then appear later as
topics, relationships, and graph structure.

![Brain Chat Home](output/release/v6.0.0/screenshots/05-brain-chat-home.png)

### 6. Review Center

Automation results are staged for review before they become durable decisions.
Snooze, unsnooze, run now, approve, and dismiss actions stay explicit.

![Review Center](output/release/v6.0.0/screenshots/13-review-center.png)

## Brain Depths

The user travels inward from everyday memory to deeper structure:

| Level | User name | What the user gets |
| --- | --- | --- |
| Level 1 | Now memory | The living Brain presence and current conversation context |
| Level 2 | Older memory | Durable memories with source-aware recall |
| Level 3 | Topics | Recurring themes across chats and documents |
| Level 4 | Relationships | How decisions, people, files, and ideas connect |
| Level 5 | Full knowledge graph | Nodes, edges, search, and focused detail for advanced exploration |

Walkthrough:

![v6.0.0 Living Brain walkthrough](output/release/v6.0.0/gifs/v6.0.0-living-brain-walkthrough.gif)

Screenshot index and capture notes:
[output/release/v6.0.0/SCREENSHOT_INDEX.md](output/release/v6.0.0/SCREENSHOT_INDEX.md)

## Install

Run from Python:

```bash
pip install ltcai
LTCAI
```

Run from npm:

```bash
npm install -g ltcai
ltcai
```

Open the local app:

```text
http://127.0.0.1:4825/app
```

Apple Silicon local model extras:

```bash
pip install "ltcai[local]"
```

## Architecture At A Glance

- **Product category**: local-first Digital Brain.
- **Core capability**: private AI memory layer for conversations, documents,
  decisions, relationships, workflows, and project context.
- **UX metaphor**: Living Brain.
- **Desktop shell**: Tauri 2 starts a localhost sidecar.
- **Frontend**: React, TypeScript, Vite, TanStack Query, Zustand, Cytoscape.js,
  React Flow, and generated OpenAPI types.
- **Backend**: FastAPI on localhost is the UI source of truth.
- **Brain Core**: independent `lattice_brain` package for graph, memory,
  context, conversations, ingestion, runtime, workflow, storage, and portability.
- **Storage**: SQLite default; PostgreSQL/pgvector is optional scale mode.
- **Portability**: encrypted `.latticebrain` archives plus backup, restore,
  inspect, verify, import dry-run, and confirmed restore/import flows.
- **Trust boundary**: local-first by default; cloud calls, downloads, Telegram,
  Brain Network, Docker/Postgres setup, and update checks are opt-in.
- **Admin separation**: normal Brain use stays separate from users, audit logs,
  policies, security events, retention, and index rebuilds.

See [ARCHITECTURE.md](ARCHITECTURE.md) for the current architecture.

## Local Development

```bash
npm install
npm run dev
```

Main validation set:

```bash
npm run check:python
node scripts/run_python.mjs -m ruff check .
npm run lint
npm run typecheck
npm run test:unit
npm run test:integration
npm run test:visual
npm run desktop:tauri:check
npm run docs:check-links
```

See [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for developer workflow details.

## Current Release Preparation

The current development target is **6.0.0 Product Reset / Review Center Completion**:

- Review Center now includes Pending, Snoozed, and All filters so users can find
  deferred automation suggestions without waiting for expiry.
- `/automation/reviews` adds explicit `unsnooze` support while preserving
  read-time snooze expiry and `run_now != approve` semantics.
- Review Center frontend code is split into `frontend/src/features/review/`
  modules instead of living inside the Act page.
- Review item frontend types are derived from regenerated OpenAPI component
- schemas, and Review Center API calls use generated operation paths for list
  and state-transition actions.
- `app_factory.py` is decomposed behind runtime seams for session, hooks, web
  shell, persistence, lifespan, automation, context/search, platform services,
  app context, and router registration while preserving the frozen 364-entry
  route/mount snapshot.
- First-run copy now states the local-first trust boundary more directly:
  knowledge stays on this computer by default, downloads/external transfer start
  only after user action, and models remain replaceable.
- All package/runtime/static/OpenAPI versions are synchronized to 6.0.0.

Expected artifacts for 6.0.0 release must use exact filenames:

- `dist/ltcai-6.0.0-py3-none-any.whl`
- `dist/ltcai-6.0.0.tar.gz`
- `ltcai-6.0.0.tgz`
- `dist/ltcai-6.0.0.vsix`
- `src-tauri/target/release/bundle/dmg/Lattice AI_6.0.0_aarch64.dmg`

Do not upload `dist/*`. Package registry publishing remains owner-run.

## Known Limitations

- External package registries are owner-published and can lag behind GitHub.
- PostgreSQL/pgvector is optional scale mode. SQLite is the default local Brain.
- Docker, model downloads, cloud model calls, Telegram, Brain Network, and update
  checks require explicit user action.
- Conversation does not fabricate answers when no model is loaded.
- Agent/workflow simulation without a loaded LLM is deterministic and does not
  call a model; it is labeled as LLM-free/model-free rather than presented as
  autonomous model success.

## Release History

| Version | Theme |
| --- | --- |
| 6.0.0 | Product Reset / Review Center Completion: Snoozed filter, Unsnooze, OpenAPI-derived Review typing, Review feature extraction, v6 docs and scorecard |
| 5.6.0 | Brain Automation Review Center: workspace-scoped automation review inbox, source-aware provenance, guarded approve/dismiss/snooze/run_now actions, and Act Review tab |
| 5.5.0 | Release Coordination: synchronized package/runtime/static versions and release docs for the 5.5.0 line while preserving v5.4.0 Brain Automation Scheduler behavior |
| 5.4.0 | Brain Automation Scheduler: consent-first recipe drafts (Daily/Weekly/Follow-up), TriggerService with dedup/LATTICE_TZ/degraded, runtime graph cleanup, E2E scenarios |
| 5.3.0 | Product Clarity and Runtime Cleanup: user-first README/onboarding, unified Digital Brain identity, legacy compatibility map, and app factory runtime seams |
| 5.2.0 | User-Focused Model Transformation: structured model capability registry, HF verification transparency, model recommendation UX, and workspace-scoped marketplace state |
| 5.1.0 | Product Trust & Clarity Release: clarifies the private AI memory-layer promise, hardens CSP/secret/auto-read/download gates, adds trust/privacy docs, and refreshes evidence |
| 5.0.0 | Multilingual Brain Foundation Release: adds persisted Korean/English language choice across first-run onboarding, Brain home, graph exploration, and Admin Console |
| 4.7.2 | Intuitive Brain UX Release: safer login, one-click recommended setup, direct Brain views, memory-save feedback, and exact artifacts |
| 4.7.0 | Admin Separation Release: adds the separate Admin Console for users/logs/security/Brain operations |
| 4.6.1 | Living Brain Release Refresh: publishable version bump after v4.6.0 PyPI immutability |
| 4.6.0 | Living Brain Experience: made Brain plus conversation the home product |
| 4.5.1 | Product Reimagining RC: reset shell, navigation, onboarding, and visual system |
| 4.5.0 | Product Experience Recovery RC: restored first-run setup, workspace/model onboarding, and graph discoverability |

## Documentation

- [docs/WHY_LATTICE.md](docs/WHY_LATTICE.md) - product philosophy.
- [docs/TRUST_MODEL.md](docs/TRUST_MODEL.md) - local-first trust model.
- [PRIVACY.md](PRIVACY.md) - privacy and external communication policy.
- [ARCHITECTURE.md](ARCHITECTURE.md) - current technical architecture.
- [FEATURE_STATUS.md](FEATURE_STATUS.md) - current feature status and known limitations.
- [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) - developer workflow.
- [docs/LEGACY_COMPATIBILITY.md](docs/LEGACY_COMPATIBILITY.md) - root legacy shim map.
- [RELEASE.md](RELEASE.md) - release guide and current release notes.
- [docs/CHANGELOG.md](docs/CHANGELOG.md) - historical changes.
- [SECURITY.md](SECURITY.md) - security posture.

## License

MIT. See [LICENSE](LICENSE).
