ltcai 9.4.0 → 9.5.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 (40) hide show
  1. package/README.md +50 -41
  2. package/docs/CHANGELOG.md +25 -0
  3. package/docs/COMMUNITY_AND_PLUGINS.md +2 -2
  4. package/docs/DEVELOPMENT.md +8 -8
  5. package/docs/LEGACY_COMPATIBILITY.md +1 -1
  6. package/docs/ONBOARDING.md +2 -2
  7. package/docs/OPERATIONS.md +1 -1
  8. package/docs/TRUST_MODEL.md +1 -1
  9. package/docs/WHY_LATTICE.md +1 -1
  10. package/docs/kg-schema.md +1 -1
  11. package/docs/mcp-tools.md +1 -1
  12. package/lattice_brain/__init__.py +1 -1
  13. package/lattice_brain/runtime/multi_agent.py +1 -1
  14. package/latticeai/__init__.py +1 -1
  15. package/latticeai/api/command_center.py +51 -0
  16. package/latticeai/app_factory.py +19 -0
  17. package/latticeai/core/legacy_compatibility.py +1 -1
  18. package/latticeai/core/marketplace.py +1 -1
  19. package/latticeai/core/workspace_os.py +1 -1
  20. package/latticeai/services/architecture_readiness.py +1 -1
  21. package/latticeai/services/command_center.py +433 -0
  22. package/latticeai/services/product_readiness.py +1 -1
  23. package/package.json +1 -1
  24. package/scripts/check_current_release_docs.mjs +1 -1
  25. package/src-tauri/Cargo.lock +1 -1
  26. package/src-tauri/Cargo.toml +1 -1
  27. package/src-tauri/tauri.conf.json +1 -1
  28. package/static/app/asset-manifest.json +11 -11
  29. package/static/app/assets/{Act-t9oveJO7.js → Act-Cdfqx4wN.js} +1 -1
  30. package/static/app/assets/{Brain-DP-gpcEJ.js → Brain-w_tAuyg6.js} +1 -1
  31. package/static/app/assets/{Capture-DYknDKy8.js → Capture-iJwi9LmS.js} +1 -1
  32. package/static/app/assets/{Library-DLyc_g8c.js → Library-Do-jjhzi.js} +1 -1
  33. package/static/app/assets/{System-BZgJ7tGu.js → System-DFg_q3E6.js} +1 -1
  34. package/static/app/assets/{index-Cl4S_9Id.css → index-BN6HIWVC.css} +1 -1
  35. package/static/app/assets/index-aJuRi-Xo.js +17 -0
  36. package/static/app/assets/{primitives-DawfkPR4.js → primitives-ZTUlU7pR.js} +1 -1
  37. package/static/app/assets/{textarea-a4Ir3SZS.js → textarea-CMfhqPhE.js} +1 -1
  38. package/static/app/index.html +2 -2
  39. package/static/sw.js +1 -1
  40. package/static/app/assets/index-BeQ77vPs.js +0 -17
package/README.md CHANGED
@@ -1,9 +1,15 @@
1
1
  # Lattice AI
2
2
 
3
- **Lattice AI 9.4.0 is the local-first Digital Brain platform. Question-Driven Everyday Automation makes automating daily life effortless: the Brain mines your own recurring questions and connected knowledge folders, proposes concrete automations with your literal questions as evidence, and installs them in one click as consent-first drafts scheduled answers for questions you keep asking, digests for folders that keep growing.**
3
+ **Lattice AI 9.5.0 is the local-first Digital Brain platform. The Command Center puts everything one keystroke away: a Cmd+K palette that searches knowledge, past conversations, automations, and app pages in one query, and a daily briefing that condenses recent knowledge, automation state, pending reviews, Brain health, and suggested next steps into one glance with one-click quick actions.**
4
4
 
5
5
  **Lattice AI는 모델이 바뀌어도 내 지식과 맥락을 보존하는 로컬 우선 AI 브레인입니다.**
6
6
 
7
+ > The 9.5.0 release adds the Command Center: a deterministic, local
8
+ > `/api/command` surface serving a daily briefing (recent knowledge,
9
+ > conversation activity, automation state, pending reviews, health snapshot,
10
+ > top suggestions, state-derived quick actions) and a universal search across
11
+ > knowledge nodes, the user's own conversations, and installed automations —
12
+ > surfaced in the app as a Cmd+K command palette and a Today's Briefing panel.
7
13
  > The 9.4.0 release adds question-driven automation: a deterministic local
8
14
  > pattern miner clusters your recurring questions (the evidence shown is your
9
15
  > own words, no model call), an /api/automation surface turns patterns and
@@ -102,11 +108,11 @@ You need Lattice AI when:
102
108
  The screenshots below are the latest checked-in visual evidence captures. They
103
109
  keep the first-run Brain flow, memory graph, source capture, model library,
104
110
  system view, admin console, and review center visible as release gates while
105
- 9.4.0 makes everyday automation effortless: the Brain proposes automations
106
- from your own recurring questions and connected knowledge folders, and every
107
- accepted suggestion becomes a consent-first draft you review and enable. The
108
- captures below are the checked-in 9.4.0 visual release evidence for that
109
- product flow.
111
+ 9.5.0 puts the whole Brain one keystroke away: the Cmd+K Command Palette
112
+ searches knowledge, conversations, automations, and pages in one query, and
113
+ Today's Briefing condenses the Brain's state into one glance with one-click
114
+ next steps. The captures below are the checked-in 9.5.0 visual release
115
+ evidence for that product flow.
110
116
 
111
117
  ### 1. Wake Brain
112
118
 
@@ -118,21 +124,21 @@ confirm owner, check the computer, choose the Brain voice.
118
124
  Choose the owner of the Brain. The profile is not a SaaS account by default; it
119
125
  is the local identity for the knowledge you keep.
120
126
 
121
- ![Login](output/release/v9.4.0/screenshots/01-login.png)
127
+ ![Login](output/release/v9.5.0/screenshots/01-login.png)
122
128
 
123
129
  ### 3. Recommended Models
124
130
 
125
131
  Start with a short list: safest recommendation, faster model, stronger model.
126
132
  Advanced details stay available without overwhelming first-time users.
127
133
 
128
- ![Recommended Models](output/release/v9.4.0/screenshots/02-recommended-models.png)
134
+ ![Recommended Models](output/release/v9.5.0/screenshots/02-recommended-models.png)
129
135
 
130
136
  ### 4. Install And Load
131
137
 
132
138
  Download and load only after consent. Lattice explains model size, local
133
139
  execution, and network use before work starts.
134
140
 
135
- ![Install and Load](output/release/v9.4.0/screenshots/03-install-load-progress.png)
141
+ ![Install and Load](output/release/v9.5.0/screenshots/03-install-load-progress.png)
136
142
 
137
143
  ### 5. Brain Chat
138
144
 
@@ -144,14 +150,14 @@ and its visible life signal follow real listening, recall, synthesis, and action
144
150
  state. Detailed memory rings, provenance, conversation history, and
145
151
  model/runtime proof open as overlays only when requested.
146
152
 
147
- ![One-viewport Living Brain Home](output/release/v9.4.0/screenshots/04-brain-chat-home.png)
153
+ ![One-viewport Living Brain Home](output/release/v9.5.0/screenshots/04-brain-chat-home.png)
148
154
 
149
155
  ### 6. Review Center
150
156
 
151
157
  Automation results are staged for review before they become durable decisions.
152
158
  Snooze, unsnooze, run now, approve, and dismiss actions stay explicit.
153
159
 
154
- ![Review Center](output/release/v9.4.0/screenshots/12-review-center.png)
160
+ ![Review Center](output/release/v9.5.0/screenshots/12-review-center.png)
155
161
 
156
162
  ## Brain Depths
157
163
 
@@ -167,10 +173,10 @@ The user travels inward from everyday memory to deeper structure:
167
173
 
168
174
  Walkthrough:
169
175
 
170
- ![v9.4.0 Living Brain walkthrough](output/release/v9.4.0/gifs/v9.4.0-living-brain-walkthrough.gif)
176
+ ![v9.5.0 Living Brain walkthrough](output/release/v9.5.0/gifs/v9.5.0-living-brain-walkthrough.gif)
171
177
 
172
178
  Screenshot index and capture notes:
173
- [output/release/v9.4.0/SCREENSHOT_INDEX.md](output/release/v9.4.0/SCREENSHOT_INDEX.md)
179
+ [output/release/v9.5.0/SCREENSHOT_INDEX.md](output/release/v9.5.0/SCREENSHOT_INDEX.md)
174
180
 
175
181
  ## Install
176
182
 
@@ -255,43 +261,45 @@ See [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for developer workflow details.
255
261
 
256
262
  ## Current Release
257
263
 
258
- The current release is **9.4.0 — Question-Driven Everyday Automation**:
259
-
260
- - A new `latticeai.core.file_generation` pipeline treats every model reply as
261
- untrusted content: extension-aware strict prompting, extraction of the real
262
- payload from fences/`<think>` blocks/chat framing, per-type structural
263
- validation (complete HTML documents, parseable JSON, CSS rule blocks), one
264
- corrective retry that tells the model what was wrong, and a deterministic
265
- repair fallback that guarantees a valid file.
266
- - Type-only requests without an explicit filename ("html 파일 만들어줘",
267
- "웹페이지 만들어줘") now resolve to an inferred target and use the
268
- deterministic direct-write path instead of the model-driven agent loop.
269
- - The agent executor tolerates small-model formatting slips: `<think>` blocks
270
- and trailing commas are stripped from action JSON, and parse failures feed a
271
- corrective format reminder back to the model instead of aborting the run.
272
- - The executor prompt pins exact file-content rules for `write_file` so
273
- agent-created files are complete and fence-free.
274
- - File writes report whether content was generated cleanly, retried, or
275
- auto-repaired in the response payload (`generation` metadata).
276
-
277
- Expected artifacts for 9.4.0 release must use exact filenames:
278
-
279
- - `dist/ltcai-9.4.0-py3-none-any.whl`
280
- - `dist/ltcai-9.4.0.tar.gz`
281
- - `ltcai-9.4.0.tgz`
282
- - `dist/ltcai-9.4.0.vsix`
283
- - `src-tauri/target/release/bundle/dmg/Lattice AI_9.4.0_aarch64.dmg`
264
+ The current release is **9.5.0 — Command Center**:
265
+
266
+ - A new `CommandCenterService` (`/api/command/briefing`, `/api/command/search`)
267
+ aggregates every Brain surface read-only and deterministically: recent
268
+ knowledge from the scoped graph, conversation activity, automation
269
+ enable/draft counts, pending review items, a Brain-health snapshot, and the
270
+ top automation suggestions each section degrades independently when a
271
+ backend is unavailable.
272
+ - State-derived quick actions with stable ids ("N items waiting for review",
273
+ "enable your draft automations", "connect a knowledge folder") give the UI
274
+ one-click jumps that always reflect the actual product state.
275
+ - Universal search groups results across knowledge nodes (scoped keyword
276
+ search), the user's own conversations (deduped per conversation, newest
277
+ first), and installed automations all scoped to the requesting user and
278
+ workspace.
279
+ - The frontend gains a Cmd+K Command Palette (grouped results, keyboard
280
+ navigation, page jumps, fully ko/en localized) and a Today's Briefing panel
281
+ on the Brain home with stat chips, recent knowledge, and quick actions.
282
+ - Everything is read-only, local, and model-free: no model calls, no writes,
283
+ no external actions.
284
+
285
+ Expected artifacts for 9.5.0 release must use exact filenames:
286
+
287
+ - `dist/ltcai-9.5.0-py3-none-any.whl`
288
+ - `dist/ltcai-9.5.0.tar.gz`
289
+ - `ltcai-9.5.0.tgz`
290
+ - `dist/ltcai-9.5.0.vsix`
291
+ - `src-tauri/target/release/bundle/dmg/Lattice AI_9.5.0_aarch64.dmg`
284
292
 
285
293
  Do not use wildcard artifact uploads. Package registry publishing remains owner-run.
286
294
 
287
295
  See [docs/ROADMAP_RECOMMENDATIONS.md](docs/ROADMAP_RECOMMENDATIONS.md) for the
288
- strategic roadmap slices applied through 9.4.0 and the follow-up tracks.
296
+ strategic roadmap slices applied through 9.5.0 and the follow-up tracks.
289
297
 
290
298
  ## Known Limitations
291
299
 
292
300
  - External package registries are owner-published and can lag behind GitHub.
293
301
  - PostgreSQL/pgvector is optional scale/migration tooling. SQLite remains the
294
- live local Brain store in 9.4.0.
302
+ live local Brain store in 9.5.0.
295
303
  - Docker, model downloads, cloud model calls, Telegram, Brain Network, and update
296
304
  checks require explicit user action.
297
305
  - Conversation does not fabricate answers when no model is loaded.
@@ -303,6 +311,7 @@ strategic roadmap slices applied through 9.4.0 and the follow-up tracks.
303
311
 
304
312
  | Version | Theme |
305
313
  | --- | --- |
314
+ | 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 |
306
315
  | 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 |
307
316
  | 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 |
308
317
  | 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 |
package/docs/CHANGELOG.md CHANGED
@@ -4,6 +4,31 @@ 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.5.0] - 2026-07-20
8
+
9
+ ### Added
10
+ - Added `latticeai/services/command_center.py` and the `/api/command/*`
11
+ router: a daily briefing aggregating recent knowledge, conversation
12
+ activity, automation state, pending reviews, a Brain-health snapshot, top
13
+ automation suggestions, and state-derived quick actions with stable ids;
14
+ and a universal search grouping knowledge nodes, the user's own
15
+ conversations (deduped per conversation), and installed automations.
16
+ - Added the Cmd+K Command Palette (grouped results, keyboard navigation,
17
+ debounced universal search, static page jumps) and the collapsible
18
+ "오늘의 브리핑 / Today's briefing" panel on the Brain home, fully ko/en
19
+ localized.
20
+ - Added `tests/unit/test_command_center.py` (11 tests) and
21
+ `frontend/src/features/command/CommandPalette.test.tsx` (3 tests).
22
+
23
+ ### Changed
24
+ - Cmd+K now opens the Command Palette instead of only focusing the chat
25
+ composer; the palette includes a direct jump to the Brain conversation.
26
+
27
+ ### Security
28
+ - Both Command Center endpoints are read-only and scoped to the requesting
29
+ user and workspace; scoped reads exclude legacy-global rows, and every
30
+ briefing section degrades independently without leaking errors.
31
+
7
32
  ## [9.4.0] - 2026-07-20
8
33
 
9
34
  ### Added
@@ -1,13 +1,13 @@
1
1
  # Community And Plugins
2
2
 
3
- Current release: **9.4.0 — Question-Driven Everyday Automation**.
3
+ Current release: **9.5.0 — Command Center**.
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
7
7
  reliability, 8.7.0 runtime-state hygiene, 8.8.0 Brain Core extraction
8
8
  readiness, 8.9.0 scoped Tool API hardening, 9.0.0 cleanup closure, 9.1.0
9
9
  fail-closed review completion, 9.2.0 model-agnostic file generation, 9.3.0
10
- proactive Brain intelligence, and 9.4.0 question-driven everyday automation)
10
+ proactive Brain intelligence, 9.4.0 question-driven everyday automation, and 9.5.0 Command Center)
11
11
  to a product ecosystem. The
12
12
  immediate goal is small and practical: make it clear how
13
13
  contributors can extend the Brain without weakening local-first trust,
@@ -1,10 +1,10 @@
1
1
  # Lattice AI Development
2
2
 
3
- Current release: **9.4.0 — Question-Driven Everyday Automation**.
3
+ Current release: **9.5.0 — Command Center**.
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
7
- history is intentionally limited to 8.0.0-9.4.0 in `docs/CHANGELOG.md` and
7
+ history is intentionally limited to 8.0.0-9.5.0 in `docs/CHANGELOG.md` and
8
8
  `RELEASE.md`.
9
9
 
10
10
  ## Product Contract
@@ -153,10 +153,10 @@ For user-facing, API, runtime, release, or packaging changes, check:
153
153
  Release/publish examples must use exact target-version filenames. Do not
154
154
  document wildcard artifact upload commands.
155
155
 
156
- For 9.4.0 release work, exact artifacts are:
156
+ For 9.5.0 release work, exact artifacts are:
157
157
 
158
- - `dist/ltcai-9.4.0-py3-none-any.whl`
159
- - `dist/ltcai-9.4.0.tar.gz`
160
- - `ltcai-9.4.0.tgz`
161
- - `dist/ltcai-9.4.0.vsix`
162
- - `src-tauri/target/release/bundle/dmg/Lattice AI_9.4.0_aarch64.dmg`
158
+ - `dist/ltcai-9.5.0-py3-none-any.whl`
159
+ - `dist/ltcai-9.5.0.tar.gz`
160
+ - `ltcai-9.5.0.tgz`
161
+ - `dist/ltcai-9.5.0.vsix`
162
+ - `src-tauri/target/release/bundle/dmg/Lattice AI_9.5.0_aarch64.dmg`
@@ -1,6 +1,6 @@
1
1
  # Legacy Compatibility Map
2
2
 
3
- Current target: **9.4.0 — Question-Driven Everyday Automation**.
3
+ Current target: **9.5.0 — Command Center**.
4
4
 
5
5
  Lattice AI is moving toward a smaller, modular architecture centered on
6
6
  `lattice_brain`, `latticeai.services`, `latticeai.api`, and `latticeai.runtime`.
@@ -1,6 +1,6 @@
1
1
  # Lattice AI Onboarding
2
2
 
3
- Current release: **9.4.0 — Question-Driven Everyday Automation**.
3
+ Current release: **9.5.0 — Command Center**.
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
@@ -40,7 +40,7 @@ read the docs first.
40
40
 
41
41
  ## Release Gate
42
42
 
43
- 9.4.0 treats onboarding as a release gate, not marketing copy. The current
43
+ 9.5.0 treats onboarding as a release gate, not marketing copy. The current
44
44
  machine-checkable product readiness report requires this five-minute contract,
45
45
  the Brain Home surface, setup helpers, graph ingestion tests, and exact release
46
46
  artifact documentation before the release can be called complete.
@@ -1,4 +1,4 @@
1
- # Lattice AI — Operations Guide (v9.4.0)
1
+ # Lattice AI — Operations Guide (v9.5.0)
2
2
 
3
3
  ## 1. 데이터 파일 위치
4
4
 
@@ -1,6 +1,6 @@
1
1
  # Lattice AI Trust Model
2
2
 
3
- Current release: **9.4.0 — Question-Driven Everyday Automation**.
3
+ Current release: **9.5.0 — Command Center**.
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.4.0 — Question-Driven Everyday Automation**.
3
+ Current release: **9.5.0 — Command Center**.
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.4.0 — Question-Driven Everyday Automation**.
3
+ Current release: **9.5.0 — Command Center**.
4
4
 
5
5
  명세 출처: `lattice_ai_full_spec.pptx` 슬라이드 20·21·22
6
6
  구현: `kg_schema.py`
package/docs/mcp-tools.md CHANGED
@@ -1,4 +1,4 @@
1
- # MCP 도구 카탈로그 (v9.4.0)
1
+ # MCP 도구 카탈로그 (v9.5.0)
2
2
 
3
3
  Lattice AI는 MCP(Model Context Protocol) 서버로 동작하여 Claude Desktop, Cursor 등에서 직접 도구를 사용할 수 있습니다.
4
4
 
@@ -26,7 +26,7 @@ from .storage import (
26
26
  storage_from_env,
27
27
  )
28
28
 
29
- __version__ = "9.4.0"
29
+ __version__ = "9.5.0"
30
30
 
31
31
  __all__ = [
32
32
  "AgentRuntime",
@@ -21,7 +21,7 @@ from .contracts import multi_agent_contract
21
21
  from ..utils import now_iso as _now
22
22
 
23
23
 
24
- MULTI_AGENT_VERSION = "9.4.0"
24
+ MULTI_AGENT_VERSION = "9.5.0"
25
25
 
26
26
  AGENT_ROLES = ("researcher", "planner", "executor", "reviewer", "release")
27
27
  CORE_PIPELINE = ("planner", "executor", "reviewer")
@@ -1,3 +1,3 @@
1
1
  """Lattice AI - modular server package."""
2
2
 
3
- __version__ = "9.4.0"
3
+ __version__ = "9.5.0"
@@ -0,0 +1,51 @@
1
+ """Command Center API router (v9.5.0).
2
+
3
+ Read-only surface over :class:`~latticeai.services.command_center.CommandCenterService`:
4
+
5
+ * ``GET /api/command/briefing`` — the daily briefing: recent knowledge,
6
+ conversation activity, automation state, pending reviews, health snapshot,
7
+ top suggestions, and state-derived quick actions.
8
+ * ``GET /api/command/search?q=…`` — universal search across knowledge nodes,
9
+ the user's conversations, and installed automations. Powers Cmd+K.
10
+
11
+ Both endpoints are scoped to the requesting user and workspace via the same
12
+ require_user/gate_read contract as the rest of the platform.
13
+ """
14
+
15
+ from __future__ import annotations
16
+
17
+ from typing import Callable, Optional
18
+
19
+ from fastapi import APIRouter, Query, Request
20
+
21
+ from latticeai.services.command_center import CommandCenterService
22
+
23
+
24
+ def create_command_center_router(
25
+ *,
26
+ service: CommandCenterService,
27
+ require_user: Callable[[Request], str],
28
+ gate_read: Callable[[Request], Optional[str]],
29
+ ) -> APIRouter:
30
+ router = APIRouter()
31
+
32
+ @router.get("/api/command/briefing")
33
+ async def command_briefing(request: Request):
34
+ user = require_user(request)
35
+ scope = gate_read(request)
36
+ return service.briefing(user_email=user, workspace_id=scope)
37
+
38
+ @router.get("/api/command/search")
39
+ async def command_search(
40
+ request: Request,
41
+ q: str = Query("", max_length=300),
42
+ limit: int = Query(8, ge=1, le=20),
43
+ ):
44
+ user = require_user(request)
45
+ scope = gate_read(request)
46
+ return service.search(q, user_email=user, workspace_id=scope, limit=limit)
47
+
48
+ return router
49
+
50
+
51
+ __all__ = ["create_command_center_router"]
@@ -167,6 +167,8 @@ def _build(config: "Optional[Config]" = None) -> Dict[str, Any]:
167
167
  from latticeai.api.agent_registry import create_agent_registry_router
168
168
  from latticeai.api.automation_intelligence import create_automation_intelligence_router
169
169
  from latticeai.api.brain_intelligence import create_brain_intelligence_router
170
+ from latticeai.api.command_center import create_command_center_router
171
+ from latticeai.services.command_center import CommandCenterService
170
172
  from latticeai.api.memory import create_memory_router
171
173
  from latticeai.api.browser import create_browser_router
172
174
  from latticeai.api.portability import create_portability_router
@@ -1032,6 +1034,23 @@ def _build(config: "Optional[Config]" = None) -> Dict[str, Any]:
1032
1034
  workspace_graph=_workspace_graph,
1033
1035
  )
1034
1036
  )
1037
+ COMMAND_CENTER = CommandCenterService(
1038
+ conversation_store=CONVERSATIONS,
1039
+ knowledge_graph=KNOWLEDGE_GRAPH,
1040
+ store=WORKSPACE_OS,
1041
+ search_service=SEARCH_SERVICE,
1042
+ brain_intelligence=BRAIN_INTELLIGENCE,
1043
+ automation_intelligence=AUTOMATION_INTELLIGENCE,
1044
+ review_queue=REVIEW_QUEUE,
1045
+ enable_graph=ENABLE_GRAPH,
1046
+ )
1047
+ app.include_router(
1048
+ create_command_center_router(
1049
+ service=COMMAND_CENTER,
1050
+ require_user=require_user,
1051
+ gate_read=PLATFORM.gate_read,
1052
+ )
1053
+ )
1035
1054
 
1036
1055
 
1037
1056
  # ── Health & Info ──────────────────────────────────────────────────────────────
@@ -14,7 +14,7 @@ from pathlib import Path
14
14
  from typing import Any, Dict, List
15
15
 
16
16
 
17
- LEGACY_COMPATIBILITY_VERSION = "9.4.0"
17
+ LEGACY_COMPATIBILITY_VERSION = "9.5.0"
18
18
 
19
19
 
20
20
  @dataclass(frozen=True)
@@ -11,7 +11,7 @@ from copy import deepcopy
11
11
  from typing import Any, Dict, List, Optional
12
12
 
13
13
 
14
- MARKETPLACE_VERSION = "9.4.0"
14
+ MARKETPLACE_VERSION = "9.5.0"
15
15
  TEMPLATE_KINDS = ("plugin", "workflow", "agent", "ingestion_bridge")
16
16
 
17
17
 
@@ -49,7 +49,7 @@ __all__ = [
49
49
  "remove_skill_directory",
50
50
  ]
51
51
 
52
- WORKSPACE_OS_VERSION = "9.4.0"
52
+ WORKSPACE_OS_VERSION = "9.5.0"
53
53
 
54
54
  # Workspace types separate single-user Personal workspaces from shared
55
55
  # Organization workspaces. Both keep the same local-first JSON store; the type
@@ -17,7 +17,7 @@ from typing import Any, Dict, List
17
17
  from latticeai.core.legacy_compatibility import legacy_shim_report
18
18
 
19
19
 
20
- ARCHITECTURE_VERSION_TARGET = "9.4.0"
20
+ ARCHITECTURE_VERSION_TARGET = "9.5.0"
21
21
 
22
22
  PREFERRED_REFACTORING_ORDER = [
23
23
  "agent-runtime",