3.2 KiB
3.2 KiB
MVP Verification
Backend
Run:
Set-Location backend
go test ./... -v
Expected: all backend tests pass.
PostgreSQL Integration
Set DATABASE_URL to the live PostgreSQL test database before running integration checks. Do not commit real credentials.
Run:
Set-Location backend
go test -tags integration ./internal/models -run TestPostgresPing -v
Expected: TestPostgresPing passes.
Web
The primary frontend is the React + Arco Design client under apps/web_v1.
Run:
Set-Location apps/web_v1
node scripts/visual-check.mjs
npm run build
npm run lint
Expected: visual smoke checks, production build, and lint pass.
Desktop
Run:
Set-Location apps/web_v1
npm run build
Set-Location ../desktop
npm run build
Expected: the Tauri desktop executable builds when Rust/Cargo is installed and the stable Rust toolchain is complete.
Installer packaging is a separate step:
Set-Location apps/desktop
npm run bundle
Current machine status:
- Cargo and rustc are installed under
%USERPROFILE%\.cargo\bin. - If the current shell does not see Cargo yet, prepend
%USERPROFILE%\.cargo\bintoPATHor open a new terminal. npx tauri build --no-bundle --verbosepasses and producesapps/desktop/src-tauri/target/release/senlinai_workbench.exe.- Full installer bundling through
npm run bundlecurrently times out in the Tauri CLI bundling stage on this machine before producingtarget/release/bundleartifacts.
Latest Audit Verification
Last audited: 2026-07-18.
backend:go test ./... -vpassed.apps/web_v1:node scripts/visual-check.mjspassed.apps/web_v1:npm run buildpassed.apps/web_v1:npm run lintpassed.apps/desktop:npx tauri build --no-bundle --verbosepassed and produced the desktop executable.apps/desktop: installer packaging is still blocked by Tauri CLI bundling timeout on the current machine.
Audit fixes included:
- Signed expiring auth session tokens replaced forgeable
user:<id>tokens. - Project and inbox HTTP handlers now read the authenticated user from bearer middleware instead of hard-coding user
1. - Project dashboard loading now checks project ownership before returning counters.
- Inbox confirmation preserves provenance with
source_inbox_item_idon generated tasks, notes, and sources. - Task sharing now rejects note/source links from another project.
- AI user keys are encrypted before storage, decrypted on selection, and can be checked with a per-user action rate limit.
- Web API calls use the backend
/apiprefix, and the active client is now the React + Arco Design workbench.
Manual MVP Flow
- Open the client and enter the server IP or domain on the login screen.
- Create or log in as a private-deployment user.
- Create a project.
- Add text to project inbox.
- Click Analyze/Organize.
- Confirm one task and one note from the suggestion list.
- Assign the task to another system user.
- Explicitly share one note with the task.
- Search for text from the note body in global search.
- Open an AI session under the project and reference the note.
- Use Tauri quick capture to send text into the active project inbox.