Theme: Testing + CI Foundation
Problem
None of the four apps has any automated tests (only tsconfig.json files exist; namespace-notes/server's test script is a placeholder that exits 1). With no tests, the dependency-major and SDK-upgrade work (#74) cannot be proven safe beyond build success.
Proposed fix
Add a light but real test layer per app, fitting each stack:
Acceptance criteria
Blast radius
safe — additive test code only.
Dependencies
Depends on #71 (CI matrix to run the tests). Complements #72 (server security fixes get regression coverage).
Theme: Testing + CI Foundation
Problem
None of the four apps has any automated tests (only
tsconfig.jsonfiles exist;namespace-notes/server'stestscript is a placeholder that exits 1). With no tests, the dependency-major and SDK-upgrade work (#74) cannot be proven safe beyond build success.Proposed fix
Add a light but real test layer per app, fitting each stack:
namespace-notes/server(highest value — holds the security-sensitive storage/controller logic from Resolve 13 open code-scanning alerts in namespace-notes (path-injection, SSRF, rate-limiting) #72): unit tests for the path-confinement guard and controllers; mock S3/network; API-layer tests withsupertest.legal-semantic-search,pinecone-assistant,namespace-notes/client): component/util unit tests with Testing Library + a test runner (vitest/jest); mock external calls withmsw.shop-the-lookFastAPI backend:pytestwith the Starlette/httpxtest client; mock Pinecone and Google auth.Acceptance criteria
Blast radius
safe— additive test code only.Dependencies
Depends on #71 (CI matrix to run the tests). Complements #72 (server security fixes get regression coverage).