ltcai 9.0.0 → 9.2.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 +88 -46
- package/auto_setup.py +7 -853
- package/desktop/electron/README.md +9 -0
- package/desktop/electron/main.cjs +5 -3
- package/docs/CHANGELOG.md +178 -2
- package/docs/COMMUNITY_AND_PLUGINS.md +4 -2
- package/docs/DEVELOPMENT.md +53 -14
- package/docs/LEGACY_COMPATIBILITY.md +4 -4
- package/docs/ONBOARDING.md +10 -2
- package/docs/OPERATIONS.md +8 -4
- package/docs/PRODUCT_DIRECTION_REVIEW.md +4 -0
- package/docs/TRUST_MODEL.md +5 -2
- package/docs/WHY_LATTICE.md +15 -10
- package/docs/WORKFLOW_DESIGNER.md +22 -0
- package/docs/kg-schema.md +13 -2
- package/docs/mcp-tools.md +17 -6
- package/docs/privacy.md +19 -3
- package/docs/public-deploy.md +32 -3
- package/docs/security-model.md +46 -11
- package/lattice_brain/__init__.py +1 -1
- package/lattice_brain/archive.py +1 -6
- package/lattice_brain/context.py +66 -9
- package/lattice_brain/graph/_kg_fsutil.py +1 -5
- package/lattice_brain/graph/discovery_index.py +174 -20
- package/lattice_brain/graph/documents.py +44 -9
- package/lattice_brain/graph/ingest.py +47 -20
- package/lattice_brain/graph/provenance.py +13 -6
- package/lattice_brain/graph/retrieval.py +140 -39
- package/lattice_brain/graph/retrieval_docgen.py +37 -4
- package/lattice_brain/ingestion.py +4 -7
- package/lattice_brain/portability.py +28 -14
- package/lattice_brain/runtime/agent_runtime.py +5 -9
- package/lattice_brain/runtime/hooks.py +30 -13
- package/lattice_brain/runtime/multi_agent.py +27 -8
- package/lattice_brain/runtime/statuses.py +10 -0
- package/lattice_brain/utils.py +20 -2
- package/lattice_brain/workflow.py +1 -5
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/admin.py +1 -1
- package/latticeai/api/agent_registry.py +10 -8
- package/latticeai/api/agents.py +22 -3
- package/latticeai/api/auth.py +78 -16
- package/latticeai/api/browser.py +303 -34
- package/latticeai/api/chat.py +320 -850
- package/latticeai/api/chat_agent_http.py +356 -0
- package/latticeai/api/chat_contracts.py +54 -0
- package/latticeai/api/chat_documents.py +256 -0
- package/latticeai/api/chat_helpers.py +28 -1
- package/latticeai/api/chat_history.py +99 -0
- package/latticeai/api/chat_intents.py +316 -0
- package/latticeai/api/chat_stream.py +115 -0
- package/latticeai/api/computer_use.py +62 -9
- package/latticeai/api/health.py +9 -3
- package/latticeai/api/hooks.py +17 -6
- package/latticeai/api/knowledge_graph.py +78 -14
- package/latticeai/api/local_files.py +7 -2
- package/latticeai/api/mcp.py +102 -23
- package/latticeai/api/models.py +72 -33
- package/latticeai/api/network.py +5 -5
- package/latticeai/api/permissions.py +67 -26
- package/latticeai/api/plugins.py +21 -7
- package/latticeai/api/portability.py +5 -5
- package/latticeai/api/realtime.py +33 -5
- package/latticeai/api/setup.py +2 -2
- package/latticeai/api/static_routes.py +123 -24
- package/latticeai/api/tools.py +96 -14
- package/latticeai/api/workflow_designer.py +37 -0
- package/latticeai/api/workspace.py +2 -1
- package/latticeai/app_factory.py +110 -52
- package/latticeai/core/agent.py +50 -13
- package/latticeai/core/agent_prompts.py +5 -0
- package/latticeai/core/agent_registry.py +1 -5
- package/latticeai/core/config.py +23 -3
- package/latticeai/core/context_builder.py +21 -3
- package/latticeai/core/file_generation.py +451 -0
- package/latticeai/core/invitations.py +1 -4
- package/latticeai/core/io_utils.py +9 -1
- package/latticeai/core/legacy_compatibility.py +24 -3
- package/latticeai/core/marketplace.py +1 -1
- package/latticeai/core/plugins.py +15 -0
- package/latticeai/core/policy.py +1 -1
- package/latticeai/core/realtime.py +38 -15
- package/latticeai/core/sessions.py +7 -2
- package/latticeai/core/timeutil.py +10 -0
- package/latticeai/core/tool_registry.py +90 -18
- package/latticeai/core/users.py +1 -5
- package/latticeai/core/workspace_graph_trace.py +31 -5
- package/latticeai/core/workspace_memory.py +3 -1
- package/latticeai/core/workspace_os.py +18 -7
- package/latticeai/core/workspace_os_utils.py +0 -5
- package/latticeai/core/workspace_permissions.py +2 -1
- package/latticeai/core/workspace_plugins.py +1 -1
- package/latticeai/core/workspace_runs.py +14 -5
- package/latticeai/core/workspace_skills.py +1 -1
- package/latticeai/core/workspace_snapshots.py +2 -1
- package/latticeai/core/workspace_timeline.py +2 -1
- package/latticeai/integrations/telegram_bot.py +94 -43
- package/latticeai/models/router.py +130 -36
- package/latticeai/runtime/access_runtime.py +62 -4
- package/latticeai/runtime/automation_runtime.py +13 -7
- package/latticeai/runtime/brain_runtime.py +19 -7
- package/latticeai/runtime/chat_wiring.py +2 -0
- package/latticeai/runtime/config_runtime.py +58 -26
- package/latticeai/runtime/context_runtime.py +16 -4
- package/latticeai/runtime/hooks_runtime.py +1 -1
- package/latticeai/runtime/model_wiring.py +33 -5
- package/latticeai/runtime/namespace_runtime.py +62 -72
- package/latticeai/runtime/platform_runtime_wiring.py +4 -3
- package/latticeai/runtime/review_wiring.py +1 -1
- package/latticeai/runtime/router_registration.py +34 -1
- package/latticeai/runtime/security_runtime.py +110 -13
- package/latticeai/runtime/stages.py +27 -0
- package/latticeai/server_app.py +5 -1
- package/latticeai/services/architecture_readiness.py +74 -5
- package/latticeai/services/brain_automation.py +3 -26
- package/latticeai/services/chat_service.py +205 -15
- package/latticeai/services/local_knowledge.py +423 -0
- package/latticeai/services/memory_service.py +55 -21
- package/latticeai/services/model_engines.py +48 -33
- package/latticeai/services/model_errors.py +17 -0
- package/latticeai/services/model_loading.py +28 -25
- package/latticeai/services/model_runtime.py +228 -162
- package/latticeai/services/p_reinforce.py +22 -3
- package/latticeai/services/platform_runtime.py +83 -23
- package/latticeai/services/product_readiness.py +19 -17
- package/latticeai/services/review_queue.py +12 -0
- package/latticeai/services/router_context.py +1 -0
- package/latticeai/services/run_executor.py +4 -9
- package/latticeai/services/search_service.py +203 -28
- package/latticeai/services/tool_dispatch.py +28 -5
- package/latticeai/services/triggers.py +53 -4
- package/latticeai/services/upload_service.py +13 -2
- package/latticeai/setup/__init__.py +25 -0
- package/latticeai/setup/auto_setup.py +857 -0
- package/latticeai/setup/wizard.py +1264 -0
- package/latticeai/tools/__init__.py +278 -0
- package/{tools → latticeai/tools}/commands.py +67 -7
- package/{tools → latticeai/tools}/computer.py +1 -1
- package/{tools → latticeai/tools}/documents.py +1 -1
- package/{tools → latticeai/tools}/filesystem.py +3 -3
- package/latticeai/tools/knowledge.py +178 -0
- package/{tools → latticeai/tools}/local_files.py +1 -1
- package/{tools → latticeai/tools}/network.py +0 -1
- package/local_knowledge_api.py +4 -342
- package/package.json +22 -2
- package/scripts/brain_quality_eval.py +3 -1
- package/scripts/bump_version.py +3 -0
- package/scripts/capture_release_evidence.mjs +180 -0
- package/scripts/check_current_release_docs.mjs +142 -0
- package/scripts/check_i18n_literals.mjs +107 -31
- package/scripts/check_openapi_drift.mjs +56 -0
- package/scripts/export_openapi.py +67 -7
- package/scripts/i18n_literal_allowlist.json +22 -24
- package/scripts/run_integration_tests.mjs +72 -10
- package/scripts/validate_release_artifacts.py +49 -7
- package/scripts/wheel_smoke.py +5 -0
- package/setup_wizard.py +3 -1260
- package/src-tauri/Cargo.lock +1 -1
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/tauri.conf.json +1 -1
- package/static/app/asset-manifest.json +11 -11
- package/static/app/assets/Act-C3dBrWE-.js +1 -0
- package/static/app/assets/Brain-DBYgdcjt.js +321 -0
- package/static/app/assets/Capture-Cf3hqRtN.js +1 -0
- package/static/app/assets/Library-CFfkNn3s.js +1 -0
- package/static/app/assets/System-BOurbT-v.js +1 -0
- package/static/app/assets/index-A3M9sElj.js +17 -0
- package/static/app/assets/index-Bmx9rzTc.css +2 -0
- package/static/app/assets/primitives-DcUUmhdC.js +1 -0
- package/static/app/assets/textarea-BklR6zN4.js +1 -0
- package/static/app/index.html +2 -2
- package/static/sw.js +1 -1
- package/tools/__init__.py +21 -269
- package/docs/CODE_REVIEW_2026-07-06.md +0 -764
- package/latticeai/runtime/app_context_runtime.py +0 -13
- package/latticeai/runtime/tail_wiring.py +0 -21
- package/scripts/com.pts.claudecode.discord.plist +0 -31
- package/scripts/pts-claudecode-discord-bridge.mjs +0 -207
- package/scripts/start-pts-claudecode-discord.sh +0 -51
- package/static/app/assets/Act-21lIXx2E.js +0 -1
- package/static/app/assets/Brain-BqUd5UJJ.js +0 -321
- package/static/app/assets/Capture-BA7Z2Q1u.js +0 -1
- package/static/app/assets/Library-bFMtyni3.js +0 -1
- package/static/app/assets/System-K6krGCqn.js +0 -1
- package/static/app/assets/index-C4R3ws30.js +0 -17
- package/static/app/assets/index-ChSeOB02.css +0 -2
- package/static/app/assets/primitives-sQU3it5I.js +0 -1
- package/static/app/assets/textarea-DK3Fd_lR.js +0 -1
- package/tools/knowledge.py +0 -95
package/README.md
CHANGED
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
# Lattice AI
|
|
2
2
|
|
|
3
|
-
**Lattice AI 9.
|
|
3
|
+
**Lattice AI 9.2.0 is the local-first Digital Brain platform. Model-Agnostic File Generation makes "create a file" work reliably with any loaded LLM: file requests run through a strict extension-aware prompt, robust extraction, per-type validation, one corrective retry, and a deterministic repair fallback, so even small local models (gemma/qwen class) always produce a structurally valid HTML, JSON, or code file.**
|
|
4
4
|
|
|
5
5
|
**Lattice AI는 모델이 바뀌어도 내 지식과 맥락을 보존하는 로컬 우선 AI 브레인입니다.**
|
|
6
6
|
|
|
7
|
+
> The 9.2.0 release hardens file creation end to end: chat file requests are
|
|
8
|
+
> routed to a deterministic direct-write path (including type-only requests
|
|
9
|
+
> like "html 파일 만들어줘"), model replies are treated as untrusted content
|
|
10
|
+
> and cleaned of fences, reasoning blocks, and chat framing, and the agent
|
|
11
|
+
> JSON loop tolerates small-model formatting slips instead of aborting.
|
|
12
|
+
> The 9.1.0 release added request-scoped model routing,
|
|
13
|
+
> workspace-isolated graph identities and frontend caches, fail-closed admin
|
|
14
|
+
> gates, SSRF-safe web capture, private local state permissions, and reproducible
|
|
15
|
+
> release/test isolation. The same release introduced a human-first UI:
|
|
16
|
+
> a visible knowledge journey from conversation or source capture into the
|
|
17
|
+
> living Brain, its real relationship graph, and memory-grounded automation;
|
|
18
|
+
> the empty Brain home now keeps that complete loop inside one viewport, with
|
|
19
|
+
> continuous vital motion and behavior-driven listening, recall, synthesis,
|
|
20
|
+
> and action states. Task navigation and technical detail stay calm and
|
|
21
|
+
> approachable.
|
|
22
|
+
> Telegram access requires an explicit chat allowlist and server session token;
|
|
23
|
+
> public invitation access uses signed, expiring authorization instead of a
|
|
24
|
+
> static cookie; and unknown or unreadable Knowledge Graph scope fails closed.
|
|
25
|
+
|
|
7
26
|
Your model is the voice you use today. Your Brain is the asset you keep.
|
|
8
27
|
Lattice AI preserves conversations, documents, decisions, project context,
|
|
9
28
|
relationships, and workflows on your computer by default. Cloud models, model
|
|
@@ -11,7 +30,9 @@ downloads, update checks, and other external communication happen only after
|
|
|
11
30
|
explicit consent.
|
|
12
31
|
|
|
13
32
|
It is not a ChatGPT clone, a model launcher, a graph database, or a note app.
|
|
14
|
-
It is
|
|
33
|
+
It is a Living Brain: chatting or adding a file, folder, note, or web page grows
|
|
34
|
+
durable memory; the real graph shows how that knowledge connects; and reviewed,
|
|
35
|
+
user-enabled automations can act from the same evidence.
|
|
15
36
|
|
|
16
37
|
[](https://pypi.org/project/ltcai/)
|
|
17
38
|
[](https://www.npmjs.com/package/ltcai)
|
|
@@ -43,10 +64,13 @@ You need Lattice AI when:
|
|
|
43
64
|
session as disposable.
|
|
44
65
|
- Add documents, selected local folders, notes, screenshots, and web pages with
|
|
45
66
|
source-aware memory.
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
67
|
+
- Watch new knowledge enter the Brain and appear in a lightweight, real
|
|
68
|
+
relationship graph before opening the full graph explorer.
|
|
69
|
+
- See the Brain breathe, pulse, listen, recall, synthesize, and act while the
|
|
70
|
+
source, graph, composer, and next memory-grounded action remain visible in a
|
|
71
|
+
single desktop or mobile viewport.
|
|
72
|
+
- Create evidence-linked Brain automation drafts for memory digests, project
|
|
73
|
+
reviews, and follow-up suggestions, then explicitly enable them when ready.
|
|
50
74
|
- Use a recommended local model without learning model internals first.
|
|
51
75
|
- Keep advanced controls, audit logs, roles, and retention in a separate Admin
|
|
52
76
|
surface.
|
|
@@ -58,18 +82,21 @@ You need Lattice AI when:
|
|
|
58
82
|
2. Create or open a local profile.
|
|
59
83
|
3. Let Lattice explain what this computer can run.
|
|
60
84
|
4. Start with the recommended model as the Brain's voice, or skip and choose later.
|
|
61
|
-
5. Talk to your Brain.
|
|
62
|
-
6.
|
|
63
|
-
7.
|
|
85
|
+
5. Talk to your Brain or add a file, folder, note, or web page.
|
|
86
|
+
6. Watch the source become memory and connect to the visible knowledge graph.
|
|
87
|
+
7. Ask, delegate, review, or explicitly enable a memory-grounded automation.
|
|
88
|
+
8. Back up, inspect, export, or restore the Brain when you need ownership actions.
|
|
64
89
|
|
|
65
90
|
## Living Brain Flow
|
|
66
91
|
|
|
67
92
|
The screenshots below are the latest checked-in visual evidence captures. They
|
|
68
93
|
keep the first-run Brain flow, memory graph, source capture, model library,
|
|
69
94
|
system view, admin console, and review center visible as release gates while
|
|
70
|
-
9.
|
|
71
|
-
|
|
72
|
-
and
|
|
95
|
+
9.2.0 makes file generation model-agnostic: chat file requests always end in
|
|
96
|
+
a structurally valid file regardless of which LLM is loaded, backed by
|
|
97
|
+
extraction, validation, corrective retry, and deterministic repair. The
|
|
98
|
+
captures below are the checked-in 9.2.0 visual release evidence for that
|
|
99
|
+
product flow.
|
|
73
100
|
|
|
74
101
|
### 1. Wake Brain
|
|
75
102
|
|
|
@@ -81,36 +108,40 @@ confirm owner, check the computer, choose the Brain voice.
|
|
|
81
108
|
Choose the owner of the Brain. The profile is not a SaaS account by default; it
|
|
82
109
|
is the local identity for the knowledge you keep.
|
|
83
110
|
|
|
84
|
-

|
|
85
112
|
|
|
86
113
|
### 3. Recommended Models
|
|
87
114
|
|
|
88
115
|
Start with a short list: safest recommendation, faster model, stronger model.
|
|
89
116
|
Advanced details stay available without overwhelming first-time users.
|
|
90
117
|
|
|
91
|
-

|
|
92
119
|
|
|
93
120
|
### 4. Install And Load
|
|
94
121
|
|
|
95
122
|
Download and load only after consent. Lattice explains model size, local
|
|
96
123
|
execution, and network use before work starts.
|
|
97
124
|
|
|
98
|
-

|
|
99
126
|
|
|
100
127
|
### 5. Brain Chat
|
|
101
128
|
|
|
102
|
-
Talk normally
|
|
103
|
-
|
|
104
|
-
the Brain
|
|
129
|
+
Talk normally or add a source from a single, living canvas. The default home
|
|
130
|
+
fits the complete knowledge lifecycle into one viewport: source controls feed
|
|
131
|
+
the breathing Brain, real nodes and animated relationships stay visible beside
|
|
132
|
+
it, and the composer plus grounded next action remain within reach. Brain motion
|
|
133
|
+
and its visible life signal follow real listening, recall, synthesis, and action
|
|
134
|
+
state. Detailed memory rings, provenance, conversation history, and
|
|
135
|
+
model/runtime proof open as overlays only when requested.
|
|
105
136
|
|
|
106
|
-

|
|
107
138
|
|
|
108
139
|
### 6. Review Center
|
|
109
140
|
|
|
110
141
|
Automation results are staged for review before they become durable decisions.
|
|
111
142
|
Snooze, unsnooze, run now, approve, and dismiss actions stay explicit.
|
|
112
143
|
|
|
113
|
-

|
|
114
145
|
|
|
115
146
|
## Brain Depths
|
|
116
147
|
|
|
@@ -126,10 +157,10 @@ The user travels inward from everyday memory to deeper structure:
|
|
|
126
157
|
|
|
127
158
|
Walkthrough:
|
|
128
159
|
|
|
129
|
-

|
|
130
161
|
|
|
131
162
|
Screenshot index and capture notes:
|
|
132
|
-
[output/release/
|
|
163
|
+
[output/release/v9.2.0/SCREENSHOT_INDEX.md](output/release/v9.2.0/SCREENSHOT_INDEX.md)
|
|
133
164
|
|
|
134
165
|
## Install
|
|
135
166
|
|
|
@@ -164,7 +195,11 @@ pip install "ltcai[local]"
|
|
|
164
195
|
- **Product category**: local-first Digital Brain.
|
|
165
196
|
- **Core capability**: private AI memory layer for conversations, documents,
|
|
166
197
|
decisions, relationships, workflows, and project context.
|
|
167
|
-
- **UX metaphor**:
|
|
198
|
+
- **UX metaphor**: a visible source-to-memory-to-graph-to-automation journey
|
|
199
|
+
centered on the Living Brain, not a generic chat or operations dashboard.
|
|
200
|
+
- **Product navigation**: desktop task navigation and a mobile bottom bar expose
|
|
201
|
+
Chat, Sources, Memory, and Work; model, workspace, and admin controls live in
|
|
202
|
+
the secondary menu.
|
|
168
203
|
- **Desktop shell**: Tauri 2 starts a localhost sidecar.
|
|
169
204
|
- **Frontend**: React, TypeScript, Vite, TanStack Query, Zustand, Cytoscape.js,
|
|
170
205
|
React Flow, and generated OpenAPI types.
|
|
@@ -210,38 +245,43 @@ See [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for developer workflow details.
|
|
|
210
245
|
|
|
211
246
|
## Current Release
|
|
212
247
|
|
|
213
|
-
The current release is **9.
|
|
214
|
-
|
|
215
|
-
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
- The
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
-
|
|
230
|
-
- `
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
248
|
+
The current release is **9.2.0 — Model-Agnostic File Generation**:
|
|
249
|
+
|
|
250
|
+
- A new `latticeai.core.file_generation` pipeline treats every model reply as
|
|
251
|
+
untrusted content: extension-aware strict prompting, extraction of the real
|
|
252
|
+
payload from fences/`<think>` blocks/chat framing, per-type structural
|
|
253
|
+
validation (complete HTML documents, parseable JSON, CSS rule blocks), one
|
|
254
|
+
corrective retry that tells the model what was wrong, and a deterministic
|
|
255
|
+
repair fallback that guarantees a valid file.
|
|
256
|
+
- Type-only requests without an explicit filename ("html 파일 만들어줘",
|
|
257
|
+
"웹페이지 만들어줘") now resolve to an inferred target and use the
|
|
258
|
+
deterministic direct-write path instead of the model-driven agent loop.
|
|
259
|
+
- The agent executor tolerates small-model formatting slips: `<think>` blocks
|
|
260
|
+
and trailing commas are stripped from action JSON, and parse failures feed a
|
|
261
|
+
corrective format reminder back to the model instead of aborting the run.
|
|
262
|
+
- The executor prompt pins exact file-content rules for `write_file` so
|
|
263
|
+
agent-created files are complete and fence-free.
|
|
264
|
+
- File writes report whether content was generated cleanly, retried, or
|
|
265
|
+
auto-repaired in the response payload (`generation` metadata).
|
|
266
|
+
|
|
267
|
+
Expected artifacts for 9.2.0 release must use exact filenames:
|
|
268
|
+
|
|
269
|
+
- `dist/ltcai-9.2.0-py3-none-any.whl`
|
|
270
|
+
- `dist/ltcai-9.2.0.tar.gz`
|
|
271
|
+
- `ltcai-9.2.0.tgz`
|
|
272
|
+
- `dist/ltcai-9.2.0.vsix`
|
|
273
|
+
- `src-tauri/target/release/bundle/dmg/Lattice AI_9.2.0_aarch64.dmg`
|
|
234
274
|
|
|
235
275
|
Do not use wildcard artifact uploads. Package registry publishing remains owner-run.
|
|
236
276
|
|
|
237
277
|
See [docs/ROADMAP_RECOMMENDATIONS.md](docs/ROADMAP_RECOMMENDATIONS.md) for the
|
|
238
|
-
strategic roadmap slices applied through 9.
|
|
278
|
+
strategic roadmap slices applied through 9.2.0 and the follow-up tracks.
|
|
239
279
|
|
|
240
280
|
## Known Limitations
|
|
241
281
|
|
|
242
282
|
- External package registries are owner-published and can lag behind GitHub.
|
|
243
283
|
- PostgreSQL/pgvector is optional scale/migration tooling. SQLite remains the
|
|
244
|
-
live local Brain store in 9.
|
|
284
|
+
live local Brain store in 9.2.0.
|
|
245
285
|
- Docker, model downloads, cloud model calls, Telegram, Brain Network, and update
|
|
246
286
|
checks require explicit user action.
|
|
247
287
|
- Conversation does not fabricate answers when no model is loaded.
|
|
@@ -253,6 +293,8 @@ strategic roadmap slices applied through 9.0.0 and the follow-up tracks.
|
|
|
253
293
|
|
|
254
294
|
| Version | Theme |
|
|
255
295
|
| --- | --- |
|
|
296
|
+
| 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 |
|
|
297
|
+
| 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 |
|
|
256
298
|
| 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 |
|
|
257
299
|
| 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 |
|
|
258
300
|
| 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 |
|