ltcai 11.9.0 → 12.0.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.
- package/README.md +80 -59
- package/docs/CHANGELOG.md +92 -0
- package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
- package/docs/DEVELOPMENT.md +267 -119
- package/docs/ENTERPRISE.md +1 -1
- package/docs/MULTI_AGENT_RUNTIME.md +4 -4
- package/docs/ONBOARDING.md +13 -3
- package/docs/OPERATIONS.md +13 -4
- package/docs/REALTIME_COLLABORATION.md +1 -1
- package/docs/ROADMAP.md +113 -0
- package/docs/TRUST_MODEL.md +16 -2
- package/docs/WHY_LATTICE.md +8 -2
- package/docs/WORKFLOW_DESIGNER.md +2 -2
- package/docs/kg-schema.md +51 -5
- package/docs/mcp-tools.md +17 -0
- package/lattice_brain/__init__.py +1 -1
- package/lattice_brain/graph/_kg_common/extraction.py +459 -105
- package/lattice_brain/graph/_kg_common/normalize.py +305 -0
- package/lattice_brain/graph/_kg_common/patterns.py +275 -0
- package/lattice_brain/graph/_kg_common/relations.py +12 -3
- package/lattice_brain/graph/_kg_common/sections.py +107 -0
- package/lattice_brain/graph/_kg_constants.py +7 -0
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/agent_worker_seam.py +32 -0
- package/latticeai/api/worker_compute.py +78 -3
- package/latticeai/core/embedding_providers/__init__.py +16 -0
- package/latticeai/core/embedding_providers/autodetect.py +302 -0
- package/latticeai/core/embedding_providers/base.py +25 -0
- package/latticeai/core/embedding_providers/profiles.py +44 -0
- package/latticeai/core/embedding_providers/text.py +74 -8
- package/latticeai/core/vector_index/__init__.py +61 -0
- package/latticeai/core/vector_index/hnsw.py +383 -0
- package/latticeai/core/vector_index/sidecar.py +329 -0
- package/latticeai/models/router/generation.py +101 -22
- package/latticeai/models/router/loading.py +109 -4
- package/latticeai/runtime/brain_runtime.py +43 -9
- package/latticeai/runtime/build_phases/worker_profile.py +13 -4
- package/latticeai/services/architecture_readiness.py +2 -2
- package/latticeai/services/product_readiness.py +10 -5
- package/latticeai/services/search_service.py +7 -0
- package/latticeai/tools/__init__.py +6 -1
- package/latticeai/tools/documents.py +12 -0
- package/latticeai/tools/markup.py +152 -0
- package/package.json +2 -1
- package/scripts/check_current_release_docs.mjs +1 -1
- package/scripts/compose_openapi.py +2 -0
- package/scripts/openapi_route_families.json +7 -3
- package/scripts/publish_release.mjs +157 -0
- package/scripts/release_screen_claims.json +12 -0
- package/src-tauri/Cargo.lock +44 -10
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/tauri.conf.json +1 -1
- package/static/app/asset-manifest.json +47 -41
- package/static/app/assets/Act-Cf1L2709.js +2 -0
- package/static/app/assets/AdminConsole-DPAbLTYV.js +1 -0
- package/static/app/assets/Brain-DqamGrj-.js +2 -0
- package/static/app/assets/BrainHome-MHe2_RYs.js +2 -0
- package/static/app/assets/BrainSignals-CQPPfyyH.js +1 -0
- package/static/app/assets/Capture-DGdIH_Zc.js +1 -0
- package/static/app/assets/Chronicle-C-UlCJoJ.js +1 -0
- package/static/app/assets/CommandPalette-WNT4EqUX.js +1 -0
- package/static/app/assets/DigitalBrainExplorer-CEBH5Cwc.js +321 -0
- package/static/app/assets/Library-C6xd1dlf.js +1 -0
- package/static/app/assets/LivingBrain-BEk-0ohw.js +1 -0
- package/static/app/assets/ProductFlow-CZLm5iXh.js +1 -0
- package/static/app/assets/QueryClientProvider-B3OjqSyJ.js +1 -0
- package/static/app/assets/ReviewCard-CEHG6evf.js +3 -0
- package/static/app/assets/RunsListPanel-CLtEJSRW.js +1 -0
- package/static/app/assets/System-CAxwBUXw.js +1 -0
- package/static/app/assets/WorkflowGraph-Dj10RuGE.js +1 -0
- package/static/app/assets/WorkflowsPanel-Kyeh_LIT.js +2 -0
- package/static/app/assets/actHelpers-CtSmK9Dw.js +1 -0
- package/static/app/assets/arrow-left-CRl5EO4D.js +1 -0
- package/static/app/assets/{bot-Bc3Q27YR.js → bot-DhUGRel2.js} +1 -1
- package/static/app/assets/brain-CLkhHsHF.js +1 -0
- package/static/app/assets/button-CmaEqG1T.js +1 -0
- package/static/app/assets/circle-check-CFgejkOS.js +1 -0
- package/static/app/assets/{circle-pause-BGMiV8UU.js → circle-pause-l96izbxj.js} +1 -1
- package/static/app/assets/{circle-play-DoanLHnd.js → circle-play-CrZa25_q.js} +1 -1
- package/static/app/assets/{cpu-DwzNf82m.js → cpu-BaXudqwl.js} +1 -1
- package/static/app/assets/{download-Ddw49yCV.js → download-hCVFPiyc.js} +1 -1
- package/static/app/assets/{folder-open-Brd6Kvto.js → folder-open-CHL82Yp7.js} +1 -1
- package/static/app/assets/{hard-drive-Bu-DTJdB.js → hard-drive-DDzET7lk.js} +1 -1
- package/static/app/assets/{index-CGdg_aq9.css → index-CB93CZWW.css} +1 -1
- package/static/app/assets/index-D2H-wSl6.js +13 -0
- package/static/app/assets/input-Df1CAY_I.js +1 -0
- package/static/app/assets/jsx-runtime-bzQ4Vb5N.js +1 -0
- package/static/app/assets/{link-2-DZ4OA5tJ.js → link-2-xNnTIX1_.js} +1 -1
- package/static/app/assets/{permissionCopy-D9TR0F8b.js → permissionCopy-D3aWHco-.js} +1 -1
- package/static/app/assets/primitives-BioD2slS.js +1 -0
- package/static/app/assets/search-BzBw8YcW.js +1 -0
- package/static/app/assets/{share-2-BC5FirFv.js → share-2-FkzGf8Df.js} +1 -1
- package/static/app/assets/{shield-alert-DUbR2W2s.js → shield-alert-B3dwzik4.js} +1 -1
- package/static/app/assets/sourceMeta-DQSY_tah.js +1 -0
- package/static/app/assets/textarea-P8o6pvOP.js +1 -0
- package/static/app/assets/useFocusTrap-hswOIkXE.js +1 -0
- package/static/app/assets/useMutation-OJLrYSRA.js +1 -0
- package/static/app/assets/workspace-BCuk3Ku9.js +1 -0
- package/static/app/index.html +4 -4
- package/static/sw.js +1 -1
- package/static/app/assets/Act-B4WT81kh.js +0 -1
- package/static/app/assets/AdminConsole--Wf71m-o.js +0 -1
- package/static/app/assets/Brain-CtYaa26c.js +0 -321
- package/static/app/assets/BrainHome-Be2VPJEc.js +0 -2
- package/static/app/assets/BrainSignals-C0__xgpG.js +0 -1
- package/static/app/assets/Capture-DdNi5Peb.js +0 -1
- package/static/app/assets/Chronicle-B3hNveeI.js +0 -1
- package/static/app/assets/CommandPalette-CIsnSsFL.js +0 -1
- package/static/app/assets/Library-Bl5XClFV.js +0 -1
- package/static/app/assets/LivingBrain-DjkTB_gh.js +0 -1
- package/static/app/assets/ProductFlow-DCUNRNHs.js +0 -1
- package/static/app/assets/ReviewCard-CD3yWvUB.js +0 -3
- package/static/app/assets/System-BJ6jQ_SL.js +0 -1
- package/static/app/assets/arrow-left-6_28Z0qH.js +0 -1
- package/static/app/assets/brain-B9BDrMTe.js +0 -1
- package/static/app/assets/button-D6JcpYcf.js +0 -1
- package/static/app/assets/circle-check-BFu9lD-3.js +0 -1
- package/static/app/assets/index-CWKRRsLW.js +0 -10
- package/static/app/assets/input-CEqsxtil.js +0 -1
- package/static/app/assets/primitives-DORg7Z_7.js +0 -1
- package/static/app/assets/search-0NQ21wXe.js +0 -1
- package/static/app/assets/textarea-jtQcRSXo.js +0 -1
- package/static/app/assets/useFocusTrap-HRemcWId.js +0 -1
- package/static/app/assets/useMutation-DqlFE-Bw.js +0 -1
- package/static/app/assets/useQuery-BizqBNGw.js +0 -1
- package/static/app/assets/utils-WgW4V69R.js +0 -4
- package/static/app/assets/workspace-DSek3jCY.js +0 -1
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
[](https://github.com/TaeSooPark-PTS/LatticeAI/actions/workflows/ci.yml)
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
|
|
14
|
-

|
|
15
15
|
|
|
16
16
|
Chat, files, folders, notes, and web pages all flow into one durable knowledge
|
|
17
17
|
graph on your computer. The default is local. Cloud is optional — an
|
|
@@ -25,10 +25,10 @@ nothing leaves your machine without explicit consent.
|
|
|
25
25
|
|
|
26
26
|
| | |
|
|
27
27
|
| --- | --- |
|
|
28
|
-
| **See your Brain's story in time** — a growth curve, an activity heatmap, and each day's story, rewindable to any past moment  | **Chat with a Brain that remembers** — every conversation grows durable, source-linked memory  |
|
|
29
|
+
| **See how knowledge connects** — a real relationship graph, not a file list  | **Capture anything** — files, whole folders, notes, screenshots, web pages  |
|
|
30
|
+
| **Automate with review** — agent changes become proposals you approve first  | **Pick a model in one click** — recommended local models for your hardware  |
|
|
31
|
+
| **Watch a file become memory** — three named steps, not a pipeline diagram  | **Say how much it may do alone** — one dial in plain words; dangerous actions stay blocked either way  |
|
|
32
32
|
|
|
33
33
|
## Why Lattice AI
|
|
34
34
|
|
|
@@ -40,6 +40,10 @@ nothing leaves your machine without explicit consent.
|
|
|
40
40
|
when captured pages extracted poorly, and when the vector index is catching up.
|
|
41
41
|
- **Safe automation** — automations are consent-first drafts; edits to existing
|
|
42
42
|
content always pass through a reviewable proposal with a diff.
|
|
43
|
+
- **Runs on the model your machine can hold** — the loop measures what a model
|
|
44
|
+
can actually produce and adapts: a model too small to emit a tool call is
|
|
45
|
+
walked through numbered choices instead, with the same permission gates,
|
|
46
|
+
snapshots and sanitizers as every other profile.
|
|
43
47
|
|
|
44
48
|
매번 AI에게 프로젝트 맥락을 다시 설명하고 있다면, 지식이 여러 서비스에 흩어져
|
|
45
49
|
있다면, 그 기억을 특정 회사가 아니라 내가 소유하고 싶다면 — Lattice AI가 그
|
|
@@ -59,49 +63,57 @@ First-run flow — wake the Brain, pick the owner, load a recommended model:
|
|
|
59
63
|
|
|
60
64
|
| | | |
|
|
61
65
|
| --- | --- | --- |
|
|
62
|
-
|  |  |  |
|
|
63
67
|
|
|
64
68
|
Screenshot index and capture notes:
|
|
65
|
-
[output/release/
|
|
69
|
+
[output/release/v12.0.0/SCREENSHOT_INDEX.md](output/release/v12.0.0/SCREENSHOT_INDEX.md)
|
|
66
70
|
|
|
67
71
|
## Current Release
|
|
68
72
|
|
|
69
|
-
The current release is **
|
|
70
|
-
|
|
71
|
-
11.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
- **
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
-
|
|
102
|
-
- `
|
|
103
|
-
-
|
|
104
|
-
|
|
73
|
+
The current release is **12.0.0 — Open House**:
|
|
74
|
+
|
|
75
|
+
11.9.0 made the doors answer. This release opens the house: the two
|
|
76
|
+
largest crates are grouped by what a file is *for*, the contributor
|
|
77
|
+
documentation is a real path in, and four gaps the last release wrote
|
|
78
|
+
down are closed. `lattice-host` serves **422 operations across 41 route
|
|
79
|
+
families** (`POST /mcp` and the folder-prune route are the two new ones),
|
|
80
|
+
and the AI worker is **20 routes** (`POST /worker/vector/query` is the
|
|
81
|
+
one addition). Cloud is still optional and the default is still local.
|
|
82
|
+
|
|
83
|
+
- **Complexity management first.** `lattice-agent` is six groups —
|
|
84
|
+
`kernel` (the loop and every decision that can refuse), `parse`,
|
|
85
|
+
`content`, `tools`, `surface`, `prompts` — and `lattice-platform` is
|
|
86
|
+
seven domains. Every move is a rename, so the goldens answer
|
|
87
|
+
identically; each crate carries its own `ARCHITECTURE.md`, and
|
|
88
|
+
`docs/DEVELOPMENT.md` and the new `docs/ROADMAP.md` are the way in.
|
|
89
|
+
- **Small models become agents.** A measured probe (not a size regex)
|
|
90
|
+
picks the profile, and the `guided` profile stops asking for JSON at
|
|
91
|
+
all: pick an action by number, then one argument per turn, and the
|
|
92
|
+
harness assembles the call. A 0.5B model finished a real file in 3.9s.
|
|
93
|
+
The same gates, snapshots and sanitizers run on every profile.
|
|
94
|
+
- **Remembering got faster and more careful.** Re-indexing an unchanged
|
|
95
|
+
folder went **33s → 0.26s**, a 991-item embedding backlog went 40
|
|
96
|
+
minutes → 15.3s, and a document's own section outline is now in the
|
|
97
|
+
graph, so an answer can name the heading it came from. Korean queries
|
|
98
|
+
strip their particles properly, and deleted files get a **「삭제된 파일
|
|
99
|
+
정리」** button instead of quietly lingering as memory.
|
|
100
|
+
- **Four honest gaps closed.** Restore takes effect without a restart,
|
|
101
|
+
`/setup/install` really installs on per-item consent, `POST /mcp` is
|
|
102
|
+
inside the OpenAPI contract, and pointer tools are declared as
|
|
103
|
+
`pip install "ltcai[pointer]"`.
|
|
104
|
+
|
|
105
|
+
What this release does not close — small-model *content* quality, the
|
|
106
|
+
mock-only `api_key` path, `brute` still being the search default, watch
|
|
107
|
+
never deleting on its own, the ad-hoc-signed dmg — is listed in
|
|
108
|
+
[RELEASE_NOTES_v12.0.0.md](RELEASE_NOTES_v12.0.0.md).
|
|
109
|
+
|
|
110
|
+
Expected artifacts for 12.0.0 release must use exact filenames:
|
|
111
|
+
|
|
112
|
+
- `dist/ltcai-12.0.0-py3-none-any.whl`
|
|
113
|
+
- `dist/ltcai-12.0.0.tar.gz`
|
|
114
|
+
- `ltcai-12.0.0.tgz`
|
|
115
|
+
- `dist/ltcai-12.0.0.vsix`
|
|
116
|
+
- `src-tauri/target/release/bundle/dmg/Lattice AI_12.0.0_aarch64.dmg`
|
|
105
117
|
|
|
106
118
|
Do not use wildcard artifact uploads. Package registry publishing remains owner-run.
|
|
107
119
|
|
|
@@ -120,14 +132,17 @@ and downloads, Brain Network, and update checks are opt-in.
|
|
|
120
132
|
See [ARCHITECTURE.md](ARCHITECTURE.md) for details and
|
|
121
133
|
[docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for the developer workflow
|
|
122
134
|
(`npm start` / `bin/ltcai.js` is the product; `npm run dev` is the
|
|
123
|
-
|
|
124
|
-
|
|
135
|
+
20-route worker). Each of the two largest crates carries its own domain
|
|
136
|
+
map — [rust/lattice-agent/ARCHITECTURE.md](rust/lattice-agent/ARCHITECTURE.md)
|
|
137
|
+
and [rust/lattice-platform/ARCHITECTURE.md](rust/lattice-platform/ARCHITECTURE.md)
|
|
138
|
+
— and open gaps are tracked in [docs/ROADMAP.md](docs/ROADMAP.md).
|
|
139
|
+
Validation via `npm run lint`, `npm run test:unit`, `npm run test:visual`.
|
|
125
140
|
|
|
126
141
|
## Known Limitations
|
|
127
142
|
|
|
128
143
|
- External package registries are owner-published and can lag behind GitHub.
|
|
129
144
|
- SQLite is the live local Brain store. The optional PostgreSQL/pgvector
|
|
130
|
-
migration tooling is not part of the
|
|
145
|
+
migration tooling is not part of the 12.0.0 worker.
|
|
131
146
|
- Docker, model downloads, cloud model calls, Brain Network, and update checks
|
|
132
147
|
require explicit user action. Cloud is optional: `cli_oauth` (`agy` /
|
|
133
148
|
`grok`) was live-checked at zero billing; the `api_key` path is
|
|
@@ -148,21 +163,26 @@ See [ARCHITECTURE.md](ARCHITECTURE.md) for details and
|
|
|
148
163
|
built. The observation code stays in Brain Core under unit test, and its
|
|
149
164
|
module header says so.
|
|
150
165
|
- The Python coverage gate is a **line floor of 90** since 11.8.0 (the
|
|
151
|
-
100%-lines-and-branches gate was removed).
|
|
152
|
-
|
|
153
|
-
- **
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
166
|
+
100%-lines-and-branches gate was removed). The enforced claim is the
|
|
167
|
+
floor, not whatever a given run measures.
|
|
168
|
+
- **Small-model *content* quality is gated honestly.** With the `guided`
|
|
169
|
+
profile even a 0.5B model writes the requested file and reaches DONE;
|
|
170
|
+
a weak summary still fails the critic and the run ends
|
|
171
|
+
FAILED/NEEDS_REVIEW rather than claiming success.
|
|
172
|
+
- Vector search still defaults to `brute` — exact and byte-compatible.
|
|
173
|
+
`hnsw+rescore` is real but opt-in, and falls back to the exact scan
|
|
174
|
+
with its reason when the sidecar cannot answer.
|
|
175
|
+
- Watch never deletes on its own: a vanished file is reported, and
|
|
176
|
+
cleanup runs only through the confirmed folder-prune flow.
|
|
159
177
|
- The macOS dmg is ad-hoc signed — effectively unsigned — so first launch
|
|
160
178
|
needs the usual Gatekeeper step.
|
|
161
|
-
- Pointer-control tools
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
179
|
+
- Pointer-control tools execute in the worker and are installed with
|
|
180
|
+
`pip install "ltcai[pointer]"`. Remaining honest gaps (`open_keys`
|
|
181
|
+
pending-only, no Self-Model refiner, `delete_node` leaving `PART_OF`,
|
|
182
|
+
review events silent without an owner, KG-api ingest text-only, two
|
|
183
|
+
store cycles per review mutation) are listed with their reasons in
|
|
184
|
+
[RELEASE_NOTES_v12.0.0.md](RELEASE_NOTES_v12.0.0.md) and prioritized in
|
|
185
|
+
[docs/ROADMAP.md](docs/ROADMAP.md).
|
|
166
186
|
|
|
167
187
|
## Release History
|
|
168
188
|
|
|
@@ -173,6 +193,7 @@ same boundary. Earlier notes stay in the tree as `RELEASE_NOTES_v*.md` files.
|
|
|
173
193
|
|
|
174
194
|
| Version | Theme |
|
|
175
195
|
| --- | --- |
|
|
196
|
+
| 12.0.0 | Open House |
|
|
176
197
|
| 11.9.0 | Working Order |
|
|
177
198
|
| 11.8.0 | Travel Light |
|
|
178
199
|
| 11.7.0 | Clean Sweep |
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,98 @@ 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
|
+
## [12.0.0] - 2026-08-18 — Open House
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- 크레이트 도메인 구조. `lattice-agent` 43파일이 여섯 그룹으로
|
|
11
|
+
(`kernel` / `parse` / `content` / `tools` / `surface` / `prompts`),
|
|
12
|
+
`lattice-platform` 31개 평면 모듈이 일곱 도메인으로
|
|
13
|
+
(`workspaceos` / `toolsurface` / `governance` / `adminops` /
|
|
14
|
+
`knowledge` / `modelops` / `shell`, 100건 `git mv`). 전부 이동이며
|
|
15
|
+
동작 변화는 0 — 골든과 계약 테스트가 재구조 전후로 같은 답을 낸다.
|
|
16
|
+
- 크레이트 로컬 지도 2종: `rust/lattice-agent/ARCHITECTURE.md`,
|
|
17
|
+
`rust/lattice-platform/ARCHITECTURE.md`. 각 그룹 `mod.rs`가 무엇이
|
|
18
|
+
속하고 무엇이 절대 들어가면 안 되는지와 불변식을 적는다. 각
|
|
19
|
+
`src/lib.rs`는 호환 맵으로 끝나 기존 임포트 경로가 전부 해석된다.
|
|
20
|
+
- `docs/ROADMAP.md` — 우선순위(P1/P2/P3)·난이도·제안 경로가 있는 갭
|
|
21
|
+
로드맵. 이번 릴리스에서 닫힌 항목은 닫힘으로 표시한다.
|
|
22
|
+
- GUIDED 프로파일. 번호 메뉴로 액션을 고르고 인자를 한 개씩 받아
|
|
23
|
+
**하네스가 액션 구조체를 조립**한다 — JSON 요구 자체가 없다. 꼬리는
|
|
24
|
+
모든 모드와 같은 `perform_action`이므로 게이트 체인·루프 가드·쓰기 전
|
|
25
|
+
스냅샷·`sanitize_write_content`가 동일하다. 검증은 닫힌 PASS/FAIL +
|
|
26
|
+
이유 한 줄이며 같은 근거·커버리지 게이트로 심사한다.
|
|
27
|
+
- 측정 기반 프로파일 프로브(`kernel/probe.rs`). 로드 시 고정 질문 두
|
|
28
|
+
개를 루프 자신의 파서로 채점해 standard/compact/guided를 고르고,
|
|
29
|
+
모델 id + 크레이트 버전으로 캐시한다. `LATTICEAI_AGENT_PROFILE`이
|
|
30
|
+
여전히 최우선, `LATTICEAI_AGENT_PROBE=0`으로 끌 수 있다.
|
|
31
|
+
- 미드런 자기강등(`demote_to_guided`) — 측정된 다이얼, 아직 guided가
|
|
32
|
+
아님, 실행 근거 없음의 세 조건에서만, 아래로만.
|
|
33
|
+
- 통합 도구 카탈로그(`tools/catalog.rs`) — native + `mcp.<tool>` +
|
|
34
|
+
`skill.<name>`이 하나의 번호 메뉴. 런이 거버넌스하는 이름은 네이티브
|
|
35
|
+
경로(더 엄격), 아닌 이름은 `POST /mcp`와 같은 거버넌스 검사를 지난다.
|
|
36
|
+
- `POST /worker/vector/query` — HNSW 사이드카 후보 조회. 워커 allowlist
|
|
37
|
+
19 → **20**.
|
|
38
|
+
- `POST /api/ingestion/folder/prune` — 삭제된 파일 정리. `confirm` 없으면
|
|
39
|
+
dry-run, 있으면 `delete_document_tree`(양방향 엣지). SPA에 「삭제된
|
|
40
|
+
파일 정리 (N)」 카드 버튼.
|
|
41
|
+
- 섹션 트리 — `Document ←PART_OF— Section ←PART_OF— Section`,
|
|
42
|
+
`Section —HAS_CHUNK→ Chunk`. 제목이 없는 문서는 섹션을 만들지 않는다.
|
|
43
|
+
- 파일별 ingest 핑거프린트(경로 + 크기 + mtime + 내용 sha256)를
|
|
44
|
+
`ingestion_provenance.metadata_json`에 저장. 두 번째 테이블 없음.
|
|
45
|
+
- 스토어 세대(generation) 에폭 — 복원이 인프로세스로 즉시 반영된다.
|
|
46
|
+
- `ltcai[pointer]` extra — 여섯 pyautogui 포인터 도구의 선언된 설치 경로.
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
- `POST /mcp`가 OpenAPI 제품 계약 **안으로** 들어왔다(단일 JSON-RPC 봉투
|
|
50
|
+
오퍼레이션). 네이티브 마운트이므로 워커로 프록시되지 않는다. 문은 네이티브
|
|
51
|
+
**422 오퍼레이션 / 41 패밀리**(11.9.0의 420 + `/mcp` + folder prune).
|
|
52
|
+
- `/setup/install`이 실제로 설치한다 — 요청이 이름을 댄 항목이 **서버가
|
|
53
|
+
도출한** allowlist에 있을 때만. 목록 밖 이름은 거절. 기본은 수동 유지.
|
|
54
|
+
- 한국어 조사 스트리핑 2단계 + 근거 게이트 + 포함관계 중복 제거.
|
|
55
|
+
- 추출이 `PART_OF`/`CONTRADICTS`를 실제로 생산하고, 엣지는 방향과 타입을
|
|
56
|
+
갖고 쓰이며, 근거는 분류되어 저장된다.
|
|
57
|
+
- 임베딩 자동 감지 — 다운로드된 실모델이 있으면 채택, 해시는 폴백으로
|
|
58
|
+
표기. 벡터 정체성은 `(model, dim)`으로 필터.
|
|
59
|
+
- 임베딩이 쓰기 트랜잭션 **앞으로** 이동(드레인 ~66 → ~1,300 items/s),
|
|
60
|
+
드레인 스케줄러 적응형(백로그 991건 40분 → 15.3초).
|
|
61
|
+
- 무변경 재인덱스 33s → **0.26s**(낭비율 1.00 → 0.00), 첫 인덱싱 25.8s
|
|
62
|
+
→ 7.2s. vault-watch가 바뀌지 않은 노트를 스킵.
|
|
63
|
+
- `LATTICEAI_VECTOR_INDEX=hnsw`가 실제 검색 경로 — 사이드카가 `k*8`
|
|
64
|
+
후보(최대 200)를 주고 Rust가 브루트와 같은 코사인으로 정확 재스코어,
|
|
65
|
+
이름은 `hnsw+rescore`. HNSW 사이드카는 증분 append. **기본은 여전히
|
|
66
|
+
`brute`**, 실패는 사유를 실은 폴백.
|
|
67
|
+
- `Completion::prefix`가 완성의 첫 글자를 강제(compact는
|
|
68
|
+
`{"thoughts": "`). 토큰 단위 JSON 문법은 검토 후 채택하지 않음.
|
|
69
|
+
- 프론트: ErrorBoundary가 라우트와 헤비 패널 전면에, Act/Brain 서브라우트
|
|
70
|
+
lazy 분할, 권한 모드 diff 프리뷰와 위험 토글 ack. 번들 104.2 / 150 KiB.
|
|
71
|
+
|
|
72
|
+
### Fixed
|
|
73
|
+
- RAG 인용 지시가 에이전트 프롬프트로 새던 문제 — 도구를 불러야 할 턴에
|
|
74
|
+
모델이 출처 표기를 하고 있었다.
|
|
75
|
+
- 모델 로딩의 이름 로스터 게이트 — Qwen AWQ 빌드가 로드 자체가 불가능
|
|
76
|
+
했다.
|
|
77
|
+
- 베낄 수 있는 워크드 예제 — `write_file` content가 우리 예제 상수와
|
|
78
|
+
글자 그대로 같으면 `COPIED_EXAMPLE`로 기록하고 쓰지 않는다
|
|
79
|
+
(fail-closed). 에코된 지시문 줄은 guided 답변에서 제거.
|
|
80
|
+
- `<|channel>` 한-파이프 제어 프레임이 본문으로 새던 문제.
|
|
81
|
+
- 복원 뒤 오래된 커넥션이 복원 전 바이트를 주던 문제(에폭으로 해소).
|
|
82
|
+
|
|
83
|
+
### Known issues
|
|
84
|
+
- 작은 모델의 *내용 품질*은 여전히 fail-closed 게이트가 잡는다. 기계적
|
|
85
|
+
실행(요청한 파일 쓰기, DONE 도달)은 guided로 안정됐고 0.5B도 3.9초에
|
|
86
|
+
실파일로 완주하지만, 요약의 질은 critic에서 떨어져
|
|
87
|
+
FAILED/NEEDS_REVIEW로 끝날 수 있다. 매트릭스는 18개 중 11개 통과에서
|
|
88
|
+
개선 중이며 최종 수치는 릴리스 시점 `MATRIX_TABLE` 기준.
|
|
89
|
+
- `api_key` 클라우드 경로는 모의 서버만 검증(과금 0 정책). 라이브
|
|
90
|
+
검증은 `cli_oauth`.
|
|
91
|
+
- DMG는 ad-hoc 서명(=미서명).
|
|
92
|
+
- 검색 기본은 brute. `hnsw`는 opt-in.
|
|
93
|
+
- watch는 자동 삭제하지 않는다 — 정리는 명시적 prune으로만.
|
|
94
|
+
- 크레이트 재구조는 이동이지 결합 해소가 아니다. 도메인 선을 넘는 네
|
|
95
|
+
결합은 `lattice-platform`의 해당 `mod.rs`에 이름과 함께 적혀 있다.
|
|
96
|
+
- `GraphWriter::delete_node`는 여전히 `PART_OF`를 남긴다. prune은 그것을
|
|
97
|
+
쓰지 않고 `delete_document_tree`를 쓴다.
|
|
98
|
+
|
|
7
99
|
## [11.9.0] - 2026-08-17 — Working Order
|
|
8
100
|
|
|
9
101
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Community And Plugins
|
|
2
2
|
|
|
3
|
-
Current release: **
|
|
3
|
+
Current release: **12.0.0 — Open House**.
|
|
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
|