ltcai 8.1.0 → 8.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.
Files changed (110) hide show
  1. package/README.md +20 -41
  2. package/docs/CHANGELOG.md +38 -874
  3. package/docs/DEVELOPMENT.md +26 -3
  4. package/docs/LEGACY_COMPATIBILITY.md +3 -1
  5. package/docs/TRUST_MODEL.md +26 -26
  6. package/docs/WHY_LATTICE.md +28 -25
  7. package/docs/kg-schema.md +6 -4
  8. package/lattice_brain/__init__.py +1 -1
  9. package/lattice_brain/graph/schema.py +6 -0
  10. package/lattice_brain/runtime/multi_agent.py +1 -1
  11. package/latticeai/__init__.py +1 -1
  12. package/latticeai/api/computer_use.py +2 -0
  13. package/latticeai/api/memory.py +13 -0
  14. package/latticeai/app_factory.py +30 -28
  15. package/latticeai/brain/__init__.py +1 -1
  16. package/latticeai/core/config.py +10 -0
  17. package/latticeai/core/marketplace.py +1 -1
  18. package/latticeai/core/tool_registry.py +10 -0
  19. package/latticeai/core/workspace_graph_trace.py +132 -0
  20. package/latticeai/core/workspace_memory.py +75 -0
  21. package/latticeai/core/workspace_os.py +135 -1283
  22. package/latticeai/core/workspace_os_utils.py +132 -0
  23. package/latticeai/core/workspace_permissions.py +99 -0
  24. package/latticeai/core/workspace_plugins.py +97 -0
  25. package/latticeai/core/workspace_runs.py +612 -0
  26. package/latticeai/core/workspace_skills.py +114 -0
  27. package/latticeai/core/workspace_snapshots.py +195 -0
  28. package/latticeai/core/workspace_timeline.py +107 -0
  29. package/latticeai/runtime/audit_runtime.py +64 -0
  30. package/latticeai/runtime/config_runtime.py +4 -0
  31. package/latticeai/runtime/sso_runtime.py +52 -0
  32. package/latticeai/services/architecture_readiness.py +3 -3
  33. package/latticeai/services/memory_service.py +215 -7
  34. package/latticeai/services/model_capability_registry.py +68 -0
  35. package/latticeai/services/model_engines.py +603 -0
  36. package/latticeai/services/model_loading.py +482 -0
  37. package/latticeai/services/model_recommendation.py +5 -0
  38. package/latticeai/services/model_runtime.py +141 -866
  39. package/latticeai/services/product_readiness.py +19 -18
  40. package/package.json +1 -1
  41. package/src-tauri/Cargo.lock +1 -1
  42. package/src-tauri/Cargo.toml +1 -1
  43. package/src-tauri/tauri.conf.json +1 -1
  44. package/static/app/asset-manifest.json +11 -11
  45. package/static/app/assets/{Act-BOO66G-c.js → Act-D9jIknFd.js} +1 -1
  46. package/static/app/assets/{Brain-C6lEYiD7.js → Brain-CFOtWbPN.js} +1 -1
  47. package/static/app/assets/{Capture-TATXBRDw.js → Capture-Q4WYzwr5.js} +1 -1
  48. package/static/app/assets/{Library-DK4FIp8a.js → Library-C5Q2yWee.js} +1 -1
  49. package/static/app/assets/{System-Bgs6Ql7x.js → System-BLbjdr1_.js} +1 -1
  50. package/static/app/assets/index-BqammyNu.js +16 -0
  51. package/static/app/assets/index-ty1iGgZu.css +2 -0
  52. package/static/app/assets/{primitives-B70WOra0.js → primitives-Br8uSfZ4.js} +1 -1
  53. package/static/app/assets/{textarea-Czrd9gwM.js → textarea-BnhNs1_X.js} +1 -1
  54. package/static/app/index.html +2 -2
  55. package/static/sw.js +1 -1
  56. package/tools/__init__.py +2 -1
  57. package/tools/computer.py +21 -0
  58. package/docs/CARRYOVER_AUDIT_v3.6.0.md +0 -61
  59. package/docs/HANDOVER_v3.6.0.md +0 -46
  60. package/docs/RUNTIME_HOOK_COVERAGE_v3.5.0.md +0 -56
  61. package/docs/RUNTIME_HOOK_COVERAGE_v3.6.0.md +0 -49
  62. package/docs/V2_ARCHITECTURE.md +0 -561
  63. package/docs/V3_2_AUDIT.md +0 -82
  64. package/docs/V3_BACKEND_ARCHITECTURE.md +0 -138
  65. package/docs/V3_FRONTEND.md +0 -146
  66. package/docs/V4_1_FRONTEND_ARCHITECTURE_REVIEW.md +0 -65
  67. package/docs/V4_1_FRONTEND_MIGRATION_REPORT.md +0 -70
  68. package/docs/V4_1_VALIDATION_REPORT.md +0 -47
  69. package/docs/V4_2_BRAIN_CORE_ARCHITECTURE.md +0 -97
  70. package/docs/V4_2_STORAGE_MIGRATION_REPORT.md +0 -91
  71. package/docs/V4_2_VALIDATION_REPORT.md +0 -89
  72. package/docs/V4_3_2_DEADCODE_AUDIT_REPORT.md +0 -174
  73. package/docs/V4_3_2_DOCUMENTATION_CLEANUP_REPORT.md +0 -81
  74. package/docs/V4_3_2_GITHUB_VERCEL_CHECK_REPORT.md +0 -75
  75. package/docs/V4_3_2_GRAPH_UX_REPORT.md +0 -48
  76. package/docs/V4_3_2_INDEPENDENT_AUDIT_PACKAGE.md +0 -209
  77. package/docs/V4_3_2_PRODUCT_POLISH_REPORT.md +0 -57
  78. package/docs/V4_3_2_SELF_AUDIT_REPORT.md +0 -63
  79. package/docs/V4_3_2_VALIDATION_REPORT.md +0 -97
  80. package/docs/V4_3_3_VALIDATION_REPORT.md +0 -46
  81. package/docs/V4_3_PORTABILITY_ARCHITECTURE.md +0 -69
  82. package/docs/V4_3_PRIVACY_AUDIT.md +0 -60
  83. package/docs/V4_3_PRODUCT_HARDENING_REPORT.md +0 -53
  84. package/docs/V4_3_VALIDATION_REPORT.md +0 -58
  85. package/docs/V4_4_0_EXTRACTION_REPORT.md +0 -239
  86. package/docs/V4_5_0_GEMMA_RUNTIME_COMPATIBILITY_REPORT.md +0 -49
  87. package/docs/V4_5_0_GRAPH_UX_REPORT.md +0 -34
  88. package/docs/V4_5_0_MODEL_RUNTIME_UX_REPORT.md +0 -40
  89. package/docs/V4_5_0_ONBOARDING_REPORT.md +0 -31
  90. package/docs/V4_5_0_PRODUCT_EXPERIENCE_RECOVERY_REPORT.md +0 -49
  91. package/docs/V4_5_0_VALIDATION_REPORT.md +0 -60
  92. package/docs/V4_5_1_GRAPH_EXPERIENCE_REPORT.md +0 -33
  93. package/docs/V4_5_1_MODEL_EXPERIENCE_REPORT.md +0 -37
  94. package/docs/V4_5_1_NAVIGATION_REPORT.md +0 -37
  95. package/docs/V4_5_1_ONBOARDING_REPORT.md +0 -29
  96. package/docs/V4_5_1_PRODUCT_REIMAGINING_REPORT.md +0 -61
  97. package/docs/V4_5_1_RC_ARTIFACTS.md +0 -44
  98. package/docs/V4_5_1_UX_REPORT.md +0 -45
  99. package/docs/V4_5_1_VALIDATION_REPORT.md +0 -55
  100. package/docs/V4_5_1_VISUAL_DESIGN_REPORT.md +0 -30
  101. package/docs/V4_6_0_LIVING_BRAIN_EXPERIENCE_REPORT.md +0 -72
  102. package/docs/V4_6_1_RELEASE_REFRESH_REPORT.md +0 -42
  103. package/docs/V4_7_0_ADMIN_SEPARATION_REPORT.md +0 -42
  104. package/docs/V4_7_1_ADMIN_OPERATIONS_REPORT.md +0 -49
  105. package/docs/V4_7_2_INTUITIVE_BRAIN_UX_REPORT.md +0 -62
  106. package/docs/V4_BRAIN_ARCHITECTURE.md +0 -322
  107. package/docs/V4_DIGITAL_BRAIN_RECOVERY.md +0 -555
  108. package/docs/V4_IMPLEMENTATION_PLAN.md +0 -470
  109. package/static/app/assets/index-Bvv79nre.js +0 -16
  110. package/static/app/assets/index-Dslqglia.css +0 -2
@@ -1,239 +0,0 @@
1
- # v4.4.0 Physical Extraction Report — `lattice_brain` Brain Engine
2
-
3
- Date: 2026-06-13
4
- Scope: complete physical extraction of the Brain Core implementation into the
5
- standalone `lattice_brain` package. The release flow attaches only validated
6
- v4.4.0 artifacts to GitHub; no external package registry publishing is part of
7
- this release step.
8
-
9
- ## 1. Problem Before v4.4.0
10
-
11
- `lattice_brain` provided an import-path contract only. The graph, memory,
12
- context, conversation, and ingestion implementations physically lived under
13
- `latticeai/brain/` (and `latticeai/core/`, `latticeai/services/`) and were
14
- re-exported through `lattice_brain.*`. Importing `lattice_brain.store`
15
- actually executed `latticeai.brain.store`, so the Brain Core could not be
16
- used, tested, or distributed independently of the FastAPI product package.
17
-
18
- ## 2. Dependency Graph
19
-
20
- ### Before (v4.3.3)
21
-
22
- ```
23
- lattice_brain.store/schema/retrieval/... (1-line re-exports)
24
- │ imports
25
-
26
- latticeai.brain.* (physical implementation)
27
- │ imports
28
- ├─ latticeai.services.ingestion (memory → IngestionItem)
29
- │ └─ latticeai.core.hooks (dispatch_tool)
30
- ├─ latticeai.core.graph_curator (projection, lazy)
31
- └─ kg_schema (root shim → lattice_brain.schema → latticeai.brain.schema)
32
- latticeai.services.agent_runtime → latticeai.core.multi_agent
33
- latticeai.services.kg_portability → lattice_brain.archive/storage (already clean)
34
- latticeai.core.workflow_engine (stdlib only, hosted in latticeai)
35
- ```
36
-
37
- Net effect: `import lattice_brain.store` pulled in `latticeai`.
38
-
39
- ### After (v4.4.0)
40
-
41
- ```
42
- latticeai (FastAPI app, routers, services, product backend)
43
- │ imports (one direction only)
44
-
45
- lattice_brain (physical Brain Engine)
46
- ├─ core, archive, embeddings, storage/ (already physical in v4.2+)
47
- ├─ graph/ _kg_common, schema, store, write_master, retrieval, discovery,
48
- │ documents, ingest, projection, provenance, identity, network,
49
- │ curator
50
- ├─ memory, context, conversations
51
- ├─ ingestion (uses .runtime.hooks)
52
- ├─ runtime/ hooks, multi_agent, agent_runtime
53
- ├─ workflow
54
- └─ portability (uses .archive/.storage/.graph.identity)
55
- ```
56
-
57
- `lattice_brain` has zero `latticeai` imports — enforced by an import-hook test.
58
- External (third-party/optional) deps of the package: `cryptography`, `keyring`,
59
- `httpx`, `psycopg` (opt-in), `sqlite-vec` (opt-in), document parsers
60
- (`pdfplumber`, `python-docx`, `openpyxl`, `python-pptx`, `PIL`) — all already
61
- declared in `pyproject.toml`.
62
-
63
- ## 3. Files Moved (physical, via `git mv`, history preserved)
64
-
65
- Knowledge graph → `lattice_brain/graph/`:
66
-
67
- | From | To |
68
- | --- | --- |
69
- | `latticeai/brain/_kg_common.py` | `lattice_brain/graph/_kg_common.py` |
70
- | `latticeai/brain/schema.py` | `lattice_brain/graph/schema.py` |
71
- | `latticeai/brain/store.py` | `lattice_brain/graph/store.py` |
72
- | `latticeai/brain/write_master.py` | `lattice_brain/graph/write_master.py` |
73
- | `latticeai/brain/retrieval.py` | `lattice_brain/graph/retrieval.py` |
74
- | `latticeai/brain/discovery.py` | `lattice_brain/graph/discovery.py` |
75
- | `latticeai/brain/documents.py` | `lattice_brain/graph/documents.py` |
76
- | `latticeai/brain/ingest.py` | `lattice_brain/graph/ingest.py` |
77
- | `latticeai/brain/projection.py` | `lattice_brain/graph/projection.py` |
78
- | `latticeai/brain/provenance.py` | `lattice_brain/graph/provenance.py` |
79
- | `latticeai/brain/identity.py` | `lattice_brain/graph/identity.py` |
80
- | `latticeai/brain/network.py` | `lattice_brain/graph/network.py` |
81
- | `latticeai/core/graph_curator.py` | `lattice_brain/graph/curator.py` |
82
-
83
- Memory / context / conversation:
84
-
85
- | From | To |
86
- | --- | --- |
87
- | `latticeai/brain/memory.py` | `lattice_brain/memory.py` |
88
- | `latticeai/brain/context.py` | `lattice_brain/context.py` |
89
- | `latticeai/brain/conversations.py` | `lattice_brain/conversations.py` |
90
-
91
- Ingestion / runtime / workflow / portability:
92
-
93
- | From | To |
94
- | --- | --- |
95
- | `latticeai/services/ingestion.py` | `lattice_brain/ingestion.py` |
96
- | `latticeai/core/hooks.py` | `lattice_brain/runtime/hooks.py` |
97
- | `latticeai/core/multi_agent.py` | `lattice_brain/runtime/multi_agent.py` |
98
- | `latticeai/services/agent_runtime.py` | `lattice_brain/runtime/agent_runtime.py` |
99
- | `latticeai/core/workflow_engine.py` | `lattice_brain/workflow.py` |
100
- | `latticeai/services/kg_portability.py` | `lattice_brain/portability.py` |
101
-
102
- 19 files moved with history; 2 new subpackage `__init__.py` files
103
- (`lattice_brain/graph/`, `lattice_brain/runtime/`).
104
-
105
- Import edges rewritten inside moved code (the only source changes to the
106
- implementations):
107
-
108
- - `graph/_kg_common.py`: `latticeai.brain.schema` → `.schema`;
109
- `lattice_brain.embeddings` → `..embeddings`
110
- - `graph/projection.py`: lazy `latticeai.core.graph_curator` → `.curator`
111
- - `graph/provenance.py`: lazy `kg_schema` → `.schema`
112
- - `graph/network.py`: `lattice_brain.identity` → `.identity`
113
- - `graph/store.py`: lazy `lattice_brain.storage` → `..storage`
114
- - `memory.py`: `latticeai.services.ingestion` → `.ingestion`
115
- - `ingestion.py`: `latticeai.core.hooks` → `.runtime.hooks`
116
- - `runtime/agent_runtime.py`: `latticeai.core.multi_agent` → `.multi_agent`
117
- - `portability.py`: absolute `lattice_brain.*` → relative; lazy identity →
118
- `.graph.identity`
119
- - `runtime/hooks.py`: three `binding` metadata strings updated to the new
120
- physical paths
121
-
122
- ## 4. Re-Export Modules Deleted / Replaced
123
-
124
- Deleted (the old `lattice_brain → latticeai.brain` re-exports — the "fake
125
- extraction" layer):
126
- `lattice_brain/{_kg_common,schema,store,write_master,retrieval,discovery,documents,ingest,projection,provenance,network,identity}.py`
127
-
128
- Each path was recreated as an **internal alias shim** (`sys.modules[__name__] =
129
- lattice_brain.graph.<name>`), so old flat imports keep working with module
130
- identity preserved (the shim and the physical module are the same object —
131
- singletons, `isinstance`, and monkeypatching are unaffected). These alias the
132
- package to itself; nothing re-exports `latticeai` anymore.
133
-
134
- ## 5. Compatibility Shims Kept (latticeai side)
135
-
136
- Deprecation shims (emit `DeprecationWarning`, alias the physical module):
137
-
138
- - `latticeai/brain/__init__.py` (re-exports the public surface from
139
- `lattice_brain`)
140
- - `latticeai/brain/{store,schema,retrieval,discovery,documents,ingest,projection,provenance,write_master,network,identity,_kg_common,memory,context,conversations}.py`
141
-
142
- Silent alias shims (still-supported old paths):
143
-
144
- - `latticeai/core/hooks.py` → `lattice_brain.runtime.hooks`
145
- - `latticeai/core/multi_agent.py` → `lattice_brain.runtime.multi_agent`
146
- - `latticeai/core/workflow_engine.py` → `lattice_brain.workflow`
147
- - `latticeai/core/graph_curator.py` → `lattice_brain.graph.curator`
148
- - `latticeai/services/ingestion.py` → `lattice_brain.ingestion`
149
- - `latticeai/services/agent_runtime.py` → `lattice_brain.runtime.agent_runtime`
150
- - `latticeai/services/kg_portability.py` → `lattice_brain.portability`
151
-
152
- Root-level shims (`kg_schema.py`, `knowledge_graph.py`, …) continue to work
153
- unchanged through the flat `lattice_brain.*` paths.
154
-
155
- ## 6. Consumers Updated to Import `lattice_brain` Directly
156
-
157
- `latticeai/app_factory.py`, `latticeai/core/{agent,agent_registry,builtin_hooks}.py`,
158
- `latticeai/api/{hooks,tools,computer_use,agents,browser,workflow_designer,chat,mcp}.py`,
159
- `latticeai/services/{platform_runtime,run_executor,upload_service}.py`,
160
- `p_reinforce.py`, `scripts/bump_version.py`, `scripts/wheel_smoke.py`, and all
161
- test modules now use the physical `lattice_brain` paths. Zero non-shim
162
- references to the old module locations remain.
163
-
164
- ## 7. New Tests
165
-
166
- `tests/unit/test_lattice_brain_isolation.py`:
167
-
168
- 1. **`test_lattice_brain_never_imports_latticeai`** — subprocess installs a
169
- `sys.meta_path` finder that raises on any `latticeai` import, imports every
170
- `lattice_brain` module via `pkgutil.walk_packages`, resolves every lazy
171
- facade export, and asserts `latticeai` never entered `sys.modules`. This
172
- test fails if `lattice_brain` ever imports `latticeai`.
173
- 2. **`test_lattice_brain_usable_in_isolation`** — with the same import block
174
- active and FastAPI never started: `BrainCore` construction, ingestion
175
- pipeline → graph write, graph search, conversation store append/count,
176
- context assembly, workflow engine run, agent runtime/hooks availability,
177
- and an encrypted `.latticebrain` archive create → inspect → verify
178
- round-trip.
179
-
180
- ## 8. Packaging / Version Changes
181
-
182
- - `pyproject.toml`: packages now include `lattice_brain.graph` and
183
- `lattice_brain.runtime`; version `4.4.0`.
184
- - `scripts/wheel_smoke.py`: import matrix extended with the new subpackages
185
- and modules.
186
- - `scripts/bump_version.py`: `MULTI_AGENT_VERSION` target re-pointed to
187
- `lattice_brain/runtime/multi_agent.py`.
188
- - All 13 synchronized version copies bumped to `4.4.0` via
189
- `scripts/bump_version.py` (Python, npm, lockfiles, VSIX, Tauri, asset
190
- manifest, runtime constants).
191
- - Docs updated: `ARCHITECTURE.md` (packaging note now describes the physical
192
- layout and the isolation guarantee), `README.md` (Brain Core claim, history,
193
- artifact names), `FEATURE_STATUS.md`, `SECURITY.md` (supported versions),
194
- `RELEASE_NOTES.md`, `RELEASE_NOTES_v4.4.0.md`, `docs/CHANGELOG.md`,
195
- `CHANGELOG.md` pointer.
196
-
197
- ## 9. User Data and Behavior
198
-
199
- No storage schema, migration, archive format, or API change. The SQLite
200
- default engine, Postgres opt-in path, `.latticebrain` archive format, and
201
- backup/restore flows are byte-identical code, relocated. Old pickles are not
202
- used; module identity through shims keeps any dynamic lookups working.
203
-
204
- ## 10. Validation Results
205
-
206
- Environment note: final release validation ran locally on macOS with Python
207
- 3.12.13 (`LTCAI_PYTHON=/tmp/ltcai-v440-py312/bin/python`), Node 26.0.0,
208
- npm 11.12.1, Rust 1.96.0, Cargo 1.96.0, and Tauri CLI 2.0.0.
209
-
210
- | Check | Result |
211
- | --- | --- |
212
- | Python compile (`compileall` over `lattice_brain`, `latticeai`, `tests`, `tools`, `scripts`, root modules) | PASS |
213
- | `ruff check .` | PASS (no findings) |
214
- | Unit tests (`pytest tests/unit`) | **604 passed** (includes the 2 new isolation tests) |
215
- | Integration tests (`pytest tests/integration` against live uvicorn on localhost) | 9 passed, 1 skipped (live-Postgres test, opt-in by design) |
216
- | `lattice_brain` isolation tests | PASS (both) |
217
- | No `lattice_brain → latticeai` import test | PASS |
218
- | Graph/search/ingestion tests (`test_kg_*`, `test_ingestion_pipeline`, `test_browser_ingestion`, …) | PASS (within unit suite) |
219
- | Backup/restore + `.latticebrain` archive tests (`test_kg_portability`, archive round-trip in isolation test) | PASS |
220
- | Frontend lint (`npm run lint`) | PASS |
221
- | Frontend typecheck (`tsc --noEmit` + VS Code extension `tsc`) | PASS |
222
- | Playwright visual tests (`npx playwright test`) | **12 passed** |
223
- | Tauri check (`cargo check`) | PASS (existing transitive `block v0.1.6` future-incompat warning) |
224
- | Tauri DMG build (`npm run release:artifacts`) | PASS (`Lattice AI_4.4.0_aarch64.dmg`) |
225
- | Release artifact validation (`scripts/validate_release_artifacts.py 4.4.0 --require-vsix --require-tgz --require-dmg`) | PASS (warns about historical versions in `dist/`, as designed) |
226
- | Wheel smoke | PASS (29 wheel modules import from the wheel; `/health` returns `4.4.0`) |
227
- | `npm pack --dry-run` | PASS (315 files) |
228
-
229
- ## 11. v4.4.0 Artifacts Built
230
-
231
- - `dist/ltcai-4.4.0-py3-none-any.whl` (contains `lattice_brain/graph/*`,
232
- `lattice_brain/runtime/*`; verified by wheel content check + smoke)
233
- - `dist/ltcai-4.4.0.tar.gz`
234
- - `ltcai-4.4.0.tgz` (npm pack)
235
- - `dist/ltcai-4.4.0.vsix` (built via `scripts/build_vsix.mjs`)
236
- - `src-tauri/target/release/bundle/dmg/Lattice AI_4.4.0_aarch64.dmg`
237
-
238
- Per instructions: GitHub Release attachment uses only these exact validated
239
- v4.4.0 artifacts. External package registries are not published.
@@ -1,49 +0,0 @@
1
- # v4.5.0 Gemma Runtime Compatibility Report
2
-
3
- Date: 2026-06-13
4
-
5
- ## Regression
6
-
7
- Gemma 4 12B Instruct and Gemma 4 26B A4B were both presented as local Gemma 4
8
- models, but they do not enter the same loader path. The first real divergence is
9
- the local `config.json`: 12B declares `model_type: gemma4_unified`, while 26B
10
- A4B declares `model_type: gemma4`. Installed MLX-VLM 0.5.0 can load the 26B
11
- standard `gemma4` path, but it lacks `mlx_vlm.models.gemma4_unified`, and
12
- MLX-LM does not provide a `gemma4_unified` loader either.
13
-
14
- ## Fix
15
-
16
- - `latticeai.core.model_compat` reads the local model metadata before load and
17
- reports `runtime_update_needed` for 12B `gemma4_unified` when
18
- `mlx_vlm.models.gemma4_unified` is absent.
19
- - `latticeai.models.router` keeps the v3 MLX-VLM path first and only retries
20
- MLX-LM for standard Gemma 4 metadata. It does not route `gemma4_unified`
21
- through the incompatible MLX-LM fallback.
22
- - `/models` preserves pulled/ready state for no-alias local MLX models, so 26B
23
- A4B stays ready while 12B shows the honest runtime-update state.
24
- - Generic loader failures are converted into friendly recovery payloads without
25
- hiding the root cause.
26
- - Recommendation classification marks the 12B MLX snapshot not recommended until
27
- the installed runtime can load it, while the 26B A4B path remains recommended.
28
-
29
- ## User Guidance
30
-
31
- The UI recommends:
32
-
33
- - update MLX-VLM to a version with `mlx_vlm.models.gemma4_unified`
34
- (`mlx-vlm>=0.6.3`) before loading the 12B MLX snapshot,
35
- - use Gemma 4 26B A4B locally while the 12B runtime update is pending,
36
- - use Gemma 4 12B GGUF through Ollama, LM Studio, or llama.cpp as a local-server
37
- alternative.
38
-
39
- ## Tests
40
-
41
- - `tests/unit/test_model_compat.py`
42
- - `tests/unit/test_model_recommendation.py`
43
- - `tests/unit/test_mlx_router_gemma4_fallback.py`
44
- - `tests/unit/test_models_api_runtime_routing.py`
45
- - `tests/visual/v3.spec.js`
46
-
47
- ## Evidence
48
-
49
- Screenshot: `output/audits/v4.5.0-rc/screenshots/03-gemma-runtime-recovery.png`
@@ -1,34 +0,0 @@
1
- # v4.5.0 Graph UX Report
2
-
3
- Date: 2026-06-13
4
-
5
- ## Goal
6
-
7
- Improve discoverability, readability, focus, searching, and filtering without
8
- redesigning the graph architecture.
9
-
10
- ## Changes
11
-
12
- - Graph copy now describes ideas, relationships, sources, and saved items
13
- instead of backend endpoints.
14
- - Basic mode hides raw node IDs in the focus panel and shows connections/source
15
- instead.
16
- - Search placeholder is product-oriented in Basic mode.
17
- - Brain search copy explains unified memory/graph/document search without
18
- exposing endpoint mechanics.
19
- - Advanced/Admin retain structured inspection where useful.
20
-
21
- ## Existing Capabilities Preserved
22
-
23
- - Cytoscape graph rendering
24
- - semantic groups
25
- - search
26
- - label modes
27
- - importance filter
28
- - focus neighborhoods
29
- - group collapse/expand
30
- - backend hybrid search
31
-
32
- ## Evidence
33
-
34
- Screenshot: `output/audits/v4.5.0-rc/screenshots/04-graph-basic-focus.png`
@@ -1,40 +0,0 @@
1
- # v4.5.0 Model Runtime UX Report
2
-
3
- Date: 2026-06-13
4
-
5
- ## Restored Flow
6
-
7
- Library Models now presents the intended model flow:
8
-
9
- 1. Environment Analysis
10
- 2. Recommended Models
11
- 3. Install
12
- 4. Download Progress
13
- 5. Validate
14
- 6. Load
15
- 7. Ready
16
-
17
- ## Implementation
18
-
19
- - Frontend uses the existing `/engines/prepare-model/stream` API for progress.
20
- - The consent checkbox is required before a setup action may install a runtime
21
- or download model files.
22
- - Current model, top pick, computer readiness, and compatibility validation are
23
- visible in one workflow.
24
- - Advanced/Admin modes show load IDs and engine details; Basic mode shows
25
- product-level status and recovery.
26
-
27
- ## Failure UX
28
-
29
- Runtime failures show:
30
-
31
- - a clear actionable state such as runtime update, repair, download, fallback,
32
- or unsupported format,
33
- - friendly explanation,
34
- - recovery guidance,
35
- - alternatives,
36
- - no raw Python module exception in Basic mode.
37
-
38
- ## Evidence
39
-
40
- Screenshot: `output/audits/v4.5.0-rc/screenshots/02-model-setup-flow.png`
@@ -1,31 +0,0 @@
1
- # v4.5.0 Onboarding Report
2
-
3
- Date: 2026-06-13
4
-
5
- ## Restored Surface
6
-
7
- The desktop shell now shows a first-run setup guide unless the user dismisses it
8
- locally. It is also discoverable from the command palette as First-run Setup.
9
-
10
- ## Covered Steps
11
-
12
- - Login: opens System -> Account.
13
- - Workspace Selection: opens System -> Workspaces.
14
- - Environment Analysis: opens Library -> Models and uses model recommendation
15
- data from `/models/recommendations`.
16
- - Model Recommendation: surfaces the top recommended local model.
17
- - Model Installation: keeps runtime install/model download consent visible.
18
- - Model Validation: shows compatibility profile results after load.
19
- - Mode Selection: links to System -> Settings and preserves Basic/Advanced/Admin.
20
- - Brain Usage: opens the graph-first Brain surface.
21
-
22
- ## Privacy Behavior
23
-
24
- No external model download, runtime install, or cloud call starts from
25
- onboarding. Downloads and installs require the visible Library consent checkbox.
26
-
27
- ## Evidence
28
-
29
- Primary screenshot: `output/audits/v4.5.0-rc/screenshots/01-first-run-setup.png`
30
-
31
- Walkthrough GIF: `output/audits/v4.5.0-rc/gifs/v4.5.0-first-run-walkthrough.gif`
@@ -1,49 +0,0 @@
1
- # v4.5.0 Product Experience Recovery Report
2
-
3
- Date: 2026-06-13
4
-
5
- ## Scope
6
-
7
- v4.5.0 restores the product experience on `main` after v4.4.0. It does not
8
- redesign `lattice_brain`, StorageEngine, FastAPI, Tauri, backup/restore, or
9
- portability architecture.
10
-
11
- ## Restored Journey
12
-
13
- Before v4.5.0, account, workspace, setup, environment analysis, model setup, and
14
- mode selection existed but were scattered inside System/Library surfaces.
15
-
16
- After v4.5.0, the first-run path is visible from the app shell:
17
-
18
- 1. Login
19
- 2. Workspace Selection
20
- 3. Environment Analysis
21
- 4. Model Recommendation
22
- 5. Model Installation
23
- 6. Model Validation
24
- 7. Mode Selection
25
- 8. Brain Usage
26
-
27
- ## Product Changes
28
-
29
- - Added a first-run guide in the desktop app shell with direct actions for
30
- account, workspace, model setup, mode choice, and Brain entry.
31
- - Persisted the selected workspace across reloads so the chosen workspace is
32
- used by API requests after restart.
33
- - Reworked Library Models around the existing streamed prepare/load path.
34
- - Kept model downloads and runtime installs behind explicit consent.
35
- - Added Gemma 4 MLX runtime metadata checks so 12B `gemma4_unified` shows
36
- runtime update guidance while 26B A4B remains ready on the working path.
37
- - Reduced Basic-mode developer leakage while keeping Advanced/Admin detail.
38
- - Updated graph/search copy for readability, focus, and source clarity.
39
-
40
- ## Evidence
41
-
42
- - Screenshots: `output/audits/v4.5.0-rc/screenshots/`
43
- - GIFs: `output/audits/v4.5.0-rc/gifs/`
44
- - Validation: `docs/V4_5_0_VALIDATION_REPORT.md`
45
-
46
- ## No-Redesign Confirmation
47
-
48
- No storage migrations, archive format changes, FastAPI architecture changes,
49
- Tauri shell redesign, or Brain Core extraction changes were introduced.
@@ -1,60 +0,0 @@
1
- # v4.5.0 Validation Report
2
-
3
- Date: 2026-06-13
4
-
5
- ## Status
6
-
7
- Local RC validation passed on macOS using Python 3.12.13
8
- (`/tmp/ltcai-v450-py312/bin/python`).
9
-
10
- ## Required Matrix
11
-
12
- | Check | Result |
13
- | --- | --- |
14
- | Python compile | PASS: `npm run check:python` |
15
- | Ruff | PASS: `python -m ruff check .` |
16
- | Unit tests | PASS: `npm run test:unit` (`607 passed`) |
17
- | Integration tests | PASS: `npm run test:integration` against a live local server (`9 passed`, `1 skipped`) |
18
- | `lattice_brain` isolation tests | PASS: `tests/unit/test_lattice_brain_isolation.py` |
19
- | no `lattice_brain` -> `latticeai` import test | PASS: isolation import guard |
20
- | graph/search/ingestion tests | PASS: focused graph, search, and ingestion suite (`79 passed`) |
21
- | backup/restore tests | PASS: `tests/unit/test_kg_portability.py`, `tests/unit/test_v42_brain_storage.py` |
22
- | `.latticebrain` archive tests | PASS: encrypted archive round trip, tamper rejection, dry-run restore |
23
- | frontend lint/typecheck | PASS: `npm run lint`, `npm run typecheck` |
24
- | Playwright | PASS: `npm run test:visual` (`14 passed`) |
25
- | Tauri cargo check | PASS: `npm run desktop:tauri:check` |
26
- | Tauri DMG build | PASS: `npm run release:artifacts` |
27
- | release artifact validation | PASS: `npm run release:validate` |
28
- | wheel smoke | PASS: `scripts/wheel_smoke.py --wheel dist/ltcai-4.5.0-py3-none-any.whl` |
29
- | npm pack dry-run | PASS: `npm pack --dry-run` |
30
- | onboarding/model/Gemma/first-run validation | PASS: Playwright coverage plus screenshots/GIF evidence |
31
-
32
- ## Notes
33
-
34
- - The first integration run was executed without the live local server and
35
- failed with connection-refused setup errors. It was rerun against
36
- `http://127.0.0.1:8899` and passed.
37
- - The Postgres live migration integration test remains skipped unless the
38
- dedicated Postgres fixture is available.
39
- - Vite reports the existing large frontend bundle warning during production
40
- builds.
41
- - Tauri/Rust reports an upstream future-incompatibility warning for
42
- `block v0.1.6`.
43
- - SHA-256 artifact hashes were captured after the final local artifact rebuild
44
- so this report can be packaged without creating self-referential hash churn.
45
-
46
- ## Evidence
47
-
48
- - Screenshots: `output/audits/v4.5.0-rc/screenshots/`
49
- - Walkthrough GIF: `output/audits/v4.5.0-rc/gifs/v4.5.0-first-run-walkthrough.gif`
50
- - Validated artifacts:
51
- - `dist/ltcai-4.5.0-py3-none-any.whl`
52
- - `dist/ltcai-4.5.0.tar.gz`
53
- - `ltcai-4.5.0.tgz`
54
- - `dist/ltcai-4.5.0.vsix`
55
- - `src-tauri/target/release/bundle/dmg/Lattice AI_4.5.0_aarch64.dmg`
56
-
57
- ## External Publishing
58
-
59
- No PyPI, npm Registry, VS Code Marketplace, or Open VSX publish command is part
60
- of this RC validation.
@@ -1,33 +0,0 @@
1
- # v4.5.1 Graph Experience Report
2
-
3
- ## Goal
4
-
5
- Knowledge exploration should feel like using a Digital Brain, not inspecting a
6
- database viewer.
7
-
8
- ## Reimagined Entry Point
9
-
10
- Brain is now presented as Home. The default tab is Today, with the map still one
11
- click away. The first-viewport language now explains that Lattice turns added
12
- material into a living memory map and keeps every answer tied to its source.
13
-
14
- ## Preserved Capability
15
-
16
- - Cytoscape graph explorer.
17
- - Semantic groups.
18
- - Search, focus, label modes, group collapse, and importance filtering.
19
- - Provenance coverage.
20
- - Hybrid search.
21
- - Portability and backup controls.
22
-
23
- ## Presentation Changes
24
-
25
- - Page copy avoids endpoint/framework language in Calm mode.
26
- - Graph remains real and API-backed.
27
- - Existing graph route aliases still open the map directly.
28
-
29
- ## Evidence
30
-
31
- - Graph UI: `frontend/src/pages/Brain.tsx`
32
- - Visual test: `knowledge graph renders a Cytoscape canvas and provenance coverage`
33
- - Related historical report: `docs/V4_5_0_GRAPH_UX_REPORT.md`
@@ -1,37 +0,0 @@
1
- # v4.5.1 Model Experience Report
2
-
3
- ## Goal
4
-
5
- Normal users should be able to install and use a local model without learning
6
- MLX, MLX-LM, MLX-VLM, Ollama, GGUF, or runtime internals.
7
-
8
- ## Preserved Capability
9
-
10
- v4.5.1 keeps the v4.5.0 model recommendation and prepare/load stream:
11
-
12
- - Environment analysis.
13
- - Recommended model selection.
14
- - Explicit download/install consent.
15
- - Progress reporting.
16
- - Validation.
17
- - Load/ready state.
18
- - Compatibility recovery guidance.
19
-
20
- ## Reimagined Presentation
21
-
22
- The model experience now sits under Library in the new product shell. The first
23
- session points users to "Pick a brain" and "Install locally" instead of runtime
24
- labels. Calm mode keeps implementation terms hidden while Deep/Admin retain
25
- diagnostics.
26
-
27
- ## Non-Goals
28
-
29
- No model runtime behavior, download policy, local/cloud opt-in policy, or
30
- compatibility routing was changed in v4.5.1.
31
-
32
- ## Evidence
33
-
34
- - Model UI: `frontend/src/pages/Library.tsx`
35
- - Model API client: `frontend/src/api/client.ts`
36
- - Related historical runtime report:
37
- `docs/V4_5_0_MODEL_RUNTIME_UX_REPORT.md`
@@ -1,37 +0,0 @@
1
- # v4.5.1 Navigation Report
2
-
3
- ## New Navigation Model
4
-
5
- The primary navigation is now:
6
-
7
- - Home
8
- - Ask
9
- - Add
10
- - Automate
11
- - Library
12
- - Care
13
-
14
- This replaces the previous product taxonomy without removing compatibility
15
- routes. Existing paths such as `#/knowledge-graph`, `#/hybrid-search`,
16
- `#/files`, `#/agents`, `#/workspace-admin`, and admin aliases still route to
17
- the same capability modules.
18
-
19
- ## Why This Model
20
-
21
- - Home is the user-facing Digital Brain entry point.
22
- - Ask is the clearest label for conversational work.
23
- - Add explains knowledge ingestion without technical vocabulary.
24
- - Automate explains agents/workflows as supervised outcomes.
25
- - Library remains clear for models, skills, and connections.
26
- - Care reframes account, backups, devices, and safety as maintenance.
27
-
28
- ## Implementation
29
-
30
- - Route compatibility remains in `frontend/src/routes.ts`.
31
- - The visible dock and mobile drawer are implemented in `frontend/src/App.tsx`.
32
- - Visual tests now assert the new navigation labels and legacy route behavior.
33
-
34
- ## Evidence
35
-
36
- - Tests: `tests/visual/v3.spec.js`
37
- - Code: `frontend/src/routes.ts`, `frontend/src/App.tsx`
@@ -1,29 +0,0 @@
1
- # v4.5.1 Onboarding Report
2
-
3
- ## Goal
4
-
5
- Onboarding should make the next action obvious to a first-time, non-technical
6
- user without documentation.
7
-
8
- ## Reimagined Journey
9
-
10
- - Make it yours: account/profile setup.
11
- - Choose a space: personal or organization workspace selection.
12
- - Meet your Mac: environment analysis.
13
- - Pick a brain: model recommendation.
14
- - Install locally: consent-gated model/runtime setup.
15
- - Try a question: model validation through conversation.
16
- - Set the pace: Calm, Deep, or Admin mode.
17
- - Explore memory: open the knowledge map.
18
-
19
- ## Behavior
20
-
21
- The journey reads real backend state from profile, workspace, models, and model
22
- recommendation APIs. The guide can be hidden through local storage, but no
23
- backend state is faked to mark setup complete.
24
-
25
- ## Evidence
26
-
27
- - Primary component: `frontend/src/components/FirstRunGuide.tsx`
28
- - Desktop screenshot: `output/audits/v4.5.1-reimagining/screenshots/home-desktop.png`
29
- - Walkthrough GIF: `output/audits/v4.5.1-reimagining/gifs/v4.5.1-reimagining-walkthrough.gif`