Commit Graph

110 Commits

Author SHA1 Message Date
cb81cec62a docs(roadmap): record p0.3 commit hash 2026-05-05 01:11:47 -07:00
5c02ce4ae6 docs(roadmap): record baseline verification failures 2026-05-05 01:11:34 -07:00
4eb3ada301 docs(roadmap): record p0.2 commit hash 2026-05-05 01:10:55 -07:00
282bb8d6fa fix(deps): link common platform workspace 2026-05-05 01:10:43 -07:00
e9e757a56a docs(roadmap): record p0.1 commit hash 2026-05-05 00:09:18 -07:00
fa30191efa docs(roadmap): record baseline git status 2026-05-05 00:09:06 -07:00
244b59150e docs(roadmap): add production readiness handoff 2026-05-04 23:42:35 -07:00
saravanakumardb1
f2d03d01fc docs(palace): update roadmap — mark all phases complete with commit hashes + test counts 2026-04-10 10:22:42 -07:00
saravanakumardb1
e6a0e7e85c docs(palace): mark N7 web UI phase complete in roadmap 2026-04-10 01:47:19 -07:00
saravanakumardb1
471660b771 docs(palace): mark Phase N6 complete in roadmap 2026-04-10 01:37:47 -07:00
saravanakumardb1
5ce5a4b3cc docs(palace): mark Phase N5 complete in roadmap 2026-04-10 01:35:44 -07:00
saravanakumardb1
793c25cded docs(palace): mark Phase N3 complete in roadmap 2026-04-10 01:30:33 -07:00
saravanakumardb1
aa675e855b docs(palace): mark Phase N2 complete in roadmap 2026-04-10 01:27:31 -07:00
saravanakumardb1
37fba5d4a5 docs(palace): mark Phase N4 complete in roadmap 2026-04-10 01:25:25 -07:00
saravanakumardb1
d9d0cffc8d docs(palace): mark Phase N1 complete in roadmap 2026-04-10 01:20:08 -07:00
saravanakumardb1
69a3706615 docs(palace): mark Phase N0 done — @bytelyst/palace d1c6cf4 (91 tests) 2026-04-10 01:07:14 -07:00
saravanakumardb1
f1c08d1a83 docs: update AGENTS.md test counts and SMART_ACTIONS_ROADMAP Phase 6 status (G20) 2026-04-06 13:44:41 -07:00
saravanakumardb1
093da76eee feat(smart-actions): add run-stream SSE, history endpoint, weekly-digest template, web client functions (G1-G5) 2026-04-06 13:27:02 -07:00
saravanakumardb1
3f903a7a70 docs: mark 7 open review findings as resolved in SMART_ACTIONS_ROADMAP
- #8 (embeddings): @bytelyst/llm embed() already implemented in all providers
- #9 (voice transcription): POST /api/transcribe added to extraction-service
- #10 (URL-extract phase): already implemented in Phase 1
- #11 (webhook container): note_prompt_webhooks already in cosmos-init.ts
- #12 (LLM factory vs config): clarified, no conflict
- #13 (streaming): chatCompletionStream() already in OpenAI/Azure/Mock
- #14 (CopilotAction expansion): fix-rewrite, change-tone, continue, explain added

All 18 findings now resolved or noted. Zero open items remain.
2026-04-06 11:12:24 -07:00
saravanakumardb1
3260b7ea0a feat(smart-actions): F1-F4 inline editor AI, F15-F19 mobile capture modes, F25-F27 scheduler/webhooks/approval
F1-F4: Inline editor AI
- Backend: expand CopilotAction with fix-rewrite, change-tone, continue, explain
- Backend: add tone parameter to copilot route for change-tone action
- Web: copilot-client adds CopilotTone type and tone parameter
- Web: NoteEditor toolbar gains AI row with Fix & Rewrite, Change Tone dropdown,
  Continue Writing (appends at cursor), Explain (inline popover)

F15-F19: Mobile capture enhancements
- Backend: POST /note-prompts/url-extract endpoint (fetch, strip HTML, LLM summarize)
- Mobile API: extractFromUrl() and copilotTransform() client functions
- Mobile: capture tab rewritten with 6 capture modes grid (text, photo, voice,
  URL, scan, paste) — URL extract + clipboard paste fully wired, camera/voice/scan
  surface native permission prompts (require expo-av/expo-image-picker)
- expo-clipboard added as dependency

F25-F27: Scheduled actions, webhook triggers, approval-gated actions
- New scheduler.ts module with PromptScheduleDoc + PromptWebhookDoc types
- Schedule CRUD: GET/POST/PATCH/DELETE /prompt-schedules
- Webhook CRUD: GET/POST/PATCH/DELETE /prompt-webhooks
- POST /prompt-webhooks/:id/trigger — execute template against note
- Scheduler loop (60s tick) with cron next-run calculation
- Diagnostics endpoint: GET /prompt-schedules/diagnostics
- Cosmos containers: note_prompt_schedules, note_prompt_webhooks
- PromptTemplateDoc gains requiresApproval field (F27)
- Runner produces approvalState: proposed|applied based on template flag
- Create/Update schemas accept requiresApproval boolean
2026-04-06 10:25:34 -07:00
a697752d15 feat: implement WEB_AI_FAST_ROADMAP (web + backend + docs)
Phase 1: Command palette (⌘K), editor autosave with quiet auto-saves, dashboard
saved views from API + quick links + onboarding seed CTA, explicit task scan panel.

Phase 2: Context pack formatter with YAML frontmatter, copy on note + workspace .md export.

Phase 3: ADR for hybrid search without embeddings; POST /notes/search (lexical +
ranked hybrid); search UI mode toggle.

Phase 4: POST copilot + suggest-title; in-editor copilot actions; /chat retrieval
answers with citations (backend chat.rag_enabled).

Phase 5: Settings MCP snippet, offline queue note, API token deferral; DEEP_LINKS.md.

Phase 6: Note shares + public GET; share page; POST onboarding-seed.

Phase 7: note_versions on PATCH; version panel; create-note templates; PWA manifest.

Flags: search.hybrid_enabled, copilot.enabled, chat.rag_enabled, onboarding.seed_enabled.
Made-with: Cursor
2026-03-31 13:00:36 -07:00
1fa7e29691 docs: link PRD from WEB_AI_FAST_ROADMAP companion list
Made-with: Cursor
2026-03-31 12:50:26 -07:00
6dc5464dd5 docs: add WEB_AI_FAST_ROADMAP and index cross-links
- New phased plan for web (command palette, autosave, saved views, task scan,
  context packs, semantic search, copilot, MCP onboarding, sharing, polish)
- Link from AGENT_TASK_ROADMAP; index entry in ROADMAP.md
- Fix task-summary table total row; rename meta sections to avoid clash with Phase N

Made-with: Cursor
2026-03-31 12:50:21 -07:00
85292b61dc docs(mobile): checkboxes for auth-gated hydrates, telemetry flush, tests
- AGENT_TASK_ROADMAP: Current State + remaining gaps
- MOBILE_DELEGATION: Remaining/deferred table, Block A/G/H, audit follow-up

Made-with: Cursor
2026-03-31 01:51:11 -07:00
4ee604be76 docs(mobile): post-review gaps in AGENT + MOBILE_DELEGATION roadmaps
- AGENT_TASK_ROADMAP: mobile summary row, dated bump, ordered gap list → blocks
- MOBILE_DELEGATION_ROADMAP: post-review checklist table + NomGap SDK note

Made-with: Cursor
2026-03-31 01:36:57 -07:00
saravanakumardb1
db2874174b feat(mobile): blob upload abstraction via shared blobClient (Block F)
- Create mobile/src/api/blob-upload.ts with uploadNoteAttachment() and uploadNoteImage()
- All mobile uploads route through shared blobClient from lib/platform.ts
- No duplicate SAS logic or raw fetch paths
- Update MOBILE_DELEGATION_ROADMAP to mark Block F complete
2026-03-31 01:32:30 -07:00
saravanakumardb1
cfcb25e379 docs(mobile): add post-completion audit summary to MOBILE_DELEGATION_ROADMAP
- Document 7 bugs/gaps found and fixed during systematic review of blocks A–H
- Note remaining blocks F and I as deferred/optional
2026-03-31 01:19:41 -07:00
saravanakumardb1
a761ec9ee0 docs(mobile): update roadmap with Block H completion and commit links 2026-03-31 00:44:03 -07:00
saravanakumardb1
5f231816bd docs(mobile): mark block G done with commit link 2026-03-31 00:24:48 -07:00
saravanakumardb1
a9172e4230 docs(mobile): mark block E done with commit link 2026-03-31 00:18:58 -07:00
saravanakumardb1
c37d6443f4 docs(mobile): mark block D done with commit link 2026-03-31 00:11:38 -07:00
saravanakumardb1
d26d9946b3 docs(mobile): mark block C done with commit link 2026-03-31 00:04:03 -07:00
saravanakumardb1
97c9eaed24 docs(mobile): mark block B done with commit link 2026-03-30 23:58:37 -07:00
saravanakumardb1
8162a086d1 docs(mobile): mark block A done with commit link 2026-03-30 23:56:56 -07:00
8aff92d6b2 docs(mobile): add MOBILE_DELEGATION_ROADMAP for NoteLett
- Sequential blocks A–I (auth, kill switch, broadcast/survey, feedback,
  offline queue, blob, health, RNTL, optional sync) with file paths under mobile/
- Cross-link from AGENT_TASK_ROADMAP Current State section

Made-with: Cursor
2026-03-30 23:48:38 -07:00
fbd299d386 docs: update roadmap — mark Phase 4 and 5 complete with commit links
Made-with: Cursor
2026-03-29 20:58:02 -07:00
a5b0a89527 feat: add Pagination component, file upload, fix N+1, remove unused deps
Phase 3 (Web UX Polish) of the execution roadmap:
- Add reusable Pagination component for list views
- Fix getNoteDetail to avoid fetching all notes when workspaceId is unknown
- Add file upload button to ArtifactPanel using uploadArtifact() from blob-client
- Remove unused zustand and zod from web dependencies
- SSR safety already addressed via existing lazy-init patterns

Made-with: Cursor
2026-03-29 20:49:13 -07:00
8d84bcb841 feat: add DELETE endpoints, role enforcement, telemetry and feature flags
Phase 2 of the execution roadmap:
- Add DELETE endpoints for notes (soft-delete), workspaces, tasks, artifacts, relationships
- Add requireWriter() role enforcement on all write routes (POST/PATCH/DELETE)
- Activate trackEvent() telemetry on note.created, note.updated, note.archived, workspace.created
- Gate notes search behind isFeatureEnabled('notes.enabled')
- Update all test mocks to include role and new auth exports

Made-with: Cursor
2026-03-29 20:47:12 -07:00
839218a19c feat: add auth pages, AuthGuard, Tiptap editor, workspace CRUD, toast notifications
Phase 1 of the execution roadmap:
- Build login, register, forgot-password pages using useAuth() from @bytelyst/react-auth
- Add AuthGuard with kill-switch check wrapping (app) routes
- Replace plain textarea NoteEditor with Tiptap rich text editor
- Add workspace create/delete with CreateWorkspaceModal
- Wire sonner toast notifications on all mutation handlers

Made-with: Cursor
2026-03-29 20:38:33 -07:00
f308a362fd fix(docs): correct agent task roadmap after codebase verification
- Add Phase 0: 5 backend @bytelyst/* packages missing from common_plat
  (backend-config, backend-flags, backend-telemetry, fastify-auth,
  field-encrypt) — shared blocker with NomGap
- Remove dead-code deletion task: mock-data.ts and review-data.ts
  already do not exist
- Flag stale .env.example product identity (agentic-notes → notelett)
- Note that Gitea CI is already active alongside disabled GitHub CI
- Update task counts (28 → 32) and effort estimates

Made-with: Cursor
2026-03-29 19:25:38 -07:00
6be7ee470f docs: add agent task roadmap for delegated execution
Systematic review identified 28 tasks across 6 phases covering
auth UI, backend hardening, web UX polish, MCP wiring, and DevOps.

Made-with: Cursor
2026-03-29 19:21:29 -07:00
saravanakumardb1
6babe05560 docs: update IMPLEMENTATION_TRACKER, AGENTS, GAP_ANALYSIS to reflect completed implementation [E1]
- IMPLEMENTATION_TRACKER: all 8 phases marked complete with commit SHAs
- IMPLEMENTATION_TRACKER: progress log updated with all 8 commits
- IMPLEMENTATION_TRACKER: test target summary updated with actual final numbers (117 tests)
- AGENTS.md: test counts updated (80 backend, 14 web, 23 mobile)
- AGENTS.md: repo layout updated (CreateNoteModal, LinkNoteModal, Dockerfiles, CI, stores)
- AGENTS.md: 6 new API endpoints documented (archive, restore, summarize, export, search)
- GAP_ANALYSIS.md: current state summary updated with final counts
- GAP_ANALYSIS.md: totals table updated with actual results
2026-03-19 09:05:39 -07:00
saravanakumardb1
ee586065dd refactor(web+backend): consolidate types, optimize N+1 queries [D1, A3, A4, D2]
- types.ts: consolidate NoteDoc, WorkspaceDoc, NoteAgentActionDoc etc. from client files
- notes-client.ts: import from types.ts, optimize getNoteDetail with direct GET /notes/:id
- review-client.ts: import from types.ts, use /note-agent-actions/pending (eliminates N+1)
- notes-client.ts: use /workspaces/summaries (eliminates fetch-all-notes for counts)
- backend: add GET /workspaces/summaries with noteCount per workspace
- backend: add GET /note-agent-actions/pending (cross-workspace)
- backend: add countNotesByWorkspaces + listPendingActions repository functions
- Add createNote, archiveNote, restoreNote, createNoteRelationship client functions
- Fix existing tests for new route counts and mock order
2026-03-19 07:32:54 -07:00
saravanakumardb1
e50df779da docs: fix 7 inaccuracies in implementation tracker after systematic review
Corrections:
- Remove duplicate task 7.3 (Gap A4 already in Phase 2 task 2.3), renumber
- Fix task 3.5: remove false DELETE claim (note-relationships has GET+POST only)
- Fix task 1.2: add note about removing dead 'export { blobClient }' re-export
- Fix 'How to Use' parallelization: Phase 5 needs Phase 1 only, not Phase 3
- Add phase-level [ ] checkboxes to all 8 phase headers
- Align Phase 3 test target: '60+' → '~60-75' (matches summary table)
- Fix Phase 7 effort estimate (4-5h → 3-4h after removing duplicate task)
- Fix test target summary to use ranges instead of single estimates
2026-03-19 07:15:26 -07:00
saravanakumardb1
1d068e748c docs: add detailed implementation tracker with 8 phases and 35 checkbox tasks
Derived from GAP_ANALYSIS.md (25 gaps across 5 categories).
Structured as 8 sequential phases with:
- Per-task checkboxes with gap IDs for traceability
- Specific file paths and code patterns for each fix
- Verification commands per phase
- Commit message conventions
- Test target summary (30→132 tests across all surfaces)
- Progress log table for tracking commits
- Deferred items (B4 webhooks, B5 sharing, E2 WINDSURF_CONTEXT)

Phases: 1-Bug Fixes, 2-Code Quality, 3-Backend Tests,
4-Web Features, 5-DevOps, 6-E2E+Mobile Tests,
7-AI Enrichment, 8-Docs Alignment
2026-03-19 07:09:47 -07:00
saravanakumardb1
ee033f4eab docs: fix 8 inaccuracies in gap analysis after systematic self-review
Corrections:
- Remove D5 (factually wrong — backend tsconfig already excludes test files)
- Fix web component count 12→10, lib file count 11→18
- Fix B1 title: 'No note delete' → 'No note restore' (PRD says archive/restore)
- Add A6: notes-client.ts missing 'use client' (fragile SSR import chain)
- Expand A1 to include blob-client.ts module-scope instantiation
- Note telemetry/flags/kill-switch are lower risk (client-only imports)
- Strengthen D3/D4: confirmed zero-import dead code, not just 'unclear'
- A5: note that auth.test.ts and MCP tests do have real behavior tests
- Update bug count 5→6, total gaps 29→25
2026-03-19 07:06:05 -07:00
saravanakumardb1
513ee5a6a5 docs: comprehensive gap analysis — 29 numbered gaps across 5 categories
Systematic audit of backend (7 modules, 24 tests), web (6 pages, 12
components, 6 tests), and mobile (4 tabs, 0 tests) against PRD.

Key findings:
- 5 bugs (extraction-client SSR crash, missing standalone output,
  N+1 queries, registration-only backend tests, tsconfig exclude)
- 8 missing features (no web note create, no import/export, no
  sharing, no summarization, no relationship UI, zero mobile tests)
- 5 DevOps gaps (no Dockerfiles, no docker-compose, no CI, no E2E)
- 5 code quality issues (duplicate types, mock-data leftovers, N+1)
- 2 documentation gaps (roadmap checklists not updated)

Includes 7-sprint prioritized implementation plan with estimates.
2026-03-19 06:56:24 -07:00
saravanakumardb1
d09259c42e docs: update AGENTS.md + ROADMAP.md with all completed features, register saved_views container
- AGENTS.md: added saved-views module, lib/platform.ts, batch-review endpoint, saved-views endpoints, blob-client to shared packages, 7 Cosmos containers, keyboard shortcuts + debounce hooks
- ROADMAP.md: 6 new commit entries, all blockers/deferrals marked resolved
- cosmos-init.ts: registered saved_views container with /userId partition

All 3 surfaces verified: backend 18/18, web 6/6, mobile typecheck pass.
2026-03-10 19:45:13 -07:00
saravanakumardb1
9d392eab39 docs: add AGENTS.md, README.md, and update roadmap with session commit refs
- AGENTS.md: full AI agent onboarding guide following ecosystem conventions
- README.md: quick start, architecture overview, env setup, test commands
- ROADMAP.md: added commit references for identity lock, MCP tools, platform integrations, blob client
- Marked resolved blockers (product identity, blob artifacts)
2026-03-10 19:01:48 -07:00
saravanakumardb1
e1fde25afd feat(identity): lock NoteLett product identity across all surfaces
- productId: notelett
- displayName: NoteLett
- domain: notelett.app
- iOS bundle: com.bytelyst.notelett
- Android bundle: com.notelett.app
- backend port: 4016
- token namespace: --nl-* (CSS), NoteLettTheme (native)

Rippled through:
- shared/product.json (canonical source)
- backend package.json, config, cosmos-init, all 10 test files
- web package.json, landing page, notes-client test
- mobile app.json, package.json, auth screen
- docs: PRD, ROADMAP, architecture review, foundations, web/mobile roadmaps
- registered in learning_ai_common_plat/products/notelett/

Verification: backend typecheck + 18 tests, web typecheck + 6 tests, mobile typecheck — all pass.
2026-03-10 18:47:01 -07:00