fullsizemalt
cbaa341553
fix: Add updateSection API and backend route, fix page title
...
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Add updateSection to layoutApi.ts
- Add PATCH /sections/:id route with smart resizing logic
- Fix default page title in index.html
2026-01-01 15:33:40 -08:00
fullsizemalt
f534c9818e
fix: Fix z.record() Zod syntax for TypeScript compatibility
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2026-01-01 14:16:07 -08:00
fullsizemalt
d9d04045cb
feat: Add Rackula-inspired layout system with 2D editor
...
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Add PlantType model with Zod validation
- Add PlantType CRUD API routes
- Add 2D Layout Editor components (TypeLibrary, RackVisualizer, LayoutEditor)
- Add seed script with 21 common cannabis strains
- Add /layout-editor/:floorId? route
2026-01-01 14:12:03 -08:00
fullsizemalt
1950651102
feat: Implement Parametric Room Generation and Volumetric Plants
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-27 14:46:00 -08:00
fullsizemalt
820d345a0c
fix: Tasks API - map assigneeId query param to assignedToId schema field
...
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
Root cause: Prisma schema uses 'assignedToId' but getTasks was passing
'assigneeId' directly to the where clause, causing PrismaClientValidationError
2025-12-27 13:56:54 -08:00
fullsizemalt
ca8a3e8cee
refactor: Rebrand from 777wolfpack/CA Grow Ops to Veridian
...
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Update all frontend branding (Login, Splash, Layout, Navbar, etc.)
- Update page titles and breadcrumbs
- Update visitor components (Badge, CheckIn)
- Update deploy.sh and README
- Update test fixtures with new email domain
2025-12-27 11:24:26 -08:00
fullsizemalt
bfa3cd21cc
polish: Enhance demo data for Audit Logs and SOPs, fix photo delete bug
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Seed script now generates 100+ realistic audit logs
- Added Policy, Training, Form, and Checklist document types to seed data
- Fixed bug in photo deletion logic for older photos
2025-12-19 15:05:40 -08:00
fullsizemalt
cfaf5ebe2e
feat: add full hierarchy context for breadcrumb navigation
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Pass facility/building/floor/room context through component tree
- HierarchyContext interface in SmartRack
- Breadcrumb now includes full path: Facility → Building → Floor → Room → Section → Tier
2025-12-18 20:26:12 -08:00
fullsizemalt
f91fbc2237
feat: add Reseed Demo Plants button to DevTools (realistic plant layout)
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-18 12:00:22 -08:00
fullsizemalt
916aedb278
feat: add realistic plant placement script that keeps batches together by room/stage
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-18 11:49:23 -08:00
fullsizemalt
8916acbe4b
fix: correct 3D facility view navigation path (/facility-3d → /facility/3d)
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-18 11:43:25 -08:00
fullsizemalt
d01ef2f30c
fix: updated layout logic to organize legacy rooms and prevent overlaps
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-17 22:36:09 -08:00
fullsizemalt
073b1c7e16
chore: add plant population seed script
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-17 22:34:57 -08:00
fullsizemalt
bc78be380f
chore: add commonjs seed fix
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-17 16:13:52 -08:00
fullsizemalt
1701a046f6
feat: 3d viewer improvements and realistic seed data
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-17 16:10:14 -08:00
fullsizemalt
7e8e070d11
chore(seed): align seed.ts with seed.js using correct domain and roles
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-17 09:08:55 -08:00
fullsizemalt
04b926ea65
fix(seed): ensure metrc demo plants are created on Floor 1 and position status is updated to OCCUPIED
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-17 07:40:56 -08:00
fullsizemalt
dd647538c5
feat: complete METRC integration and 3D Facility Viewer
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Added METRC status badge to BatchesPage
- Implemented real 3D Facility Viewer using React Three Fiber
- Visualizes plants, rooms, sections from live data
- Added seed-metrc-demo.js for populating realistic METRC plant data
2025-12-17 03:27:25 -08:00
fullsizemalt
2036011fdc
fix: handle stale tokens by checking user existence before creating walkthrough
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 23:10:34 -08:00
fullsizemalt
1258aebb9f
fix: remove /api prefix from audit, documents, messaging, upload APIs
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
Same double /api/api issue that was in layoutApi
2025-12-12 22:28:20 -08:00
fullsizemalt
8b2c55c637
feat: add audit log demo data + spec kit compliance audit
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Added 15 audit log entries demonstrating various actions
- Created SPEC-KIT-AUDIT.md documenting feature completeness
- Actions: LOGIN, CREATE, UPDATE, DELETE, ACCESS, EXPORT, APPROVE
2025-12-12 22:21:11 -08:00
fullsizemalt
c7f8bc8cec
feat: walkthrough 'completed today' status + 3D viewer spec
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Added /walkthroughs/today API endpoint
- Show clear status when walkthrough is already completed
- Show 'Continue Walkthrough' for in-progress ones
- Added facility-3d-viewer.md spec
- Installed React Three Fiber dependencies
2025-12-12 22:17:10 -08:00
fullsizemalt
96c7a2bf75
fix: remove invalid posX, posY, notes from FacilityPosition seed
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 21:43:10 -08:00
fullsizemalt
b0cd3bdcf9
feat: add sections with plant positions to demo facility layout
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- 22 sections (tables/racks) across all rooms
- Each section has grid positions for plants
- Proper sizing in pixels for canvas rendering
- Veg, Flower, Mother, Dry, Cure rooms all have layout data
2025-12-12 21:41:33 -08:00
fullsizemalt
e02fdb0c45
feat: add facility structure to demo seed (property, buildings, floors, rooms)
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 20:45:37 -08:00
fullsizemalt
5c7a4b83c3
feat: comprehensive demo seed + paperless integration spec
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
Demo Seed (npm run seed:demo):
- 5 demo staff members
- 8 grow rooms
- 7 batches across all stages
- 292+ touch points with activity history
- 30 days of walkthrough history (with reservoir/irrigation/health checks)
- 9 SOPs and documents
- 12 supply items
- 7 tasks
- IPM schedules for active batches
- Weight logs
- 3 announcements
- 14 days time punch history
Paperless Integration Spec:
- API integration design for document archival
- Sync workflow (manual + automatic)
- Tagging conventions
- Document types
- Implementation phases
2025-12-12 20:37:28 -08:00
fullsizemalt
af3775c9b4
fix: correct document field names in demo seed
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 20:18:44 -08:00
fullsizemalt
f02f0dfe72
fix: correct walkthrough field names in demo seed
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 20:15:26 -08:00
fullsizemalt
981a8eded4
fix: correct touch point field names and enum values in demo seed
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 20:12:45 -08:00
fullsizemalt
f1f766a9c7
feat: separate demo seed from base seed
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
Base seed (npm run seed):
- Just roles + admin user for clean onboarding
Demo seed (npm run seed:demo):
- Complete 2025 operation data
- 5 demo staff members
- 7 batches across all stages
- Touch points history (50+ per batch)
- 30 days walkthrough history with reservoir/irrigation/health checks
- 11 SOPs and documents
- Supply inventory
- IPM schedules
- Weight logs
- Time punch history
- Announcements
2025-12-12 20:08:05 -08:00
fullsizemalt
eb5ebc610f
feat: room cards with color-coded headers + room detail page
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Room cards now have colored header backgrounds per type (VEG=green, FLOWER=purple, DRY=amber, CURE=orange, etc.)
- Cards are clickable, linking to /rooms/:id
- New RoomDetailPage with gradient header, sensor metrics with sparklines, active batches list
- Backend: GET /rooms/:id endpoint returns room with batches
2025-12-12 19:33:07 -08:00
fullsizemalt
e7be23cce4
feat: add batch detail endpoint and fix drill-down navigation
...
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
Backend:
- Add getBatchById controller with touch points and IPM schedule
- Add GET /batches/:id route
Frontend:
- Update Batch interface to include touchPoints
- BatchDetailPage now uses real touch points from API
- Better error handling on batch load failure
2025-12-12 19:04:16 -08:00
fullsizemalt
73958c5a5f
fix(backend): add auth middleware to walkthrough routes
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 1s
2025-12-11 20:29:50 -08:00
fullsizemalt
56c8e8bb8b
fix(schema): Add REVOKED to VisitorStatus enum
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
2025-12-11 14:11:28 -08:00
fullsizemalt
668e213cd8
fix(visitor): Remove global auth from Kiosk routes
...
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Removed global onRequest jwtVerify hook
- Added explicit auth check to secure routes (revoke, report)
- Kiosk check-in/out and create visitor are now public
2025-12-11 13:59:43 -08:00
fullsizemalt
15e1a8b199
feat(visitor): Implement Digital Badge System
...
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Added public /badges/:id route with BadgePage component
- Updated VisitorKiosk to display QR code upon check-in
- Backend now returns visitId in check-in response
- Added qrcode.react dependency
2025-12-11 13:51:47 -08:00
fullsizemalt
ed36645cc8
feat(api): Update section creation routes to support Tiers
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
2025-12-11 13:23:32 -08:00
fullsizemalt
3a11590795
feat(layout): Add Tiers to FacilitySection and Position
...
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Added 'tiers' to FacilitySection for multi-level racks
- Added 'tier' to FacilityPosition for Z-axis addressing
- Updated unique constraint for positions
2025-12-11 13:21:05 -08:00
fullsizemalt
1ef3dc0d80
fix(seed): Adjust Nutrient Management for 16-gal Test Stock
...
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Updated seed.js task to reflect 16-gallon test stock protocol (scaling factor 0.32)
- Updated Spec 006 with 16-gallon protocol details
- Updated validation targets (EC ~2.9 for Part A, ~1.69 for Part B/PZ)
2025-12-11 12:47:31 -08:00
fullsizemalt
3dad07de03
feat(seed): Add Nutrient Management protocols and Supplies
...
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Added Front Row Ag 3-2-2 Mixing Task to seed.js
- Added Front Row Ag nutrients and Phoszyme to demo supplies
- Created spec 013 (Facility Monitoring)
- Updated spec 006 (Cultivation) with nutrient protocols
2025-12-11 12:40:03 -08:00
fullsizemalt
da93320ccf
feat(layout): Add Ceiling Height and Tiers to Floor creation
...
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Added ceilingHeight and defaultTiers to FacilityFloor model
- Updated API routes and frontend client
- Updated AddFloorModal with new fields and clearer labels
2025-12-11 12:23:49 -08:00
fullsizemalt
0c970cadb7
fix(seed): Remove invalid createdById from Task creation in seed.js
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
2025-12-11 11:57:42 -08:00
fullsizemalt
76703aa500
fix(seed): Update seed.js SupplyCategory Enum values (NUTRIENTS -> OTHER)
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
2025-12-11 11:54:34 -08:00
fullsizemalt
9188d12475
fix(seed): Update seed.js with correct Role Enum values (GROWER, STAFF)
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
2025-12-11 11:51:00 -08:00
fullsizemalt
deadb04803
fix(backend): Add Batch-FacilityPlant relation and fix Prisma queries
...
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Added bi-directional relation between Batch and FacilityPlant in schema.prisma
- Fixed logic in insights.routes.ts to use simplified plant count query
- Fixed duplicate property in messaging.routes.ts findMany filter
- Fixed null/undefined type mismatch in audit.routes.ts extractClientInfo
2025-12-11 11:43:54 -08:00
fullsizemalt
4663b0ac86
feat: Navigation refactor with RBAC, DevTools for quick user switching, enhanced seed data
...
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Refactored navigation with grouped sections (Operations, Cultivation, Analytics, etc.)
- Added RBAC-based navigation filtering by user role
- Created DevTools panel for quick user switching during testing
- Added collapsible sidebar sections on desktop
- Mobile: bottom nav bar (4 items + More) with slide-up sheet
- Enhanced seed data with [DEMO] prefix markers
- Added multiple demo users: Owner, Manager, Cultivator, Worker
- Fixed domain to runfoo.run
- Added Audit Log and SOP Library pages to navigation
- Created usePermissions hook and RoleBadge component
2025-12-11 11:07:22 -08:00
fullsizemalt
558e0ac1e2
feat: Full Spec Kit compliance implementation
...
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
Photo Management (per specs/photo-management.md):
- Sharp integration for 3-size compression (thumb/medium/full)
- WebP output with 80-90% quality
- Client-side compression with browser-image-compression
- PhotoUpload component with camera/drag-drop support
- Upload API with bulk support and stats endpoint
Testing:
- Backend: Jest tests for all major API endpoints
- Frontend: Vitest tests for utilities and API clients
- CI: Updated Forgejo workflow for test execution
Specs (100% coverage):
- visitor-management.md (Phase 8)
- messaging.md (Phase 9)
- audit-and-documents.md (Phase 10)
- accessibility-i18n.md (Phase 11)
- hardware-integration.md (Phase 12)
- advanced-features.md (Phase 13)
Documentation:
- OpenAPI 3.0 spec (docs/openapi.yaml)
- All endpoints documented with schemas
2025-12-11 09:53:32 -08:00
fullsizemalt
32fd739ccf
feat: Complete Phases 8-13 implementation
...
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
Phase 8: Visitor Management
- Visitor/VisitorLog/AccessZone models
- Check-in/out with badge generation
- Zone occupancy tracking
- Kiosk and management pages
Phase 9: Messaging & Communication
- Announcements with priority levels
- Acknowledgement tracking
- Shift notes for team handoffs
- AnnouncementBanner component
Phase 10: Compliance & Audit Trail
- Immutable AuditLog model
- Document versioning and approval workflow
- Acknowledgement tracking for SOPs
- CSV export for audit logs
Phase 11: Accessibility & i18n
- WCAG 2.1 AA compliance utilities
- react-i18next with EN/ES translations
- User preferences context (theme, font size, etc)
- High contrast and reduced motion support
Phase 12: Hardware Integration
- QR code generation for batches/plants/visitors
- Printable label system
- Visitor badge printing
Phase 13: Advanced Features
- Environmental monitoring (sensors, readings, alerts)
- Financial tracking (transactions, P&L reports)
- AI/ML insights (yield predictions, anomaly detection)
2025-12-11 00:26:25 -08:00
fullsizemalt
e240ec7911
feat(phase2): Implement Phase 2 - Plant Touch Points & IPM
...
Added PlantTouchPoint and IPMSchedule models. Implemented touch-points and IPM controllers/routes. Updated frontend with Dashboard feed and IPM widgets.
2025-12-09 21:22:47 -08:00
fullsizemalt
f95b626724
feat: Shopping List UI + Roadmap Update
...
📦 Shopping List Feature (Phase 3A)
- Full SupplyItem model with Vendor & ProductUrl
- Shopping List / Inventory toggle
- Add Item Modal (Category, Thresholds, Vendor info)
- 'Order Now' external link logic
- 'Mark Ordered' tracking
- Quantity +/- adjustments
📅 Roadmap Update:
- Defined Unified Master Calendar (Phase 4)
- Added granular toggles (Emp Schedules, Taxes, Compliance, Plant Cycle, etc.)
🚀 Status:
- Backend deployed (Schema synced)
- Frontend deploying...
2025-12-09 15:26:35 -08:00