2.9 KiB
2.9 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/db -run TestPostgresPing -v
Expected: TestPostgresPing passes.
Web
The frontend is Svelte-only.
Run:
Set-Location apps/web
npx tsc --noEmit -p tsconfig.app.json
npm test -- --run
npm run build
npx playwright test
Expected: TypeScript check, component tests, production build, and Playwright smoke/E2E tests pass.
Desktop
Run:
Set-Location apps/web
npm run build
Set-Location ../desktop
npm run build
Expected: Tauri desktop bundle builds when Rust/Cargo is installed and the stable Rust toolchain is complete.
Current machine status:
rustupwas installed through winget.- The latest desktop build attempt fails before project compilation because
cargois not available on PATH:program not found. - Desktop verification remains blocked until Rust/Cargo is installed and visible to the shell. Then run
npm run buildfromapps/desktop.
Latest Audit Verification
Last audited: 2026-07-18.
backend:go test ./... -vpassed.apps/web:npx tsc --noEmit -p tsconfig.app.jsonpassed.apps/web:npm test -- --runpassed.apps/web:npm run buildpassed.apps/web:npx playwright testpassed.apps/desktop:npm run buildblocked by missing Cargo/Rust toolchain 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 now use the backend
/apiprefix and the Svelte shell includes an inbox suggestion confirmation E2E path.
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.