Commit Graph

175 Commits

Author SHA1 Message Date
298b2f5151 FRE-603: Fix code review blockers (memory leak + auth security)
- Fixed memory leak in PresenceManager: event handlers now use bound methods
  so they can be properly removed in shutdown()
- Removed auth token from URL query parameters (security: prevents token leakage
  to server logs and browser history)
- Fixed TypeScript errors: corrected WebsocketProvider import, removed unsupported
  send() calls, fixed type mismatches in presence callbacks
- All collaboration module files now type-check successfully

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-25 02:19:33 -04:00
b89575fb6e FRE-605: Implement Phase 4 Change Tracking & Merge Logic
- Create ChangeTracker class with full version history support
  - Document change recording with metadata
  - Snapshot creation and restoration
  - Change acceptance/rejection workflow
  - Change diff generation between snapshots
  - Event-based change notifications

- Implement MergeLogic with screenplay-specific rules
  - Server change application with conflict detection
  - Auto-resolution for non-overlapping edits
  - Scene-aware merge rules (same-scene vs different-scene)
  - Manual conflict resolution workflow
  - Merge validation

- Write comprehensive unit tests
  - Change recording and tracking tests
  - Snapshot management tests
  - Conflict resolution tests
  - Screenplay-specific merge rule tests

- Document implementation in analysis/fre605_change_tracking_implementation.md

Architecture: ChangeTracker integrates with Yjs document updates.
MergeLogic applies screenplay-specific rules for concurrent edits.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-25 02:14:54 -04:00
7c684a42cc FRE-600: Fix code review blockers
- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-25 00:08:01 -04:00
65b552bb08 Complete FRE-574 technical specifications
- Marked FRE-574 as done
- Unblocked FRE-588 (Database schema)
- All 12 child issues assigned to Founding Engineer
- 6/13 MVP subtasks complete (46%)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 18:07:15 -04:00
da0b3a4997 FRE-606: Add icon generation and tests for Tauri desktop
- Add generate-icons.sh script for cross-platform icon generation
- Generate all required icon sizes (32x32, 128x128, 256x256, 512x512)
- Create Windows .ico and macOS .icns icons
- Add Rust unit tests for core functionality
- Add tauri:test and tauri:icons npm scripts

New files:
- src-tauri/generate-icons.sh
- src-tauri/icons/32x32.png
- src-tauri/icons/128x128.png
- src-tauri/icons/128x128@2x.png
- src-tauri/icons/512x512.png
- src-tauri/icons/icon.ico
- src-tauri/icons/icon.icns
- src-tauri/icons/src/app-icon.svg
- src-tauri/icons/tray-icon.png
- src-tauri/src/tests.rs

Modified:
- src-tauri/src/lib.rs (added tests module)
2026-04-24 16:08:07 -04:00
36f9b420f5 FRE-608: Add Turso database setup with Drizzle ORM
- Create schema for users, projects, scripts, characters, scenes, revisions
- Implement DatabaseManager with connection pooling
- Implement EdgeDatabaseManager for multi-region replicas
- Implement DatabaseBackupManager with automated scheduling
- Generate initial migration with 9 tables
- Add seed script and documentation
- Configure Drizzle Kit for migration management
- Add NPM scripts for database operations

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 15:41:03 -04:00
0ba20e5b31 FRE-592: Fix 4 code review blockers (security + correctness)
- Add project ownership verification to relationship mutations (createRelationship,
  updateRelationship, deleteRelationship, getRelationshipsForCharacter)
- Add project ownership verification to getCharacter and getScene
- Add ownership check to projectProcedure middleware (hasProjectAccess)
- Fix searchCharacters filter combination bug (accumulate conditions instead of
  overwriting)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 10:13:49 -04:00
79d153f75a FRE-592: Fix remaining code review blockers and add tests
- Replace in-memory Maps with Drizzle ORM queries for all CRUD operations
- Use integer IDs matching SQLite schema instead of UUIDs
- Fix scriptId to projectId inconsistency in characters and scenes
- Add project ownership verification on all mutation procedures
- Make getCharacter/getScene procedures protected (not public)
- Proper JWT-based userId validation via context
- Add cascade delete for characters/relationships/scenes on project deletion
- Add verifyProjectOwnership helper for authorization checks
- Rewrite tests with createCallerFactory pattern for tRPC v11
- Use better-sqlite3 for in-memory test database
- Split vitest config into separate file from vite config
2026-04-24 08:31:42 -04:00
4d9b4ecf2a FRE-592: Address code review feedback
Fixes from review:
- Add DB-level unique constraint on character relationships
- Fix character stats to use sceneCharacters join table instead of text matching
- Add loading/error states to CharacterList, CharacterSearch, CharacterStatsPanel
- Add delete confirmation dialogs to CharacterProfile and CharacterRelationships

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 07:23:50 -04:00
ccbf3039d9 FRE-594: Implement revision tracking and version history system
Add complete revision tracking system for scripts with:
- Database schema for revisions and revision_changes tables
- Diff engine with color-coded change types (addition/deletion/modification)
- tRPC router with 14 endpoints (create/list/compare/rollback/branch/merge)
- SolidJS components: RevisionTimeline, DiffViewer, RevisionReview
- Unit tests for diff engine and router

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 05:54:06 -04:00
FrenoCorp Agent
8dc4827597 FRE-592: Implement character database and relationship mapping
Add full character management system with enriched profiles (bio, traits,
arcs, motivation, conflict, secrets), relationship mapping between
characters with types and strength, character search/filter by role and
arc type, and character statistics (scene count, dialogue, screen time).

Includes database schema, tRPC router procedures, SolidJS components,
API hooks, and unit tests.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 02:24:31 -04:00
0fcd91cf87 FRE-606: Add Tauri desktop framework with cross-platform support
- Configure Tauri v2 for macOS, Windows, Linux
- Implement native menu bar (File, Edit, View, Window, Help)
- Add system tray with show/hide/quit functionality
- Create auto-updater framework with periodic checks
- Set up window state persistence
- Configure plugins (fs, http, dialog, shell, store)
- Add build scripts for all platforms
- Include comprehensive documentation

Files:
- src-tauri/Cargo.toml
- src-tauri/tauri.conf.json
- src-tauri/build.rs
- src-tauri/src/main.rs
- src-tauri/src/lib.rs
- src-tauri/src/menu.rs
- src-tauri/src/tray.rs
- src-tauri/src/updater.rs
- src-tauri/Cargo.lock
- src-tauri/icons/tray-icon.svg
- src-tauri/tauri.build.conf
- src-tauri/README.md
- .gitignore
- package.json (Tauri CLI scripts)
2026-04-23 22:29:22 -04:00
Senior Engineer
adf453e245 FRE-586: Add core screenplay editor with auto-formatting engine
- types.ts: Screenplay element types, template configs, and interfaces
- format.ts: Auto-formatting engine with Standard, Sitcom, Podcast templates
- detect.ts: Element detection (scene headings, transitions, characters, parentheticals)
- ScreenplayEditor.tsx: Editor component with keyboard shortcuts and live formatting
- PreviewPanel.tsx: Real-time formatting preview panel
- detect.test.ts: 19 tests for element detection
- format.test.ts: 15 tests for formatting engine and templates
- Fixed transition regex to handle periods and other terminators
- All 34 tests passing
2026-04-23 07:42:58 -04:00
1c74a082e5 FRE-603: Add Presence & Visibility Layer UI components
- CollaboratorList: Display connected users with presence state
- RemoteCursorOverlay: Render remote cursors in editor
- EditingIndicator: Show active editors and their context
- Component index for clean imports
- Tests for CollaboratorList

Architecture:
- Polling-based presence updates (100ms for cursors, 500ms for editors)
- Color-coded user indicators
- Line:column cursor positioning
- Selection highlighting with transparency

Files:
- src/components/collaboration/collaborator-list.tsx
- src/components/collaboration/remote-cursor-overlay.tsx
- src/components/collaboration/editing-indicator.tsx
- src/components/collaboration/index.ts
- src/components/collaboration/collaborator-list.test.tsx

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-23 06:37:21 -04:00
ef1b15c9ea FRE-600: Implement Phase 1 WebSocket + Yjs CRDT foundation
- Create TypeScript and Vite configuration for SolidJS
- Implement Yjs document structure for screenplay collaboration
- Build WebSocket connection manager with exponential backoff reconnection
- Create CRDT document manager with undo/redo support
- Set up WebSocket sync server with JWT authentication
- Add SolidJS reactive bindings for Yjs shared types
- Build collaborative editor component
- Write unit tests for CRDT operations
- Document implementation in analysis/fre600_websocket_foundation.md

Architecture: Yjs chosen over Automerge for better ecosystem and
Tauri compatibility. WebSocket for sync, WebRTC for video.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-22 23:08:27 -04:00
6cf6858b1c FRE-574: Complete technical evaluation for WriterDuet competitor
- Validated tech stack (Tauri + SolidJS + TypeScript, Clerk, Turso, tRPC)
- Created 8 child issues to break down MVP work (FRE-586 through FRE-596)
- Defined technical KPIs (startup <2s, sync <100ms, coverage >80%)
- Timeline assessment: 6-month MVP is tight but achievable

Next: Assign child issues to Founding Engineer for execution.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-22 22:13:19 -04:00
3a31689f49 FRE-573: WriterDuet competitor plan with feature matrix, pricing analysis, and technical/marketing expectations for CTO and CMO 2026-04-22 21:16:47 -04:00
ea574c8257 Auto-commit 2026-04-02 12:59 2026-04-02 12:59:03 -04:00
ca55a64366 april fools ya goof 2026-04-01 15:43:42 -04:00
62f6157f43 drop skills from here 2026-03-31 14:06:06 -04:00
a8e6328d36 some plans and such 2026-03-29 09:15:40 -04:00
f37c4c28e2 drop memory 2026-03-24 21:32:08 -04:00
863a3d3fd3 moving things to specific repos 2026-03-22 19:20:43 -04:00
53082e4afd Draft Terms of Service document for Lendair platform FRE-483
- 22 sections: user accounts, loans, fees, collections, arbitration
- Platform fee: 1% lender origination, 2% borrower transaction
- Late fee:  or 5% after 5-day grace; default at 90 days
- Delaware law, binding arbitration, class action waiver
- Full risk disclosures for peer-to-peer lending
2026-03-22 18:16:59 -04:00
d0c0f98acb Add AI features scoping plan for Lendair
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-22 12:58:16 -04:00
86d309b5cc Update daily notes: break down FRE-449 into 6 implementation subtasks
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-22 01:59:06 -04:00
f6adc09d88 note for status setting 2026-03-20 12:11:53 -04:00
0b43b7158b memory reset 2026-03-20 07:56:52 -04:00
46433ab505 remove nessa specifics 2026-03-20 07:56:09 -04:00
74772039d4 Auto-commit 2026-03-19 17:07 2026-03-19 17:07:57 -04:00
ce3c8e020a agents: add Nessa codebase workflow instructions to all engineer agents 2026-03-19 16:37:05 -04:00
4abc47cd00 bit more clarity 2026-03-19 09:50:28 -04:00
d27d2680ca additional note to help nudge 2026-03-19 09:13:59 -04:00
90b785c084 Auto-commit 2026-03-18 22:15 2026-03-18 22:16:00 -04:00
1f8c566f2a reminder 2026-03-18 11:45:29 -04:00
20e1c4f33e mornin 2026-03-18 08:59:42 -04:00
2923182d18 bs 2026-03-18 01:13:30 -04:00
f7df9a13e9 nightnight 2026-03-18 01:00:29 -04:00
8fc9edf6b2 fixup 2026-03-17 23:54:41 -04:00
f86d395cb6 drop memory 2026-03-17 20:23:50 -04:00
d149d13b70 memory: Update daily notes with session recovery status 2026-03-17 07:52:41 -04:00
6f61ce6be8 memory: Daily notes updates for 2026-03-16 and 2026-03-17 2026-03-17 07:52:20 -04:00
9c3c0a1bf5 memory: Update daily notes for CMO, CTO, Founding Engineer, and Junior Engineer 2026-03-17 07:52:07 -04:00
44f7796102 missing 2026-03-16 11:57:02 -04:00
41eafcc8b9 old task removal 2026-03-16 01:57:03 -04:00
891b25318a Auto-commit 2026-03-15 02:40 2026-03-15 02:40:30 -04:00
d7a37079f1 juh 2026-03-14 22:24:32 -04:00
9966835172 Code review of completed engineering tasks: FRE-11, FRE-12, FRE-31, FRE-09, FRE-13, FRE-05, FRE-32 2026-03-14 21:28:40 -04:00
557bdc40d0 drop old 2026-03-14 19:42:59 -04:00
ae4b1f5bbe Merge: accept all theirs changes 2026-03-14 19:42:01 -04:00