ltcai 4.3.1 → 4.3.3
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 +186 -278
- package/docs/CHANGELOG.md +91 -0
- package/docs/V4_3_2_DEADCODE_AUDIT_REPORT.md +174 -0
- package/docs/V4_3_2_DOCUMENTATION_CLEANUP_REPORT.md +81 -0
- package/docs/V4_3_2_GITHUB_VERCEL_CHECK_REPORT.md +75 -0
- package/docs/V4_3_2_GRAPH_UX_REPORT.md +48 -0
- package/docs/V4_3_2_INDEPENDENT_AUDIT_PACKAGE.md +209 -0
- package/docs/V4_3_2_PRODUCT_POLISH_REPORT.md +57 -0
- package/docs/V4_3_2_SELF_AUDIT_REPORT.md +63 -0
- package/docs/V4_3_2_VALIDATION_REPORT.md +97 -0
- package/docs/V4_3_3_VALIDATION_REPORT.md +46 -0
- package/docs/V4_DIGITAL_BRAIN_RECOVERY.md +18 -19
- package/frontend/openapi.json +1 -1
- package/frontend/src/components/primitives.tsx +92 -10
- package/frontend/src/pages/Act.tsx +11 -9
- package/frontend/src/pages/Ask.tsx +2 -2
- package/frontend/src/pages/Brain.tsx +607 -65
- package/frontend/src/pages/Capture.tsx +11 -7
- package/frontend/src/pages/Library.tsx +3 -3
- package/frontend/src/pages/System.tsx +186 -23
- package/lattice_brain/__init__.py +1 -1
- package/latticeai/__init__.py +1 -1
- package/latticeai/core/marketplace.py +1 -1
- package/latticeai/core/multi_agent.py +1 -1
- package/latticeai/core/workspace_os.py +1 -1
- package/package.json +3 -6
- package/scripts/build_vercel_static.mjs +77 -0
- package/scripts/check_markdown_links.mjs +75 -0
- package/src-tauri/Cargo.lock +1 -1
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/src/main.rs +12 -2
- package/src-tauri/tauri.conf.json +1 -1
- package/static/app/asset-manifest.json +5 -5
- package/static/app/assets/index-CHHal8Zl.css +2 -0
- package/static/app/assets/index-pdzil9ac.js +333 -0
- package/static/app/assets/index-pdzil9ac.js.map +1 -0
- package/static/app/index.html +2 -2
- package/latticeai/api/deps.py +0 -15
- package/scripts/capture/README.md +0 -28
- package/scripts/capture/capture_enterprise.js +0 -8
- package/scripts/capture/capture_graph.js +0 -8
- package/scripts/capture/capture_onboarding.js +0 -8
- package/scripts/capture/capture_page.js +0 -43
- package/scripts/capture/capture_release_media.js +0 -125
- package/scripts/capture/capture_skills.js +0 -8
- package/scripts/capture/capture_v340.js +0 -88
- package/scripts/capture/capture_workspace.js +0 -8
- package/scripts/generate_diagrams.py +0 -512
- package/scripts/release-0.3.1.sh +0 -105
- package/scripts/take_screenshots.js +0 -69
- package/static/app/assets/index-BhPuj8rT.js +0 -333
- package/static/app/assets/index-BhPuj8rT.js.map +0 -1
- package/static/app/assets/index-yZswHE3d.css +0 -2
- package/static/css/tokens.3ba22e37.css +0 -260
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Lattice AI v4.3.2 — Independent Dead-Code, Architecture, and Runtime Audit
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-13. Performed by an independent reviewer (Claude) against the
|
|
4
|
+
v4.3.2 release-preparation tree. Documents were treated as claims to verify,
|
|
5
|
+
not as truth. This pass deletes only items classified DELETE NOW; it does not
|
|
6
|
+
tag, create a GitHub Release, or publish to any registry.
|
|
7
|
+
|
|
8
|
+
## Method
|
|
9
|
+
|
|
10
|
+
- Built a reference graph over all 561 tracked files: Python import scan
|
|
11
|
+
(static + relative), npm/pyproject/MANIFEST packaging surfaces, CI workflows,
|
|
12
|
+
frontend imports, service-worker precache lists, and Markdown references.
|
|
13
|
+
- Module-level orphan detection plus `vulture` (min-confidence 90) over
|
|
14
|
+
`latticeai`, `lattice_brain`, `tools`.
|
|
15
|
+
- Full baseline validation BEFORE deletions (602/602 unit tests, ruff clean,
|
|
16
|
+
runtime smoke), repeated AFTER deletions.
|
|
17
|
+
- Runtime audit against a live FastAPI backend built from the cleaned tree.
|
|
18
|
+
|
|
19
|
+
## 1. Deleted files (DELETE NOW — all verified zero live references)
|
|
20
|
+
|
|
21
|
+
| File | Why it is dead |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| `scripts/release-0.3.1.sh` | One-shot v0.3.1 commit/tag/push script; version-pinned, dangerous if re-run; referenced only by a historical audit JSON. |
|
|
24
|
+
| `scripts/take_screenshots.js` | Captures retired legacy pages (`/`, `/admin`, `/graph`) deleted in the v4.1 SPA rebuild; those routes now 308-redirect. |
|
|
25
|
+
| `scripts/capture/` (9 files incl. README) | Playwright capture tooling for retired legacy routes/selectors (e.g. waits on `#graph`, which no longer exists) and version-pinned v3.4.0/v2.2.x media scripts. Not used by CI, tests, or release flows. |
|
|
26
|
+
| `scripts/generate_diagrams.py` | v3-era PNG diagram generator for `docs/images/`; outputs describe retired v3 UI; unreferenced outside historical audit JSON. |
|
|
27
|
+
| `clear_logs.sh` | Resets v0.x-era root log files (`server.log`, `ai_server.log`, `chat_history.json`); nothing references it; current product logs elsewhere. |
|
|
28
|
+
| `static/css/tokens.3ba22e37.css` | Byte-identical duplicate of `static/css/tokens.css`; zero references (verified `git grep`). |
|
|
29
|
+
| `latticeai/api/deps.py` | Three type aliases, never imported anywhere since v1.4.0; confirmed by import scan. |
|
|
30
|
+
|
|
31
|
+
Also removed: the five orphaned `capture:*` script entries in `package.json`.
|
|
32
|
+
The deletions do not touch migrations, backup/restore code, compatibility
|
|
33
|
+
shims, user data paths, v4.3.2 release artifacts, or README-linked docs.
|
|
34
|
+
|
|
35
|
+
## 2. Kept for compatibility
|
|
36
|
+
|
|
37
|
+
- Root deprecation shims (packaged in wheel/npm, imported by app and tests):
|
|
38
|
+
`server.py`, `kg_schema.py`, `knowledge_graph.py`, `knowledge_graph_api.py`,
|
|
39
|
+
`llm_router.py`, `mcp_registry.py`.
|
|
40
|
+
- Live root modules (imported by `latticeai`): `auto_setup.py`,
|
|
41
|
+
`setup_wizard.py`, `local_knowledge_api.py`, `p_reinforce.py`,
|
|
42
|
+
`telegram_bot.py`, `ltcai_cli.py`.
|
|
43
|
+
- `lattice_brain/*` one-line re-export modules (public Brain Core import
|
|
44
|
+
surface) and `latticeai/brain/*` (the physical implementation).
|
|
45
|
+
- `desktop/electron/main.cjs` (documented fallback shell; `desktop:electron`).
|
|
46
|
+
- `latticeai/api/ui_redirects.py` and frontend `routeAliases` (legacy
|
|
47
|
+
bookmark/hash-route compatibility — verified live by Playwright test
|
|
48
|
+
"legacy page URLs redirect into the replacement app").
|
|
49
|
+
- `scripts/migrate_brain_storage.py` (migration tooling; protected class).
|
|
50
|
+
- `static/vendor/fonts/*` and `static/vendor/icons/*` (precached by
|
|
51
|
+
`static/sw.js` offline shell; asserted by `test_t9_privacy_vendoring.py`).
|
|
52
|
+
- Historical `RELEASE_NOTES_v*.md` and `docs/` reports (release-history
|
|
53
|
+
record; some linked from RELEASE_NOTES.md/CHANGELOG).
|
|
54
|
+
|
|
55
|
+
## 3. Needs migration first
|
|
56
|
+
|
|
57
|
+
- `static/vendor/chart.umd.min.js` and `static/vendor/marked.min.js`: no
|
|
58
|
+
shipped page references them since the v4.1 legacy-page retirement, but
|
|
59
|
+
they are pinned by `tests/unit/test_t9_privacy_vendoring.py`, pyproject
|
|
60
|
+
`data-files`/`package-data`, and `package.json` files. Safe removal requires
|
|
61
|
+
coordinated edits to that test and the packaging manifests in one change.
|
|
62
|
+
- `static/sw.js` vendor-font precache entries: the React SPA does not
|
|
63
|
+
reference `/static/vendor/fonts` or tabler icons; if vendor assets are ever
|
|
64
|
+
pruned, the SHELL list and the t9 test must be updated together.
|
|
65
|
+
- `get_conversation` parameter of
|
|
66
|
+
`latticeai/api/security_dashboard.py::create_security_router` is accepted
|
|
67
|
+
but never used (vulture, 100%); removing it changes a factory signature.
|
|
68
|
+
|
|
69
|
+
## 4. Owner decision
|
|
70
|
+
|
|
71
|
+
- `start_ai.sh` — legacy 24/7 uvicorn launcher (Korean-language, caffeinate
|
|
72
|
+
loop). Still functional against `server:app` but unreferenced and predates
|
|
73
|
+
the desktop product.
|
|
74
|
+
- Root historical docs not linked from README: `PLATFORM_COMPLETION_REPORT_v3.4.0.md`,
|
|
75
|
+
`VISUAL_REBUILD_NOTES_v3.3.1.md`, `FIGMA_SPEC.md`, `STYLE_SYSTEM.md`,
|
|
76
|
+
`CLOUD_BOTS.md`, `AI_PHILOSOPHY.md`, `KNOWLEDGE_GRAPH.md`, `PUBLIC_MODE.md`,
|
|
77
|
+
`MODEL_POLICY.md`, plus unlinked old release notes (v3.3.0–v3.5.0, v4.0.0,
|
|
78
|
+
v4.1.0, v4.3.0). Historical record vs. clutter is an owner call.
|
|
79
|
+
- `docs/images/` and `docs/assets/v3.4.0/` (tracked v3-era media used only by
|
|
80
|
+
historical docs; excluded from npm packaging).
|
|
81
|
+
- Untracked local disk clutter (not part of the repo; not touched):
|
|
82
|
+
`ltcai-0.2.2.tgz` … `ltcai-4.3.1.tgz`, extracted `ltcai-0.3.1/`, historical
|
|
83
|
+
`dist/` artifacts, `server.log`, `ai_server.log`, `chat_history.json`,
|
|
84
|
+
`telegram_chats.json`, `venv/`, `.venv/`, `.build-venv/`, `agent_workspace/`,
|
|
85
|
+
local node_modules Electron payload. v4.3.2 artifacts must be preserved.
|
|
86
|
+
- pptx history rewrite (pre-existing FEATURE_STATUS item; force-push only).
|
|
87
|
+
|
|
88
|
+
## 5. Uncertain
|
|
89
|
+
|
|
90
|
+
- None remaining at module/file granularity. Function-level dead branches
|
|
91
|
+
inside the large legacy single-file modules (`auto_setup.py`,
|
|
92
|
+
`setup_wizard.py`, `telegram_bot.py`) were not exhaustively proven dead and
|
|
93
|
+
were left untouched; ruff F-rules and vulture@90 report no findings there.
|
|
94
|
+
|
|
95
|
+
## 6. Architecture mismatch report (code vs ARCHITECTURE.md)
|
|
96
|
+
|
|
97
|
+
Verified as claimed: Tauri 2 primary shell with Electron fallback; React/Vite
|
|
98
|
+
SPA shipped from `static/app` (asset manifest consistent with tracked
|
|
99
|
+
assets); frontend speaks only generated-OpenAPI HTTP (318 paths, regenerated
|
|
100
|
+
in lint); SQLite default `StorageEngine` with honest sqlite-vec fallback
|
|
101
|
+
reporting; opt-in Postgres/Docker; encrypted `.latticebrain` format v2 with
|
|
102
|
+
fail-closed wrong-passphrase (HTTP 400 observed); backup/restore dry-run and
|
|
103
|
+
confirm gates; local-only startup posture per `/admin/product-hardening`;
|
|
104
|
+
Vercel config is a docs-only static build.
|
|
105
|
+
|
|
106
|
+
Mismatches found and addressed:
|
|
107
|
+
|
|
108
|
+
1. "Independent Python package `lattice_brain`" was overstated: only
|
|
109
|
+
`core`, `archive`, and `storage/*` are standalone; graph/memory/context/
|
|
110
|
+
conversation modules physically live in `latticeai/brain/` and are
|
|
111
|
+
re-exported through `lattice_brain.*`. ARCHITECTURE.md now carries a
|
|
112
|
+
packaging note stating the boundary is an import-path contract. (Doc fix
|
|
113
|
+
only; no redesign.)
|
|
114
|
+
2. Root `CHANGELOG.md` stub presented a stale `[4.0.1]` top entry while
|
|
115
|
+
`docs/CHANGELOG.md` is at 4.3.2; the stub now states the snapshot is
|
|
116
|
+
historical and points to the current changelog.
|
|
117
|
+
3. Minor: the audit package's "Changed Files Since v4.3.1" manifest lists
|
|
118
|
+
`static/app/assets/index-BhPuj8rT.js{,.map}` and `index-yZswHE3d.css`,
|
|
119
|
+
which were superseded by the final tracked bundle
|
|
120
|
+
(`index-pdzil9ac.js` / `index-CHHal8Zl.css`). Historical claim; left as-is.
|
|
121
|
+
|
|
122
|
+
## 7. Runtime audit results (post-cleanup tree, live backend)
|
|
123
|
+
|
|
124
|
+
Backend built from the cleaned tree (uvicorn `server:app`, fresh data dir):
|
|
125
|
+
|
|
126
|
+
- Startup/health: `/health` ok, version 4.3.2, mode local. `/app` serves the
|
|
127
|
+
SPA shell (HTTP 200).
|
|
128
|
+
- Brain graph: `/knowledge-graph/graph` empty-state then populated after
|
|
129
|
+
ingestion; hybrid search returns real keyword/vector/graph channels.
|
|
130
|
+
- Ask: `/history/conversations` durable store reachable; no-model state
|
|
131
|
+
honest (no fabricated answers; `current_model: null`).
|
|
132
|
+
- Capture: `/upload/document` ingested a note; node appeared in the graph.
|
|
133
|
+
- Act: workflow create persisted a real record; agent runtime reports
|
|
134
|
+
`ready:false, mode:simulation` with an honest unavailable reason.
|
|
135
|
+
- Library: `/models` returns catalog with no runtime falsely loaded.
|
|
136
|
+
- System: storage status (sqlite engine, honest brute-force-cosine fallback),
|
|
137
|
+
`/admin/product-hardening` local-only posture, backup health.
|
|
138
|
+
- Backup/restore: backup created and verified; restore dry-run and confirmed
|
|
139
|
+
restore both succeeded with manifest verification.
|
|
140
|
+
- `.latticebrain`: archive create (encrypted, format v2) → verify → import
|
|
141
|
+
dry-run → confirmed import all succeeded; wrong passphrase fails closed (400).
|
|
142
|
+
- Desktop startup (Tauri DMG) and sidecar quit: not reproducible in this
|
|
143
|
+
Linux audit sandbox (no macOS/Rust toolchain). `src-tauri/` is untouched by
|
|
144
|
+
this cleanup, the v4.3.2 DMG passes artifact validation, and legacy-route
|
|
145
|
+
redirects plus the six product pages were exercised via Playwright instead.
|
|
146
|
+
|
|
147
|
+
## 8. Validation results (after deletions)
|
|
148
|
+
|
|
149
|
+
| Check | Result |
|
|
150
|
+
| --- | --- |
|
|
151
|
+
| Python compile (`scripts/check_python.py`) | OK — 236 modules |
|
|
152
|
+
| Ruff (`ruff check .`) | All checks passed |
|
|
153
|
+
| Unit tests (`pytest tests/unit`) | 602 passed, 0 failed |
|
|
154
|
+
| Live integration (`pytest tests/integration` vs live server) | 9 passed, 1 skipped (live Postgres opt-in) |
|
|
155
|
+
| Frontend lint (`scripts/lint_frontend.mjs`) | Pass (OpenAPI export: 318 paths) |
|
|
156
|
+
| TypeScript typecheck (`tsc --noEmit`) | Clean |
|
|
157
|
+
| vscode-extension build (`tsc -p .`) | Clean |
|
|
158
|
+
| Playwright visual (`tests/visual/v3.spec.js`) | 12 passed |
|
|
159
|
+
| Tauri check/build | Not run in sandbox (no Rust/macOS toolchain); Rust sources unchanged by cleanup |
|
|
160
|
+
| Release artifact validation (`validate_release_artifacts.py 4.3.2 --require-vsix --require-tgz --require-dmg`) | OK (expected WARN: historical versions present in `dist/`) |
|
|
161
|
+
| Wheel smoke | Adapted: wheel unpacked, all shipped modules byte-compiled, server booted from the installed-wheel tree, `/health` ok 4.3.2. Full `scripts/wheel_smoke.py` venv flow needs Python ≥3.11 (sandbox has 3.10). |
|
|
162
|
+
| `npm pack --dry-run` | OK (291 files, 9.6 MB unpacked) |
|
|
163
|
+
| Docs link check (`check_markdown_links.mjs`) | Pass (README + 15 linked files) |
|
|
164
|
+
| Vercel static build | Pass |
|
|
165
|
+
|
|
166
|
+
Environment caveat: Python checks ran on CPython 3.10 in the audit sandbox
|
|
167
|
+
(project targets ≥3.11; CI runs 3.11/3.12). All 602 tests pass on 3.10 with a
|
|
168
|
+
`tomllib` shim; no 3.11-only syntax exists in the tree.
|
|
169
|
+
|
|
170
|
+
## 9. Scope guarantees
|
|
171
|
+
|
|
172
|
+
No migrations, backup/restore/import code, compatibility shims, user data
|
|
173
|
+
paths, or v4.3.2 release artifacts were deleted. No tag, GitHub Release, or
|
|
174
|
+
registry publish was performed.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Lattice AI v4.3.2 Documentation Cleanup Report
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-13
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
This release-preparation pass rewrote the public README and audited every
|
|
8
|
+
Markdown file linked directly from it. The goal was publishing readiness, not
|
|
9
|
+
feature work.
|
|
10
|
+
|
|
11
|
+
## README Changes
|
|
12
|
+
|
|
13
|
+
- Restored modern package/status badges for PyPI, npm, VS Code Marketplace,
|
|
14
|
+
Open VSX, CI, and license while keeping the v4.3.2 registry-publishing caveat.
|
|
15
|
+
- Rewritten around observed v4.3.2 self-audit behavior.
|
|
16
|
+
- Removed old v3 product-tour screenshots from the public tour.
|
|
17
|
+
- Added GitHub-renderable screenshots/GIFs from
|
|
18
|
+
`output/audits/v4.3.2-rc/`.
|
|
19
|
+
- Added required tour sections:
|
|
20
|
+
- Desktop startup
|
|
21
|
+
- Brain graph
|
|
22
|
+
- Ask
|
|
23
|
+
- Capture
|
|
24
|
+
- Act
|
|
25
|
+
- Library
|
|
26
|
+
- System
|
|
27
|
+
- Backup / Restore
|
|
28
|
+
- `.latticebrain` portability
|
|
29
|
+
- Added current artifact list using exact v4.3.2 filenames.
|
|
30
|
+
- Added known limitations and owner-controlled publishing caveats.
|
|
31
|
+
|
|
32
|
+
## Linked Markdown Files Audited
|
|
33
|
+
|
|
34
|
+
- `ARCHITECTURE.md`
|
|
35
|
+
- `FEATURE_STATUS.md`
|
|
36
|
+
- `RELEASE_NOTES.md`
|
|
37
|
+
- `RELEASE_NOTES_v4.3.2.md`
|
|
38
|
+
- `RELEASE.md`
|
|
39
|
+
- `SECURITY.md`
|
|
40
|
+
- `docs/CHANGELOG.md`
|
|
41
|
+
- `docs/V4_3_2_GRAPH_UX_REPORT.md`
|
|
42
|
+
- `docs/V4_3_2_PRODUCT_POLISH_REPORT.md`
|
|
43
|
+
- `docs/V4_3_2_SELF_AUDIT_REPORT.md`
|
|
44
|
+
- `docs/V4_3_2_VALIDATION_REPORT.md`
|
|
45
|
+
- `docs/V4_3_2_DOCUMENTATION_CLEANUP_REPORT.md`
|
|
46
|
+
- `docs/V4_3_2_GITHUB_VERCEL_CHECK_REPORT.md`
|
|
47
|
+
- `docs/V4_3_2_INDEPENDENT_AUDIT_PACKAGE.md`
|
|
48
|
+
- `docs/V4_DIGITAL_BRAIN_RECOVERY.md`
|
|
49
|
+
|
|
50
|
+
## Updates Made
|
|
51
|
+
|
|
52
|
+
- `ARCHITECTURE.md` is now a diagram-first system map covering Tauri startup,
|
|
53
|
+
the sidecar lifecycle, React/Vite, FastAPI, `lattice_brain`, StorageEngine,
|
|
54
|
+
SQLite default mode, PostgreSQL opt-in mode, archive portability,
|
|
55
|
+
backup/restore, privacy boundaries, release artifacts, and Vercel static docs.
|
|
56
|
+
- `FEATURE_STATUS.md`, `RELEASE_NOTES.md`, and `docs/CHANGELOG.md` now make
|
|
57
|
+
clear that older sections are historical records.
|
|
58
|
+
- `FEATURE_STATUS.md` now describes Vercel as a static documentation-only check
|
|
59
|
+
instead of the obsolete broken FastAPI deployment state.
|
|
60
|
+
- `SECURITY.md` now references v4.3.2 and clarifies default local-only external
|
|
61
|
+
communication behavior.
|
|
62
|
+
- `docs/V4_3_2_GITHUB_VERCEL_CHECK_REPORT.md` documents the `server.py`
|
|
63
|
+
auto-detection failure and the explicit static-only Vercel configuration.
|
|
64
|
+
- `docs/V4_3_2_SELF_AUDIT_REPORT.md` now includes README-specific Ask and
|
|
65
|
+
Capture evidence.
|
|
66
|
+
- `docs/V4_3_2_VALIDATION_REPORT.md` now includes Markdown-link and Vercel
|
|
67
|
+
build validation, README badge link validation, and Mermaid sanity checks.
|
|
68
|
+
|
|
69
|
+
## Link Validation
|
|
70
|
+
|
|
71
|
+
`npm run docs:check-links` validates README local links, README image/GIF paths,
|
|
72
|
+
and links inside README-linked Markdown files. External web links are skipped by
|
|
73
|
+
this local checker.
|
|
74
|
+
|
|
75
|
+
README badge URLs were validated separately because the local Markdown checker
|
|
76
|
+
intentionally skips external web links.
|
|
77
|
+
|
|
78
|
+
## Result
|
|
79
|
+
|
|
80
|
+
PASS. README-linked current documentation no longer contradicts the v4.3.2
|
|
81
|
+
self-audit evidence, current architecture, feature status, or release notes.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Lattice AI v4.3.2 GitHub / Vercel Check Report
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-13
|
|
4
|
+
|
|
5
|
+
## Decision
|
|
6
|
+
|
|
7
|
+
Lattice AI v4.3.2 is a local-first desktop product. Vercel must not deploy the
|
|
8
|
+
runtime, must not auto-detect `server.py` as a FastAPI entrypoint, and must not
|
|
9
|
+
host a fake cloud product.
|
|
10
|
+
|
|
11
|
+
Vercel is configured as a static documentation-only Git check.
|
|
12
|
+
|
|
13
|
+
## Failure Addressed
|
|
14
|
+
|
|
15
|
+
Observed Vercel failure:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
Found server.py but it does not define a top-level app FastAPI instance...
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
That detection path is wrong for this repository because the production runtime
|
|
22
|
+
is the Tauri desktop app plus a localhost FastAPI sidecar.
|
|
23
|
+
|
|
24
|
+
## Configuration
|
|
25
|
+
|
|
26
|
+
`vercel.json` now explicitly sets:
|
|
27
|
+
|
|
28
|
+
- `"framework": null` so the project uses Vercel's generic "Other" preset.
|
|
29
|
+
- `"installCommand": "true"` as an explicit no-op install step; the static
|
|
30
|
+
status page uses only Node built-ins.
|
|
31
|
+
- `"buildCommand": "node scripts/build_vercel_static.mjs"`.
|
|
32
|
+
- `"outputDirectory": "vercel-static"`.
|
|
33
|
+
- A rewrite from all routes to `/index.html`.
|
|
34
|
+
|
|
35
|
+
The static build script writes `vercel-static/index.html`, a documentation page
|
|
36
|
+
that explains the desktop/localhost runtime boundary. It does not import
|
|
37
|
+
`server.py`, call FastAPI, run tests as an app, or expose placeholder product UI.
|
|
38
|
+
|
|
39
|
+
This follows Vercel's documented project configuration model: `framework` can be
|
|
40
|
+
set to `null` for the "Other" preset, and `buildCommand` / `outputDirectory`
|
|
41
|
+
override project build settings.
|
|
42
|
+
|
|
43
|
+
References:
|
|
44
|
+
|
|
45
|
+
- https://vercel.com/docs/project-configuration/vercel-json
|
|
46
|
+
- https://vercel.com/docs/builds/configure-a-build
|
|
47
|
+
|
|
48
|
+
## GitHub Workflow Notes
|
|
49
|
+
|
|
50
|
+
- `.github/workflows/ci.yml` runs Python compile, ruff, unit tests, integration
|
|
51
|
+
smoke, Python build, twine check, and wheel smoke.
|
|
52
|
+
- `.github/workflows/visual.yml` runs Playwright visual smoke.
|
|
53
|
+
- `.github/workflows/release.yml` builds and validates artifacts on tag push
|
|
54
|
+
only. It does not publish packages to external registries.
|
|
55
|
+
|
|
56
|
+
## Validation
|
|
57
|
+
|
|
58
|
+
Release-prep validation was rerun after the Vercel fix:
|
|
59
|
+
|
|
60
|
+
- `npm run vercel:build`
|
|
61
|
+
- Vercel config JSON parse check
|
|
62
|
+
- README badge link validation
|
|
63
|
+
- Markdown link check for README-linked docs
|
|
64
|
+
- Mermaid block sanity check for `ARCHITECTURE.md`
|
|
65
|
+
- `npx --yes vercel@54.12.2 build` reached local CLI project-linkage
|
|
66
|
+
validation and stopped with `project_settings_required` because this checkout
|
|
67
|
+
does not contain `.vercel` project settings or credentials. The committed
|
|
68
|
+
static build command itself passed.
|
|
69
|
+
|
|
70
|
+
See `docs/V4_3_2_VALIDATION_REPORT.md` for the final command results.
|
|
71
|
+
|
|
72
|
+
## Result
|
|
73
|
+
|
|
74
|
+
PASS. Vercel is now an explicit static documentation-only check and should not
|
|
75
|
+
try to auto-detect or deploy the local FastAPI sidecar.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Lattice AI v4.3.2 Graph UX Report
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-13
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
v4.3.2 overhauls the Brain graph user experience without changing Brain Core,
|
|
8
|
+
storage, or the FastAPI graph contract. The Brain page continues to consume the
|
|
9
|
+
existing generated OpenAPI client and `/knowledge-graph/graph`.
|
|
10
|
+
|
|
11
|
+
## Implemented
|
|
12
|
+
|
|
13
|
+
- Semantic graph groups: Knowledge, Sources, Activity, Memory, People, System,
|
|
14
|
+
and Other.
|
|
15
|
+
- Node styling by type, importance score, degree, and focus state.
|
|
16
|
+
- Local search across title, id, summary, type, and metadata.
|
|
17
|
+
- Backend hybrid-search integration for graph-related queries.
|
|
18
|
+
- Minimum importance filtering with an honest visible count.
|
|
19
|
+
- Group collapse/expand that preserves permanent access to hidden groups.
|
|
20
|
+
- Focused neighborhoods from selected nodes.
|
|
21
|
+
- Label mode controls for names, type, ids, and hidden labels.
|
|
22
|
+
- Important-node list driven by graph degree and importance.
|
|
23
|
+
|
|
24
|
+
## Data Contract
|
|
25
|
+
|
|
26
|
+
The graph explorer uses existing runtime data only:
|
|
27
|
+
|
|
28
|
+
- `/knowledge-graph/graph` for nodes and edges.
|
|
29
|
+
- `/api/search/hybrid` for backend search results.
|
|
30
|
+
- Existing stats, index status, memory, provenance, portability, backup, and
|
|
31
|
+
storage APIs for surrounding Brain panels.
|
|
32
|
+
|
|
33
|
+
No demo graph, static graph, or placeholder graph data is used.
|
|
34
|
+
|
|
35
|
+
## Evidence
|
|
36
|
+
|
|
37
|
+
- Initial graph: `output/audits/v4.3.2-rc/screenshots/02-graph-explorer-before.png`
|
|
38
|
+
- Search: `output/audits/v4.3.2-rc/screenshots/03-graph-search.png`
|
|
39
|
+
- Group collapse: `output/audits/v4.3.2-rc/screenshots/04-graph-collapse-group.png`
|
|
40
|
+
- Focus neighborhood: `output/audits/v4.3.2-rc/screenshots/05-graph-focus-neighborhood.png`
|
|
41
|
+
- Walkthrough GIF: `output/audits/v4.3.2-rc/gifs/graph-product-walkthrough.gif`
|
|
42
|
+
- Seeded graph log: `output/audits/v4.3.2-rc/logs/graph-after-upload.json`
|
|
43
|
+
|
|
44
|
+
## Result
|
|
45
|
+
|
|
46
|
+
PASS. The Brain graph is a real interactive view over persisted user data. The
|
|
47
|
+
self-audit seeded the graph through the upload API, verified the resulting graph
|
|
48
|
+
state, and exercised search, focus, collapse, backup, and portability flows.
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Lattice AI v4.3.2 Independent Audit Package
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-13
|
|
4
|
+
|
|
5
|
+
This package is for a separate AI or human reviewer. It summarizes what to
|
|
6
|
+
inspect and how to reproduce validation. It is not itself an independent audit.
|
|
7
|
+
|
|
8
|
+
## Current Architecture Summary
|
|
9
|
+
|
|
10
|
+
- Desktop: Tauri 2 primary shell in `src-tauri/`; Electron fallback in
|
|
11
|
+
`desktop/electron/`.
|
|
12
|
+
- Frontend: React + TypeScript + Vite SPA in `frontend/`, shipped from
|
|
13
|
+
`static/app/`.
|
|
14
|
+
- API: FastAPI localhost backend; frontend uses generated OpenAPI types and
|
|
15
|
+
does not call Python directly.
|
|
16
|
+
- Brain Core: independent Python package `lattice_brain`.
|
|
17
|
+
- Storage: `StorageEngine` abstraction with SQLite default and optional
|
|
18
|
+
PostgreSQL/pgvector scale mode.
|
|
19
|
+
- Portability: encrypted `.latticebrain` archives, backup/restore, inspect,
|
|
20
|
+
verify, import dry-run, and restore dry-run/restore APIs.
|
|
21
|
+
- Privacy: default startup is local-only; external integrations and downloads
|
|
22
|
+
require explicit opt-in paths.
|
|
23
|
+
|
|
24
|
+
## README Claims To Verify
|
|
25
|
+
|
|
26
|
+
- Desktop startup and sidecar shutdown.
|
|
27
|
+
- Brain graph search, grouping, focus, filtering, and graph persistence.
|
|
28
|
+
- Ask no-model honesty and graph context.
|
|
29
|
+
- Capture document ingestion.
|
|
30
|
+
- Act workflow create/run surfaces and honest agent runtime status.
|
|
31
|
+
- Library model/runtime availability.
|
|
32
|
+
- System storage, backup, archive, Brain Network, and device identity status.
|
|
33
|
+
- Backup/restore and `.latticebrain` portability flows.
|
|
34
|
+
- Exact v4.3.2 artifact readiness.
|
|
35
|
+
|
|
36
|
+
## Self-Audit Evidence Paths
|
|
37
|
+
|
|
38
|
+
- Root evidence folder: `output/audits/v4.3.2-rc/`
|
|
39
|
+
- Screenshots: `output/audits/v4.3.2-rc/screenshots/`
|
|
40
|
+
- GIF: `output/audits/v4.3.2-rc/gifs/graph-product-walkthrough.gif`
|
|
41
|
+
- Runtime logs: `output/audits/v4.3.2-rc/logs/`
|
|
42
|
+
- Video: `output/audits/v4.3.2-rc/videos/graph-product-walkthrough.webm`
|
|
43
|
+
|
|
44
|
+
## Key Screenshots / GIFs
|
|
45
|
+
|
|
46
|
+
- Desktop startup:
|
|
47
|
+
`output/audits/v4.3.2-rc/screenshots/13-desktop-sidecar-startup.png`
|
|
48
|
+
- Brain graph:
|
|
49
|
+
`output/audits/v4.3.2-rc/screenshots/02-graph-explorer-before.png`
|
|
50
|
+
- Graph walkthrough:
|
|
51
|
+
`output/audits/v4.3.2-rc/gifs/graph-product-walkthrough.gif`
|
|
52
|
+
- Ask:
|
|
53
|
+
`output/audits/v4.3.2-rc/screenshots/14-ask-context.png`
|
|
54
|
+
- Capture:
|
|
55
|
+
`output/audits/v4.3.2-rc/screenshots/15-capture-ingestion.png`
|
|
56
|
+
- Act:
|
|
57
|
+
`output/audits/v4.3.2-rc/screenshots/09-workflow-create-run.png`
|
|
58
|
+
- Library:
|
|
59
|
+
`output/audits/v4.3.2-rc/screenshots/12-library-model-status.png`
|
|
60
|
+
- System:
|
|
61
|
+
`output/audits/v4.3.2-rc/screenshots/08-system-storage-status.png`
|
|
62
|
+
- Backup/restore:
|
|
63
|
+
`output/audits/v4.3.2-rc/screenshots/06-brain-portability-backup.png`
|
|
64
|
+
- `.latticebrain`:
|
|
65
|
+
`output/audits/v4.3.2-rc/screenshots/07-system-archive-flows.png`
|
|
66
|
+
|
|
67
|
+
## Validation Results
|
|
68
|
+
|
|
69
|
+
See `docs/V4_3_2_VALIDATION_REPORT.md`.
|
|
70
|
+
|
|
71
|
+
Expected green checks:
|
|
72
|
+
|
|
73
|
+
- Python compile
|
|
74
|
+
- Ruff
|
|
75
|
+
- unit tests
|
|
76
|
+
- live integration tests
|
|
77
|
+
- frontend lint
|
|
78
|
+
- TypeScript typecheck
|
|
79
|
+
- Playwright visual tests
|
|
80
|
+
- Tauri check/build
|
|
81
|
+
- release artifact validation
|
|
82
|
+
- wheel smoke
|
|
83
|
+
- npm pack dry-run
|
|
84
|
+
- README-linked Markdown link check
|
|
85
|
+
- Vercel static build
|
|
86
|
+
|
|
87
|
+
## Commands To Reproduce
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npm install
|
|
91
|
+
npm run check:python
|
|
92
|
+
node scripts/run_python.mjs -m ruff check .
|
|
93
|
+
npm run lint
|
|
94
|
+
npm run typecheck
|
|
95
|
+
npm run test:unit
|
|
96
|
+
LTCAI_TEST_BASE_URL=http://127.0.0.1:4932 npm run test:integration
|
|
97
|
+
npm run test:visual
|
|
98
|
+
npm run desktop:tauri:check
|
|
99
|
+
npm run release:artifacts
|
|
100
|
+
npm run release:validate
|
|
101
|
+
node scripts/run_python.mjs scripts/wheel_smoke.py --wheel dist/ltcai-4.3.2-py3-none-any.whl
|
|
102
|
+
npm pack --dry-run
|
|
103
|
+
npm run docs:check-links
|
|
104
|
+
npm run vercel:build
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
For live integration tests, start a local backend first or set
|
|
108
|
+
`LTCAI_TEST_BASE_URL` to an already running test backend.
|
|
109
|
+
|
|
110
|
+
## Known Limitations
|
|
111
|
+
|
|
112
|
+
- v4.3.2 is not tagged or released by this preparation work.
|
|
113
|
+
- External registries are not published by this preparation work.
|
|
114
|
+
- Ask needs a loaded model for generated answers; no-model state is expected to
|
|
115
|
+
be honest rather than successful.
|
|
116
|
+
- PostgreSQL/pgvector and Docker flows are optional and consent-gated.
|
|
117
|
+
- Live Postgres migration validation is not part of this release-prep pass
|
|
118
|
+
without fresh explicit Docker consent.
|
|
119
|
+
- Vercel is documentation-only and intentionally does not host the product
|
|
120
|
+
runtime.
|
|
121
|
+
|
|
122
|
+
## Changed Files Since v4.3.1
|
|
123
|
+
|
|
124
|
+
Exact manifest prepared for review:
|
|
125
|
+
|
|
126
|
+
```text
|
|
127
|
+
.gitignore
|
|
128
|
+
ARCHITECTURE.md
|
|
129
|
+
FEATURE_STATUS.md
|
|
130
|
+
README.md
|
|
131
|
+
RELEASE.md
|
|
132
|
+
RELEASE_NOTES.md
|
|
133
|
+
RELEASE_NOTES_v4.3.2.md
|
|
134
|
+
SECURITY.md
|
|
135
|
+
docs/CHANGELOG.md
|
|
136
|
+
docs/V4_3_2_DOCUMENTATION_CLEANUP_REPORT.md
|
|
137
|
+
docs/V4_3_2_GITHUB_VERCEL_CHECK_REPORT.md
|
|
138
|
+
docs/V4_3_2_GRAPH_UX_REPORT.md
|
|
139
|
+
docs/V4_3_2_INDEPENDENT_AUDIT_PACKAGE.md
|
|
140
|
+
docs/V4_3_2_PRODUCT_POLISH_REPORT.md
|
|
141
|
+
docs/V4_3_2_SELF_AUDIT_REPORT.md
|
|
142
|
+
docs/V4_3_2_VALIDATION_REPORT.md
|
|
143
|
+
docs/V4_DIGITAL_BRAIN_RECOVERY.md
|
|
144
|
+
frontend/openapi.json
|
|
145
|
+
frontend/src/components/primitives.tsx
|
|
146
|
+
frontend/src/pages/Act.tsx
|
|
147
|
+
frontend/src/pages/Ask.tsx
|
|
148
|
+
frontend/src/pages/Brain.tsx
|
|
149
|
+
frontend/src/pages/Capture.tsx
|
|
150
|
+
frontend/src/pages/Library.tsx
|
|
151
|
+
frontend/src/pages/System.tsx
|
|
152
|
+
lattice_brain/__init__.py
|
|
153
|
+
latticeai/__init__.py
|
|
154
|
+
latticeai/core/marketplace.py
|
|
155
|
+
latticeai/core/multi_agent.py
|
|
156
|
+
latticeai/core/workspace_os.py
|
|
157
|
+
output/audits/v4.3.2-rc/gifs/graph-product-walkthrough.gif
|
|
158
|
+
output/audits/v4.3.2-rc/logs/archive-create.json
|
|
159
|
+
output/audits/v4.3.2-rc/logs/archive-import-dry-run.json
|
|
160
|
+
output/audits/v4.3.2-rc/logs/archive-verify.json
|
|
161
|
+
output/audits/v4.3.2-rc/logs/backup-health-after-ui.json
|
|
162
|
+
output/audits/v4.3.2-rc/logs/desktop-shutdown-after-fix.txt
|
|
163
|
+
output/audits/v4.3.2-rc/logs/desktop-sidecar-health-after-shutdown-fix.json
|
|
164
|
+
output/audits/v4.3.2-rc/logs/desktop-sidecar-health.json
|
|
165
|
+
output/audits/v4.3.2-rc/logs/graph-after-upload.json
|
|
166
|
+
output/audits/v4.3.2-rc/logs/readme-upload-note.json
|
|
167
|
+
output/audits/v4.3.2-rc/logs/self-audit-browser-results.json
|
|
168
|
+
output/audits/v4.3.2-rc/logs/storage.json
|
|
169
|
+
output/audits/v4.3.2-rc/logs/upload-note.json
|
|
170
|
+
output/audits/v4.3.2-rc/logs/workflow-create.json
|
|
171
|
+
output/audits/v4.3.2-rc/screenshots/01-first-startup.png
|
|
172
|
+
output/audits/v4.3.2-rc/screenshots/02-graph-explorer-before.png
|
|
173
|
+
output/audits/v4.3.2-rc/screenshots/03-graph-search.png
|
|
174
|
+
output/audits/v4.3.2-rc/screenshots/04-graph-collapse-group.png
|
|
175
|
+
output/audits/v4.3.2-rc/screenshots/05-graph-focus-neighborhood.png
|
|
176
|
+
output/audits/v4.3.2-rc/screenshots/06-brain-portability-backup.png
|
|
177
|
+
output/audits/v4.3.2-rc/screenshots/07-system-archive-flows.png
|
|
178
|
+
output/audits/v4.3.2-rc/screenshots/08-system-storage-status.png
|
|
179
|
+
output/audits/v4.3.2-rc/screenshots/09-workflow-create-run.png
|
|
180
|
+
output/audits/v4.3.2-rc/screenshots/10-agent-runtime-status.png
|
|
181
|
+
output/audits/v4.3.2-rc/screenshots/11-brain-network-device-identity.png
|
|
182
|
+
output/audits/v4.3.2-rc/screenshots/12-library-model-status.png
|
|
183
|
+
output/audits/v4.3.2-rc/screenshots/13-desktop-sidecar-startup.png
|
|
184
|
+
output/audits/v4.3.2-rc/screenshots/14-ask-context.png
|
|
185
|
+
output/audits/v4.3.2-rc/screenshots/15-capture-ingestion.png
|
|
186
|
+
output/audits/v4.3.2-rc/videos/graph-product-walkthrough.webm
|
|
187
|
+
package-lock.json
|
|
188
|
+
package.json
|
|
189
|
+
pyproject.toml
|
|
190
|
+
scripts/build_vercel_static.mjs
|
|
191
|
+
scripts/check_markdown_links.mjs
|
|
192
|
+
src-tauri/Cargo.lock
|
|
193
|
+
src-tauri/Cargo.toml
|
|
194
|
+
src-tauri/src/main.rs
|
|
195
|
+
src-tauri/tauri.conf.json
|
|
196
|
+
static/app/asset-manifest.json
|
|
197
|
+
static/app/assets/index-BhPuj8rT.js
|
|
198
|
+
static/app/assets/index-BhPuj8rT.js.map
|
|
199
|
+
static/app/assets/index-CHHal8Zl.css
|
|
200
|
+
static/app/assets/index-pdzil9ac.js
|
|
201
|
+
static/app/assets/index-pdzil9ac.js.map
|
|
202
|
+
static/app/assets/index-yZswHE3d.css
|
|
203
|
+
static/app/index.html
|
|
204
|
+
tests/visual/mock_server.cjs
|
|
205
|
+
tests/visual/v3.spec.js
|
|
206
|
+
vercel.json
|
|
207
|
+
vscode-extension/package-lock.json
|
|
208
|
+
vscode-extension/package.json
|
|
209
|
+
```
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Lattice AI v4.3.2 Product Polish Report
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-13
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
v4.3.2 removes end-user polish debt from the React/Vite desktop SPA while
|
|
8
|
+
preserving the v4.3.1 architecture and backend API contracts.
|
|
9
|
+
|
|
10
|
+
## Implemented
|
|
11
|
+
|
|
12
|
+
- Added structured render primitives for nested runtime data, operation
|
|
13
|
+
results, entity lists, and value previews.
|
|
14
|
+
- Replaced normal product JSON dumps in Brain, Ask, Capture, Act, Library, and
|
|
15
|
+
System with readable status panels and result cards.
|
|
16
|
+
- Kept technical identifiers visible when they matter, especially for agents,
|
|
17
|
+
storage, archive, and device identity records.
|
|
18
|
+
- Added System archive import dry-run and confirmed import controls backed by
|
|
19
|
+
existing `.latticebrain` archive APIs.
|
|
20
|
+
- Improved System status for health, storage mode, backup health, device
|
|
21
|
+
identity, Brain Network, hardening, security, admin, account, SSO, snapshots,
|
|
22
|
+
activity, and settings.
|
|
23
|
+
- Preserved honest unavailable states for optional models, Postgres, Docker,
|
|
24
|
+
sqlite-vec, external integrations, and unavailable runtime actions.
|
|
25
|
+
- Added app-level Tauri exit cleanup so the FastAPI sidecar is shut down on
|
|
26
|
+
normal macOS quit.
|
|
27
|
+
|
|
28
|
+
## Files Touched
|
|
29
|
+
|
|
30
|
+
- `frontend/src/components/primitives.tsx`
|
|
31
|
+
- `frontend/src/pages/Brain.tsx`
|
|
32
|
+
- `frontend/src/pages/Ask.tsx`
|
|
33
|
+
- `frontend/src/pages/Capture.tsx`
|
|
34
|
+
- `frontend/src/pages/Act.tsx`
|
|
35
|
+
- `frontend/src/pages/Library.tsx`
|
|
36
|
+
- `frontend/src/pages/System.tsx`
|
|
37
|
+
- `src-tauri/src/main.rs`
|
|
38
|
+
- `tests/visual/mock_server.cjs`
|
|
39
|
+
- `tests/visual/v3.spec.js`
|
|
40
|
+
|
|
41
|
+
## Evidence
|
|
42
|
+
|
|
43
|
+
- First startup: `output/audits/v4.3.2-rc/screenshots/01-first-startup.png`
|
|
44
|
+
- Brain portability and backup: `output/audits/v4.3.2-rc/screenshots/06-brain-portability-backup.png`
|
|
45
|
+
- System archive flows: `output/audits/v4.3.2-rc/screenshots/07-system-archive-flows.png`
|
|
46
|
+
- System storage status: `output/audits/v4.3.2-rc/screenshots/08-system-storage-status.png`
|
|
47
|
+
- Workflow create/run: `output/audits/v4.3.2-rc/screenshots/09-workflow-create-run.png`
|
|
48
|
+
- Agent runtime status: `output/audits/v4.3.2-rc/screenshots/10-agent-runtime-status.png`
|
|
49
|
+
- Brain Network and device identity: `output/audits/v4.3.2-rc/screenshots/11-brain-network-device-identity.png`
|
|
50
|
+
- Library model status: `output/audits/v4.3.2-rc/screenshots/12-library-model-status.png`
|
|
51
|
+
- Desktop sidecar startup: `output/audits/v4.3.2-rc/screenshots/13-desktop-sidecar-startup.png`
|
|
52
|
+
|
|
53
|
+
## Result
|
|
54
|
+
|
|
55
|
+
PASS. The visible product surfaces are now readable, API-backed, and explicit
|
|
56
|
+
about unavailable optional capabilities. No fake controls or demo-only screens
|
|
57
|
+
were added.
|