ltcai 9.7.0 → 9.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +98 -316
  2. package/docs/CHANGELOG.md +37 -0
  3. package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
  4. package/docs/DEVELOPMENT.md +1 -1
  5. package/docs/ONBOARDING.md +1 -1
  6. package/docs/TRUST_MODEL.md +1 -1
  7. package/docs/WHY_LATTICE.md +1 -1
  8. package/docs/kg-schema.md +1 -1
  9. package/lattice_brain/__init__.py +1 -1
  10. package/lattice_brain/graph/retrieval.py +93 -4
  11. package/lattice_brain/graph/retrieval_vector.py +43 -0
  12. package/lattice_brain/ingestion.py +399 -14
  13. package/lattice_brain/runtime/multi_agent.py +1 -1
  14. package/latticeai/__init__.py +1 -1
  15. package/latticeai/api/brain_intelligence.py +12 -0
  16. package/latticeai/api/chat.py +17 -0
  17. package/latticeai/api/chat_helpers.py +48 -0
  18. package/latticeai/api/chat_stream.py +9 -1
  19. package/latticeai/api/local_files.py +120 -2
  20. package/latticeai/core/agent_eval.py +123 -0
  21. package/latticeai/core/legacy_compatibility.py +1 -1
  22. package/latticeai/core/marketplace.py +1 -1
  23. package/latticeai/core/workspace_os.py +1 -1
  24. package/latticeai/services/architecture_readiness.py +1 -1
  25. package/latticeai/services/automation_intelligence.py +151 -14
  26. package/latticeai/services/brain_intelligence.py +72 -0
  27. package/latticeai/services/product_readiness.py +1 -1
  28. package/package.json +1 -1
  29. package/scripts/check_current_release_docs.mjs +1 -1
  30. package/src-tauri/Cargo.lock +1 -1
  31. package/src-tauri/Cargo.toml +1 -1
  32. package/src-tauri/tauri.conf.json +1 -1
  33. package/static/app/asset-manifest.json +11 -11
  34. package/static/app/assets/{Act-B6c39ays.js → Act-Dd3z8AzF.js} +2 -2
  35. package/static/app/assets/Brain-BMkgdWnI.js +321 -0
  36. package/static/app/assets/Capture-D2Aw9gkv.js +1 -0
  37. package/static/app/assets/Library-Yreq-KW5.js +1 -0
  38. package/static/app/assets/System-CXNmmtEo.js +1 -0
  39. package/static/app/assets/{index-85wQvEie.css → index-7gY9t9Sd.css} +1 -1
  40. package/static/app/assets/index-CndfILiF.js +18 -0
  41. package/static/app/assets/primitives-DxsIXb6G.js +1 -0
  42. package/static/app/assets/textarea-DH7ne8VI.js +1 -0
  43. package/static/app/index.html +2 -2
  44. package/static/sw.js +1 -1
  45. package/static/app/assets/Brain-D7Qg4k6M.js +0 -321
  46. package/static/app/assets/Capture-VF_di68r.js +0 -1
  47. package/static/app/assets/Library-D_Gis2PA.js +0 -1
  48. package/static/app/assets/System-C5s5H2ov.js +0 -1
  49. package/static/app/assets/index-DJC_2oub.js +0 -18
  50. package/static/app/assets/primitives-DL4Nip8C.js +0 -1
  51. package/static/app/assets/textarea-woZfCXHy.js +0 -1
package/README.md CHANGED
@@ -1,62 +1,8 @@
1
1
  # Lattice AI
2
2
 
3
- **Lattice AI 9.6.0 is the local-first Digital Brain platform. The Trusted Agent Loop makes autonomous work transparent and git-like: the reasoning loop reports every model call, format repair, and tool outcome; a deterministic evaluation harness gates every release on weak-model robustness; and change governance is proposal-first — creating new files is frictionless while edits and deletions of existing content become reviewable proposals you approve or reject before anything changes.**
4
-
5
- **Lattice AI는 모델이 바뀌어도지식과 맥락을 보존하는 로컬 우선 AI 브레인입니다.**
6
-
7
- > The 9.6.0 release engineers trust into the agent loop: a structured
8
- > LoopTrace makes every run observable (llm calls, parse recoveries, format
9
- > repairs, corrections, tool outcomes — returned as `loop` in the agent API),
10
- > weak-model tolerance gains python-literal repair and escalating format
11
- > corrections, a deterministic agent evaluation harness gates CI, and a
12
- > central change governor stages edits/deletions of existing files as review
13
- > proposals (`/api/proposals`) applied exactly as reviewed — while new-file
14
- > creation now runs without approval friction.
15
- > The 9.5.0 release adds the Command Center: a deterministic, local
16
- > `/api/command` surface serving a daily briefing (recent knowledge,
17
- > conversation activity, automation state, pending reviews, health snapshot,
18
- > top suggestions, state-derived quick actions) and a universal search across
19
- > knowledge nodes, the user's own conversations, and installed automations —
20
- > surfaced in the app as a Cmd+K command palette and a Today's Briefing panel.
21
- > The 9.4.0 release adds question-driven automation: a deterministic local
22
- > pattern miner clusters your recurring questions (the evidence shown is your
23
- > own words, no model call), an /api/automation surface turns patterns and
24
- > connected folders into one-click suggestions, and every accepted suggestion
25
- > becomes a disabled, review-gated draft workflow you enable deliberately.
26
- > The 9.3.0 release wired the previously dormant Brain quality layer into
27
- > the product: /api/brain health diagnosis with recommended care actions, a
28
- > proactive insights digest, contradiction surfacing across memories and the
29
- > graph, dry-run-first duplicate consolidation, and hybrid recall that blends
30
- > vector similarity with lexical evidence behind an honest quality gate.
31
- > The 9.2.0 release hardened file creation end to end: chat file requests are
32
- > routed to a deterministic direct-write path (including type-only requests
33
- > like "html 파일 만들어줘"), model replies are treated as untrusted content
34
- > and cleaned of fences, reasoning blocks, and chat framing, and the agent
35
- > JSON loop tolerates small-model formatting slips instead of aborting.
36
- > The 9.1.0 release added request-scoped model routing,
37
- > workspace-isolated graph identities and frontend caches, fail-closed admin
38
- > gates, SSRF-safe web capture, private local state permissions, and reproducible
39
- > release/test isolation. The same release introduced a human-first UI:
40
- > a visible knowledge journey from conversation or source capture into the
41
- > living Brain, its real relationship graph, and memory-grounded automation;
42
- > the empty Brain home now keeps that complete loop inside one viewport, with
43
- > continuous vital motion and behavior-driven listening, recall, synthesis,
44
- > and action states. Task navigation and technical detail stay calm and
45
- > approachable.
46
- > Telegram access requires an explicit chat allowlist and server session token;
47
- > public invitation access uses signed, expiring authorization instead of a
48
- > static cookie; and unknown or unreadable Knowledge Graph scope fails closed.
49
-
50
- Your model is the voice you use today. Your Brain is the asset you keep.
51
- Lattice AI preserves conversations, documents, decisions, project context,
52
- relationships, and workflows on your computer by default. Cloud models, model
53
- downloads, update checks, and other external communication happen only after
54
- explicit consent.
55
-
56
- It is not a ChatGPT clone, a model launcher, a graph database, or a note app.
57
- It is a Living Brain: chatting or adding a file, folder, note, or web page grows
58
- durable memory; the real graph shows how that knowledge connects; and reviewed,
59
- user-enabled automations can act from the same evidence.
3
+ **Your model is the voice you use today. Your Brain is the asset you keep.**
4
+
5
+ **모델은 갈아타도, 지식은컴퓨터에 남는 로컬 우선 AI 브레인.**
60
6
 
61
7
  [![PyPI Version](https://img.shields.io/pypi/v/ltcai?label=PyPI)](https://pypi.org/project/ltcai/)
62
8
  [![npm Version](https://img.shields.io/npm/v/ltcai?label=npm)](https://www.npmjs.com/package/ltcai)
@@ -65,305 +11,141 @@ user-enabled automations can act from the same evidence.
65
11
  [![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)
66
12
  [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
67
13
 
68
- ## Why You Need It
69
-
70
- You need Lattice AI when:
14
+ ![v9.8.0 Living Brain walkthrough](output/release/v9.8.0/gifs/v9.8.0-living-brain-walkthrough.gif)
71
15
 
72
- - you ask different AI models about the same project and lose the context each time;
73
- - your decisions are scattered across chats, notes, PDFs, folders, and tools;
74
- - you want to switch models without rebuilding memory from zero;
75
- - you want your AI Brain to stay on your computer by default;
76
- - you want backup, restore, inspect, and export paths for your Brain.
16
+ Chat, files, folders, notes, and web pages all flow into one durable knowledge
17
+ graph on your computer. Any model local MLX or cloud can speak with that
18
+ memory. Nothing leaves your machine without explicit consent.
77
19
 
78
- 이런 사람에게 필요합니다:
79
-
80
- - 매번 AI를 바꿀 때마다 프로젝트 맥락을 다시 설명하는 사람
81
- - 문서, 대화, 결정, 파일이 여기저기 흩어져 있는 사람
82
- - 내 지식을 특정 AI 서비스 안에 묶어두고 싶지 않은 사람
83
- - 로컬에 저장되는 개인 AI 브레인을 원하는 사람
20
+ 대화·파일·폴더·웹페이지가 전부 내 컴퓨터 안의 지식 그래프로 쌓이고, 어떤
21
+ 모델이든 그 기억을 이어받아 대화합니다.
84
22
 
85
23
  ## What You Can Do
86
24
 
87
- - Chat with a Brain that remembers useful context instead of treating every
88
- session as disposable.
89
- - Add documents, selected local folders, notes, screenshots, and web pages with
90
- source-aware memory.
91
- - Watch new knowledge enter the Brain and appear in a lightweight, real
92
- relationship graph before opening the full graph explorer.
93
- - See the Brain breathe, pulse, listen, recall, synthesize, and act while the
94
- source, graph, composer, and next memory-grounded action remain visible in a
95
- single desktop or mobile viewport.
96
- - Create evidence-linked Brain automation drafts for memory digests, project
97
- reviews, and follow-up suggestions, then explicitly enable them when ready.
98
- - Use a recommended local model without learning model internals first.
99
- - Keep advanced controls, audit logs, roles, and retention in a separate Admin
100
- surface.
101
- - Export or back up your Brain as an encrypted `.latticebrain` archive.
102
-
103
- ## One-Minute Flow
104
-
105
- 1. Launch the app and wake the Brain.
106
- 2. Create or open a local profile.
107
- 3. Let Lattice explain what this computer can run.
108
- 4. Start with the recommended model as the Brain's voice, or skip and choose later.
109
- 5. Talk to your Brain or add a file, folder, note, or web page.
110
- 6. Watch the source become memory and connect to the visible knowledge graph.
111
- 7. Ask, delegate, review, or explicitly enable a memory-grounded automation.
112
- 8. Back up, inspect, export, or restore the Brain when you need ownership actions.
113
-
114
- ## Living Brain Flow
115
-
116
- The screenshots below are the latest checked-in visual evidence captures. They
117
- keep the first-run Brain flow, memory graph, source capture, model library,
118
- system view, admin console, and review center visible as release gates while
119
- 9.6.0 makes autonomous work trustworthy: agents create new things freely,
120
- but every change to existing content becomes a reviewable proposal with a
121
- diff, and the reasoning loop itself is observable and regression-gated. The
122
- captures below are the checked-in 9.6.0 visual release evidence for that
123
- product flow.
124
-
125
- ### 1. Wake Brain
126
-
127
- The first screen makes the Brain the product. It explains the three-step path:
128
- confirm owner, check the computer, choose the Brain voice.
129
-
130
- ### 2. Login
131
-
132
- Choose the owner of the Brain. The profile is not a SaaS account by default; it
133
- is the local identity for the knowledge you keep.
134
-
135
- ![Login](output/release/v9.7.0/screenshots/01-login.png)
136
-
137
- ### 3. Recommended Models
138
-
139
- Start with a short list: safest recommendation, faster model, stronger model.
140
- Advanced details stay available without overwhelming first-time users.
141
-
142
- ![Recommended Models](output/release/v9.7.0/screenshots/02-recommended-models.png)
143
-
144
- ### 4. Install And Load
145
-
146
- Download and load only after consent. Lattice explains model size, local
147
- execution, and network use before work starts.
148
-
149
- ![Install and Load](output/release/v9.7.0/screenshots/03-install-load-progress.png)
150
-
151
- ### 5. Brain Chat
25
+ | | |
26
+ | --- | --- |
27
+ | **Chat with a Brain that remembers** — every conversation grows durable, source-linked memory ![Brain Chat](output/release/v9.8.0/screenshots/04-brain-chat-home.png) | **See how knowledge connects** — a real relationship graph, not a file list ![Memory Graph](output/release/v9.8.0/screenshots/05-memory-graph.png) |
28
+ | **Capture anything** — files, whole folders, notes, screenshots, web pages ![Capture](output/release/v9.8.0/screenshots/06-capture.png) | **Automate with review** — agent changes become proposals you approve first ![Review Center](output/release/v9.8.0/screenshots/12-review-center.png) |
29
+ | **Pick a model in one click** — recommended local models for your hardware ![Recommended Models](output/release/v9.8.0/screenshots/02-recommended-models.png) | **Stay in control** audit, roles, retention in a separate admin surface ![Admin Console](output/release/v9.8.0/screenshots/10-admin-console.png) |
152
30
 
153
- Talk normally or add a source from a single, living canvas. The default home
154
- fits the complete knowledge lifecycle into one viewport: source controls feed
155
- the breathing Brain, real nodes and animated relationships stay visible beside
156
- it, and the composer plus grounded next action remain within reach. Brain motion
157
- and its visible life signal follow real listening, recall, synthesis, and action
158
- state. Detailed memory rings, provenance, conversation history, and
159
- model/runtime proof open as overlays only when requested.
31
+ ## Why Lattice AI
160
32
 
161
- ![One-viewport Living Brain Home](output/release/v9.7.0/screenshots/04-brain-chat-home.png)
33
+ - **Own your memory** — knowledge lives in a local SQLite Brain you can back up,
34
+ export, inspect, and restore (`.latticebrain` encrypted archive).
35
+ - **Model-independent** — switch between local MLX models and cloud models
36
+ without rebuilding context from zero.
37
+ - **Honest by design** — the Brain tells you when retrieval context is limited,
38
+ when captured pages extracted poorly, and when the vector index is catching up.
39
+ - **Safe automation** — automations are consent-first drafts; edits to existing
40
+ content always pass through a reviewable proposal with a diff.
162
41
 
163
- ### 6. Review Center
42
+ 매번 AI에게 프로젝트 맥락을 다시 설명하고 있다면, 지식이 여러 서비스에 흩어져
43
+ 있다면, 그 기억을 특정 회사가 아니라 내가 소유하고 싶다면 — Lattice AI가 그
44
+ 브레인입니다.
164
45
 
165
- Automation results are staged for review before they become durable decisions.
166
- Snooze, unsnooze, run now, approve, and dismiss actions stay explicit.
46
+ ## Quick Start
167
47
 
168
- ![Review Center](output/release/v9.7.0/screenshots/12-review-center.png)
48
+ ```bash
49
+ pip install ltcai # or: npm install -g ltcai
50
+ LTCAI # then open http://127.0.0.1:4825/app
51
+ ```
169
52
 
170
- ## Brain Depths
53
+ Apple Silicon local models: `pip install "ltcai[local]"`. Desktop app (Tauri)
54
+ ships as a dmg on each [GitHub Release](https://github.com/TaeSooPark-PTS/LatticeAI/releases).
171
55
 
172
- The user travels inward from everyday memory to deeper structure:
56
+ First-run flow wake the Brain, pick the owner, load a recommended model:
173
57
 
174
- | Level | User name | What the user gets |
58
+ | | | |
175
59
  | --- | --- | --- |
176
- | Level 1 | Now memory | The living Brain presence and current conversation context |
177
- | Level 2 | Older memory | Durable memories with source-aware recall |
178
- | Level 3 | Topics | Recurring themes across chats and documents |
179
- | Level 4 | Relationships | How decisions, people, files, and ideas connect |
180
- | Level 5 | Full knowledge graph | Nodes, edges, search, and focused detail for advanced exploration |
181
-
182
- Walkthrough:
183
-
184
- ![v9.7.0 Living Brain walkthrough](output/release/v9.7.0/gifs/v9.7.0-living-brain-walkthrough.gif)
60
+ | ![Login](output/release/v9.8.0/screenshots/01-login.png) | ![Model install](output/release/v9.8.0/screenshots/03-install-load-progress.png) | ![Model library](output/release/v9.8.0/screenshots/07-model-library.png) |
185
61
 
186
62
  Screenshot index and capture notes:
187
- [output/release/v9.7.0/SCREENSHOT_INDEX.md](output/release/v9.7.0/SCREENSHOT_INDEX.md)
188
-
189
- ## Install
63
+ [output/release/v9.8.0/SCREENSHOT_INDEX.md](output/release/v9.8.0/SCREENSHOT_INDEX.md)
190
64
 
191
- Run from Python:
192
-
193
- ```bash
194
- pip install ltcai
195
- LTCAI
196
- ```
65
+ ## Current Release
197
66
 
198
- Run from npm:
67
+ The current release is **9.8.0 — Honest Knowledge Pipeline**:
199
68
 
200
- ```bash
201
- npm install -g ltcai
202
- ltcai
203
- ```
69
+ - Every ingest (file, folder, web) now reports an extraction-quality score and
70
+ warns on low-quality captures before they pollute the Brain.
71
+ - Background folder ingestion is robust: per-item errors don't kill the job,
72
+ progress (processed/total) is visible, and interrupted jobs resume — with a
73
+ jobs API (`/api/ingestion/jobs`) and UI progress.
74
+ - The Brain signals honestly: chat answers carry a `context_quality` marker
75
+ when graph context is limited, and `/api/brain/vector-freshness` plus a UI
76
+ banner show when knowledge is still waiting for vector indexing.
77
+ - The agent evaluation gate grew to 16 deterministic scenarios, adding
78
+ ingestion, concept-extraction, RAG-grounded answering, and automation
79
+ proposal paths; automation suggestions gain confidence scoring and dedup.
204
80
 
205
- Open the local app:
81
+ Release notes: [RELEASE.md](RELEASE.md) · Full history: [docs/CHANGELOG.md](docs/CHANGELOG.md)
206
82
 
207
- ```text
208
- http://127.0.0.1:4825/app
209
- ```
83
+ Expected artifacts for 9.8.0 release must use exact filenames:
210
84
 
211
- Apple Silicon local model extras:
85
+ - `dist/ltcai-9.8.0-py3-none-any.whl`
86
+ - `dist/ltcai-9.8.0.tar.gz`
87
+ - `ltcai-9.8.0.tgz`
88
+ - `dist/ltcai-9.8.0.vsix`
89
+ - `src-tauri/target/release/bundle/dmg/Lattice AI_9.8.0_aarch64.dmg`
212
90
 
213
- ```bash
214
- pip install "ltcai[local]"
215
- ```
91
+ Do not use wildcard artifact uploads. Package registry publishing remains owner-run.
216
92
 
217
93
  ## Architecture At A Glance
218
94
 
219
- - **Product category**: local-first Digital Brain.
220
- - **Core capability**: private AI memory layer for conversations, documents,
221
- decisions, relationships, workflows, and project context.
222
- - **UX metaphor**: a visible source-to-memory-to-graph-to-automation journey
223
- centered on the Living Brain, not a generic chat or operations dashboard.
224
- - **Product navigation**: desktop task navigation and a mobile bottom bar expose
225
- Chat, Sources, Memory, and Work; model, workspace, and admin controls live in
226
- the secondary menu.
227
- - **Desktop shell**: Tauri 2 starts a localhost sidecar.
228
- - **Frontend**: React, TypeScript, Vite, TanStack Query, Zustand, Cytoscape.js,
229
- React Flow, and generated OpenAPI types.
230
- - **Backend**: FastAPI on localhost is the UI source of truth.
231
- - **Brain Core**: independent `lattice_brain` package for graph, memory,
232
- context, conversations, ingestion, runtime, workflow, storage, and portability.
233
- - **Storage**: SQLite is the live local Brain store; PostgreSQL/pgvector tooling
234
- is optional scale-mode planning/migration support, not the default live graph
235
- backend.
236
- - **Portability**: encrypted `.latticebrain` archives plus backup, restore,
237
- inspect, verify, import dry-run, and confirmed restore/import flows.
238
- - **Trust boundary**: local-first by default; cloud calls, downloads, Telegram,
239
- Brain Network, Docker/Postgres setup, and update checks are opt-in.
240
- - **Admin separation**: normal Brain use stays separate from users, audit logs,
241
- policies, security events, retention, and index rebuilds.
242
-
243
- See [ARCHITECTURE.md](ARCHITECTURE.md) for the current architecture.
244
-
245
- ## Local Development
246
-
247
- ```bash
248
- npm install
249
- npm run dev
250
- ```
251
-
252
- Main validation set:
253
-
254
- ```bash
255
- npm run check:python
256
- npm run lint
257
- npm run typecheck
258
- npm run test:unit
259
- npm run test:integration
260
- npm run test:visual
261
- npm run desktop:tauri:check
262
- npm run docs:check-links
263
- ```
264
-
265
- `npm run lint` includes the Python Ruff baseline, frontend TypeScript lint
266
- gate, visual smoke syntax checks, and i18n literal checks.
267
-
268
- See [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for developer workflow details.
269
-
270
- ## Current Release
271
-
272
- The current release is **9.7.0 — Proactive Hybrid Brain**:
273
-
274
- - Retrieval is unified: `KnowledgeGraphStore.hybrid_search()` fuses lexical
275
- and vector search in the graph layer itself (normalized scores, per-source
276
- provenance, rank fusion), degrades honestly to `lexical_only` when the
277
- vector index is unavailable, and `context_for_query()` can opt into it.
278
- - The vector index stays in sync automatically: every successful ingest runs
279
- an incremental `index_node_incremental()` pass (opt-out via
280
- `LATTICEAI_AUTO_VECTOR_INDEX`), and failures downgrade to an explicit
281
- `pending` status that the next `rebuild_vector_index` picks up.
282
- - Ingestion covers whole folders: `ingest_folder()` walks directories with
283
- `.latticeignore` support (gitignore-like globs), size/extension filters,
284
- and optional background scheduling; `ingest_web_page()` formalizes the
285
- web seam — fetching/parsing stays upstream, the graph receives clean text.
286
- - The Brain is proactive in the graph layer: `lattice_brain/graph/proactive.py`
287
- finds duplicate and contradictory knowledge, produces a combined quality
288
- report with stale-node and edge-quality signals, and plans consent-first
289
- duplicate consolidation — surfaced at `GET /api/brain/duplicates`,
290
- `GET /api/brain/quality-report`, and the existing contradiction/consolidate
291
- endpoints.
292
- - The change-governance loop is closed: Review Center approval now applies
293
- staged proposals through the single application path (no more
294
- status-only approvals), proposals carry tool/risk/change-class/conversation
295
- provenance, reject records a reason, and pending-proposal counts badge the
296
- review inbox.
297
- - The agent evaluation gate grew to 12 scenarios, adding file-generation
298
- happy path and recovery, a 3-step multi-step workflow chain, and a
299
- governed-write proposal path that pins the approve()-excludes-governed-tools
300
- invariant.
301
- - Engineering health: `SingleAgentRuntime.execute` decomposed into focused
302
- helpers, multi-agent/single-agent runtime consistency pinned by tests, all
303
- root legacy modules emit deprecation warnings pointing at their package
304
- homes, and `scripts/profile_kg.py` + `docs/PERFORMANCE.md` establish a
305
- measured KG performance baseline.
306
-
307
- Expected artifacts for 9.7.0 release must use exact filenames:
308
-
309
- - `dist/ltcai-9.7.0-py3-none-any.whl`
310
- - `dist/ltcai-9.7.0.tar.gz`
311
- - `ltcai-9.7.0.tgz`
312
- - `dist/ltcai-9.7.0.vsix`
313
- - `src-tauri/target/release/bundle/dmg/Lattice AI_9.7.0_aarch64.dmg`
314
-
315
- Do not use wildcard artifact uploads. Package registry publishing remains owner-run.
95
+ FastAPI on localhost is the source of truth; the React/Vite frontend and the
96
+ Tauri desktop shell sit on top; the independent `lattice_brain` package owns
97
+ the graph, memory, ingestion, and portability. Local-first by default — cloud
98
+ calls, downloads, Telegram, and update checks are opt-in.
316
99
 
317
- See [docs/ROADMAP_RECOMMENDATIONS.md](docs/ROADMAP_RECOMMENDATIONS.md) for the
318
- strategic roadmap slices applied through 9.7.0 and the follow-up tracks.
100
+ See [ARCHITECTURE.md](ARCHITECTURE.md) for details and
101
+ [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for the developer workflow
102
+ (`npm install && npm run dev`, validation via `npm run lint`,
103
+ `npm run test:unit`, `npm run test:visual`).
319
104
 
320
105
  ## Known Limitations
321
106
 
322
107
  - External package registries are owner-published and can lag behind GitHub.
323
108
  - PostgreSQL/pgvector is optional scale/migration tooling. SQLite remains the
324
- live local Brain store in 9.7.0.
325
- - Docker, model downloads, cloud model calls, Telegram, Brain Network, and update
326
- checks require explicit user action.
327
- - Conversation does not fabricate answers when no model is loaded.
328
- - Agent/workflow simulation without a loaded LLM is deterministic and does not
329
- call a model; it is labeled as LLM-free/model-free rather than presented as
330
- autonomous model success.
109
+ live local Brain store in 9.8.0.
110
+ - Docker, model downloads, cloud model calls, Telegram, Brain Network, and
111
+ update checks require explicit user action.
112
+ - Conversation does not fabricate answers when no model is loaded; LLM-free
113
+ simulation is labeled as such.
331
114
 
332
115
  ## Release History
333
116
 
334
117
  | Version | Theme |
335
118
  | --- | --- |
336
- | 9.7.0 | Proactive Hybrid Brain: graph-native hybrid lexical+vector retrieval with automatic incremental vector indexing, folder ingestion with `.latticeignore`, proactive duplicate/contradiction detection and quality reporting in the graph layer, and a fully closed proposal→Review Center→apply governance loop |
337
- | 9.6.0 | Trusted Agent Loop: observable agent reasoning (LoopTrace + loop API payload), python-literal/fence/think weak-model repairs with escalating corrections, a deterministic CI agent-eval harness, and proposal-first change governance where edits/deletions of existing files become reviewable diffs |
338
- | 9.5.0 | Command Center: a Cmd+K palette searching knowledge, conversations, automations, and pages in one query, plus a daily briefing with Brain state at a glance and state-derived one-click quick actions |
339
- | 9.4.0 | Question-Driven Everyday Automation: the Brain mines recurring user questions and connected knowledge folders into one-click, consent-first automation suggestions installed as review-gated drafts |
340
- | 9.3.0 | Proactive Brain Intelligence: the Brain diagnoses its own health, surfaces contradictions and stale knowledge, proposes consent-first duplicate consolidation, and recalls with hybrid lexical+semantic evidence behind an honest quality gate |
341
- | 9.2.0 | Model-Agnostic File Generation: chat file requests always produce structurally valid files with any LLM via extraction, per-type validation, corrective retry, deterministic repair, inferred file targets, and a fault-tolerant agent JSON loop |
342
- | 9.1.0 | Code Review Completion & Fail-Closed Runtime: all July 11 review findings closed across fail-closed security, typed runtime/model/chat boundaries, honest frontend failures and tests, and repository hygiene |
343
- | 9.0.0 | Code Review Closure & Runtime Cleanup: July 8 code-review follow-ups fixed, chat/runtime reliability improved, duplicated utility surfaces consolidated, runtime audit append paths moved to JSONL, and release metadata/artifacts synchronized |
344
- | 8.9.0 | Scoped Memory & Tool Policy Hardening: authenticated history/KG reads are workspace-scoped, direct Tool API paths enforce registry policy, local approvals hash tokens at rest, AgentRuntime approval semantics are explicit, and frontend/runtime seams are split |
345
- | 8.8.0 | Brain Core Extraction & Recall Proof Hardening: internal-only Brain shim layers are removed, AgentRuntime run contracts/retry budgets are tighter, Brain Chat gains conversation controls, and citation recall exposes matched evidence |
346
- | 8.7.0 | Runtime State Hygiene & Release Evidence Refresh: model-runtime internals prefer typed state over legacy globals, compatibility sync is deprecated, 8.7.0 visual evidence is refreshed, and all release metadata/docs are synchronized |
347
- | 8.6.0 | Desktop Capture & Navigation Reliability: native folder selection works from the Tauri localhost app, picker failures surface in Capture, web saving remains one-action, and the Brain shell sidebar/admin flow is CI-covered |
348
- | 8.5.0 | Tool Registry Readiness & Config DI: ToolRegistry drift removed, `tz_name` flows through central Config into automation runtimes, and current-release documentation is synchronized |
349
- | 8.4.0 | Action-Aware Brain Chat: explicit file create/write/save/edit requests from Brain Chat route into the governed workspace file tool so files are actually created instead of returned as code-only answers |
350
- | 8.3.0 | Orchestrated Brain Readiness: managed legacy shim inventory, stronger AgentRuntime/workflow boundaries, unified graph ingestion, workspace-safe duplicate content, first-run onboarding, and explicit community/plugin growth path |
351
- | 8.2.0 | Brain Brief: evidence-backed home briefing, honest empty-state guidance, recall/graph/model-proof next actions, and continued model/workspace runtime extraction |
352
- | 8.1.0 | Intuitive Brain Home: living Brain, recent memory, connected topic, next action, and composer are visible in one product-first screen with refreshed 8.1.0 evidence and artifacts |
353
- | 8.0.0 | Runtime Architecture Contract: AgentRuntime, ToolRegistry, central Config, server decomposition, and KG hardening are captured as machine-checkable release boundaries with exact 8.0.0 artifacts |
119
+ | 9.8.0 | Honest Knowledge Pipeline |
120
+ | 9.7.0 | Proactive Hybrid Brain |
121
+ | 9.6.0 | Trusted Agent Loop |
122
+ | 9.5.0 | Command Center |
123
+ | 9.4.0 | Question-Driven Everyday Automation |
124
+ | 9.3.0 | Proactive Brain Intelligence |
125
+ | 9.2.0 | Model-Agnostic File Generation |
126
+ | 9.1.0 | Code Review Completion & Fail-Closed Runtime |
127
+ | 9.0.0 | Code Review Closure & Runtime Cleanup |
128
+ | 8.9.0 | Scoped Memory & Tool Policy Hardening |
129
+ | 8.8.0 | Brain Core Extraction & Recall Proof Hardening |
130
+ | 8.7.0 | Runtime State Hygiene & Release Evidence Refresh |
131
+ | 8.6.0 | Desktop Capture & Navigation Reliability |
132
+ | 8.5.0 | Tool Registry Readiness & Config DI |
133
+ | 8.4.0 | Action-Aware Brain Chat |
134
+ | 8.3.0 | Orchestrated Brain Readiness |
135
+ | 8.2.0 | Brain Brief |
136
+ | 8.1.0 | Intuitive Brain Home |
137
+ | 8.0.0 | Runtime Architecture Contract |
138
+
139
+ Per-release details: [RELEASE_NOTES.md](RELEASE_NOTES.md)
354
140
 
355
141
  ## Documentation
356
142
 
357
- - [docs/WHY_LATTICE.md](docs/WHY_LATTICE.md) - product philosophy.
358
- - [docs/TRUST_MODEL.md](docs/TRUST_MODEL.md) - local-first trust model.
359
- - [PRIVACY.md](PRIVACY.md) - privacy and external communication policy.
360
- - [ARCHITECTURE.md](ARCHITECTURE.md) - current technical architecture.
361
- - [FEATURE_STATUS.md](FEATURE_STATUS.md) - current feature status and known limitations.
362
- - [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) - developer workflow.
363
- - [docs/LEGACY_COMPATIBILITY.md](docs/LEGACY_COMPATIBILITY.md) - root legacy shim map.
364
- - [RELEASE.md](RELEASE.md) - release guide and current release notes.
365
- - [docs/CHANGELOG.md](docs/CHANGELOG.md) - historical changes.
366
- - [SECURITY.md](SECURITY.md) - security posture.
143
+ - [docs/WHY_LATTICE.md](docs/WHY_LATTICE.md) product philosophy
144
+ - [docs/TRUST_MODEL.md](docs/TRUST_MODEL.md) local-first trust model
145
+ - [PRIVACY.md](PRIVACY.md) privacy and external communication policy
146
+ - [FEATURE_STATUS.md](FEATURE_STATUS.md) feature status and limitations
147
+ - [SECURITY.md](SECURITY.md) security posture
148
+ - [RELEASE.md](RELEASE.md) release guide and notes
367
149
 
368
150
  ## License
369
151
 
package/docs/CHANGELOG.md CHANGED
@@ -4,6 +4,43 @@ The top entry is either the current unreleased main-branch work or the current
4
4
  release line. Older entries are historical and may describe behavior as it
5
5
  existed at that release.
6
6
 
7
+ ## [9.8.0] - 2026-07-20
8
+
9
+ ### Added
10
+ - Added `extraction_quality` (score/level/reasons) and low-quality `warnings`
11
+ to every ingest result, with upstream extractor confidence taking
12
+ precedence; the proactive `gate_ingest_candidate()` now records an
13
+ observe-only `quality_gate` verdict on non-chat ingests.
14
+ - Added background ingestion job progress (`total`/`processed`/`failed`,
15
+ capped per-item errors) with resume-from-remaining support, plus
16
+ `GET /api/ingestion/jobs`, `GET /api/ingestion/jobs/{id}`,
17
+ `POST /api/ingestion/jobs/{id}/resume`, and approval-gated
18
+ `POST /api/ingestion/folder`.
19
+ - Added `context_quality` (mode/nodes/limited/reason) to chat responses
20
+ (non-stream top-level and final SSE trailer) with a localized
21
+ limited-context note in the assistant bubble.
22
+ - Added `GET /api/brain/vector-freshness` and a pending-indexing chip in the
23
+ Brain views; `vector_freshness()` never raises and degrades to
24
+ `unavailable` with a reason.
25
+ - Added four agent-eval scenarios (ingestion chain, concept extraction,
26
+ RAG-grounded answer with a negative grounding test, automation
27
+ proposal-first), growing the CI gate to 16 scenarios with
28
+ `expect_final_contains` grounding assertions.
29
+ - Added deterministic `confidence`, `confidence_factors`, duplicate
30
+ suppression, installed-recipe detection, and a low-quality floor to
31
+ automation suggestions, with a `quality` reporting block.
32
+ - Added a frontend ingestion jobs panel (progress bar, failed count, resume)
33
+ and extraction-quality warnings in the ingestion panels, all with ko/en
34
+ i18n parity.
35
+
36
+ ### Changed
37
+ - Rebuilt README media-first: hero walkthrough GIF, screenshot grid, compact
38
+ release-history table, and roughly 60% less prose.
39
+ - `context_for_query()` gains an opt-in metadata path
40
+ (`context_for_query_with_meta()`); the default output is byte-identical.
41
+ - Background ingestion job initial status is now `queued` (was internal
42
+ `pending`).
43
+
7
44
  ## [9.7.0] - 2026-07-20
8
45
 
9
46
  ### Added
@@ -1,6 +1,6 @@
1
1
  # Community And Plugins
2
2
 
3
- Current release: **9.7.0 — Proactive Hybrid Brain**.
3
+ Current release: **9.8.0 — Honest Knowledge Pipeline**.
4
4
 
5
5
  LatticeAI defines the path from a strong local-first framework (8.4.0
6
6
  action-aware baseline, 8.5.0 registry+DI hardening, 8.6.0 capture/navigation
@@ -1,6 +1,6 @@
1
1
  # Lattice AI Development
2
2
 
3
- Current release: **9.7.0 — Proactive Hybrid Brain**.
3
+ Current release: **9.8.0 — Honest Knowledge Pipeline**.
4
4
 
5
5
  This document is for contributors working on the local-first Digital Brain
6
6
  codebase. Product positioning and quick start stay in `README.md`; release
@@ -1,6 +1,6 @@
1
1
  # Lattice AI Onboarding
2
2
 
3
- Current release: **9.7.0 — Proactive Hybrid Brain**.
3
+ Current release: **9.8.0 — Honest Knowledge Pipeline**.
4
4
 
5
5
  The first-run goal is a five-minute path from "I opened the app" to "my Brain
6
6
  has a source, a question, and proof." This page is the product contract behind
@@ -1,6 +1,6 @@
1
1
  # Lattice AI Trust Model
2
2
 
3
- Current release: **9.7.0 — Proactive Hybrid Brain**.
3
+ Current release: **9.8.0 — Honest Knowledge Pipeline**.
4
4
 
5
5
  Lattice AI is local-first, explicit about external communication, and honest
6
6
  when a capability is unavailable.
@@ -1,6 +1,6 @@
1
1
  # Why Lattice AI Exists
2
2
 
3
- Current release: **9.7.0 — Proactive Hybrid Brain**.
3
+ Current release: **9.8.0 — Honest Knowledge Pipeline**.
4
4
 
5
5
  **Lattice AI is a local-first Digital Brain that keeps your knowledge durable
6
6
  across any AI model.**
package/docs/kg-schema.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Knowledge Graph Schema
2
2
 
3
- Current release: **9.7.0 — Proactive Hybrid Brain**.
3
+ Current release: **9.8.0 — Honest Knowledge Pipeline**.
4
4
 
5
5
  명세 출처: `lattice_ai_full_spec.pptx` 슬라이드 20·21·22
6
6
  구현: `kg_schema.py`
@@ -26,7 +26,7 @@ from .storage import (
26
26
  storage_from_env,
27
27
  )
28
28
 
29
- __version__ = "9.7.0"
29
+ __version__ = "9.8.0"
30
30
 
31
31
  __all__ = [
32
32
  "AgentRuntime",