COS-DSN-001

Design Queue — Coral & CAD Work

Module Design
Status READY
Phase 1
Dependencies COS-RTE-001
Downstream COS-DSN-002
Last Updated June 2026

Purpose

The designer sees their prioritised queue, picks up a job, accesses the brief and reference images in a secure read-only view, completes their design in their local tool, and submits the file back into the system — without needing WhatsApp for any part of this.

Actors

Actor Type Role
Coral designer (Saurabh / Suresh / Ganesh) Freelance Works on 2D Coral layouts
CAD designer (Calcutta team) Internal Works on 3D CAD files
Anupam Internal CAD queue head, monitors, does internal QC

Trigger

Job state = COREL_QUEUED or CAD_QUEUED. Job appears in designer queue.

Full Flow

1. Designer opens their queue (mobile or web)
2. Jobs listed by AI priority score
3. Designer taps "Start Work" on top job
4. System:
   → state = COREL_IN_PROGRESS | CAD_IN_PROGRESS
   → current_owner_id = designer
   → SLA timer starts
   → job_event { event_type: "work.started" }
5. Designer views brief:
   → Category, metal, stones, budget, instructions
   → Reference images (watermarked, read-only)
   → Customer history notes
   → Estimated weight range + diamond range (auto from budget formula)
   → Prior designs for this customer in same category
6. Designer works in local tool (Coral Draw or Rhino/Matrix)
   — outside the system on their workstation
7. Designer uploads completed work:
   → Coral: image file (JPG/PNG)
   → CAD: .3dm file + render image + weight report
8. Designer fills submission form (weight, carats, notes)
9. Designer taps "Submit for Review"
10. System:
    → Stores file: jobs/<job_id>/design/v<n>.<ext>
    → state = COREL_SUBMITTED | CAD_SUBMITTED
    → Notifies Anupam (CAD) or RM (Coral)
    → job_event { event_type: "design.submitted" }

Queue Card

┌─────────────────────────────────────────────┐
│ CJ-2026-001234          [Hip Hop] [Pendant] │
│ Client: Icechamp         Priority: ●●●●○    │
│                                             │
│ [ref image]  $8,000 · 14kt WG              │
│              Natural VVS · Bussdown         │
│                                             │
│ Received: 2h 14m ago    SLA: 21h 46m left  │
│                              [Start Work]   │
└─────────────────────────────────────────────┘

SLA turns yellow at 50% elapsed, red at 80%.

File Versioning

jobs/CJ-2026-001234/design/v1_coral.jpg
jobs/CJ-2026-001234/design/v2_coral.jpg     ← if revised
jobs/CJ-2026-001234/design/v1_cad.3dm
jobs/CJ-2026-001234/design/v1_cad_render.png
jobs/CJ-2026-001234/design/v1_cad_weight.pdf

Old versions never deleted.

Business Rules

Rule Detail
One job IN_PROGRESS at a time per designer Prevents pile-up
CAD: weight + carat required on submit Blocks submission without these — needed for pricing
Coral: approx carat required on submit Needed for pricing estimate
SLA breach Alert designer → Alert Anupam (L1) → Alert Aayushi (L2)
Watermarking Reference images watermarked with customer name + date. Originals untouched.
Air-gap Brief on mobile/tablet only. Files transferred to workstation via secure channel.
Weight > 30% over budget System warning on submit. Designer must acknowledge.

API Endpoints

GET  /queues/:queue_name/jobs?designer_id=:id
POST /jobs/:job_id/start-work
GET  /jobs/:job_id/brief
POST /jobs/:job_id/design-submit
  Body: { file uploads, weight_g, carats, notes }
GET  /jobs/:job_id/files

Out of Scope

Item Handled in
Internal review COS-DSN-002
AI manufacturability check COS-AIE-001
Pricing COS-PRC-001