Requirements

Requirements

55 requirements

RequirementDescriptionDatasetPriorityStatusUpdated Sort by last updatedActions
REQ-201The document requires that customer data be renamed to 'customer_thai' and the 'fax' field must be changed to 'address', with all new data entries being formatted as a comma-separated pair of 'customer_id,address'.albumlowactiveSep 30, 2026, 8:21 AMView · Edit
REQ-CHINOOK-001Pipeline ที่นำเข้าข้อมูลจากตาราง track ต้องตรวจสอบ Schema ก่อนประมวลผล โดยต้องตรวจสอบว่าคอลัมน์ที่จำเป็นยังมีอยู่และชนิดข้อมูลไม่เปลี่ยนแปลง หากพบการเปลี่ยนแปลงที่ไม่เข้ากัน ต้องหยุดการประมวลผลของขั้นตอนถัดไป และต้องบันทึกเหตุการณ์ Schema Drift พร้อมระบุคอลัมน์ที่มีการเปลี่ยนแปลงไว้สำหรับตรวจสอบย้อนหลังcustomerlowactiveSep 30, 2026, 9:03 AMView · Edit
REQ-COPILOT-001Copilot routing-layer regression coverage.customerlowactiveAug 5, 2026, 4:14 AMView · Edit
REQ-COVERAGE-001Requirement-level coverage-report regression coverage.customerlowactiveAug 4, 2026, 9:46 AMView · Edit
REQ-DE-002เนื่องจากจะรับข้อมูลลูกค้าจากระบบ CRM ใหม่ customer_id ต้องเปลี่ยนจาก INTEGER เป็น VARCHAR(20) รูปแบบ 'CRM-xxxxx' ยังคงห้ามซ้ำและห้ามเป็นค่าว่าง และตารางปลายทางที่ใช้ customer_id ต้องรองรับชนิดใหม่customerhighactiveOct 2, 2026, 10:40 AMView · Edit
REQ-DE-003Customer email addresses must be fully hidden in all downstream reporting outputs.customerhighactiveOct 2, 2026, 12:58 PMView · Edit
REQ-DE-004Data governance requirement for the customer dataset.customerhighactiveOct 2, 2026, 12:58 PMView · Edit
REQ-DIAG-001diagcustomerhighactiveSep 4, 2026, 2:22 AMView · Edit
REQ-DIAG-002diagcustomerhighactiveSep 22, 2026, 10:33 AMView · Edit
REQ-DIFF-TEST-001Customer phone numbers must be retained for 90 days after account closure.customercriticalactiveOct 12, 2026, 5:15 AMView · Edit
REQ-ERRMAP-001Error-mapping regression coverage for /requirements/{id}/impact.customerlowactiveAug 4, 2026, 8:17 AMView · Edit
REQ-HIST-001History regression coverage.customercriticalactiveOct 12, 2026, 5:15 AMView · Edit
REQ-PROMO-01เปลี่ยนมาทำโปรโมชั่นระดับอัลบั้ม (album) แทนระดับเพลงเดี่ยวalbummediumactiveSep 24, 2026, 4:03 AMView · Edit
REQ-PROMO-02Verification requirement for docker container fix (port 3001 write path)customermediumactiveSep 24, 2026, 3:19 AMView · Edit
REQ-PROMO-03โปรโมชั่นเดือนนี้อิงข้อมูลลูกค้าเพื่อหาเพลงยอดฮิตของเดือน"customercriticalactiveSep 24, 2026, 2:50 PMView · Edit
REQ-PROMO-04ติดตามข้อมูลอัลบัมเพื่อทำ catalog → เปลี่ยนมาติดตามข้อมูลการซื้อขายของแทน เพราะเป็นจุดที่กระทบระบบอื่นเยอะที่สุดinvoicelowactiveSep 24, 2026, 2:54 PMView · Edit
REQ-TEST-001Customer email must be masked in downstream reporting.customerhighactiveAug 3, 2026, 6:55 AMView · Edit
REQ-TEST-TT-001Test Traceability fixture requirement REQ-TEST-TT-001.customermediumactiveSep 1, 2026, 8:58 AMView · Edit
REQ-TEST-TT-GAP-001Test Traceability fixture requirement REQ-TEST-TT-GAP-001.customermediumactiveSep 1, 2026, 8:58 AMView · Edit
REQ-TOOLREG-01tool_registry.py Phase 3 requirement-tool regression coverage.customermediumactiveSep 7, 2026, 3:05 AMView · Edit
REQ-TT-001Test Traceability fixture requirement REQ-TT-001.customermediumactiveSep 1, 2026, 8:59 AMView · Edit
REQ-TT-COV-ACTCoverage endpoint fixture requirement (active).customermediumactiveOct 12, 2026, 5:16 AMView · Edit
REQ-TT-COV-RETCoverage endpoint fixture requirement (retired).customermediumdeprecatedSep 4, 2026, 2:49 PMView · Edit
REQ-TT-GAP-01Test Traceability fixture requirement REQ-TT-GAP-01.customermediumactiveSep 1, 2026, 8:59 AMView · Edit
REQ-TT-STALE-1Test Traceability fixture requirement REQ-TT-STALE-1.customermediumactiveOct 12, 2026, 5:16 AMView · Edit
REQ-WIKI-001Wiki requirement-scoped retrieval regression coverage.customerlowactiveAug 5, 2026, 6:57 AMView · Edit
THS-REQ-001ค่า `customer_id` ในตาราง customer ต้องไม่ซ้ำกันcustomermediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-002คอลัมน์ `customer_id` ของตาราง customer ต้องมีชนิดข้อมูล `int`customermediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-003ค่า `email` ที่ไม่ว่างทุกแถวต้องตรง regex `^[^@\s]+@[^@\s]+\.[^@\s]+$`customermediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-004ค่า `support_rep_id` ที่ไม่ว่างทุกแถวต้องมีอยู่ใน `employee.employee_id`customermediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-006ค่า `first_name, last_name, email, support_rep_id` ราย `customer_id` ต้องตรงกับต้นทางทุกแถวcustomermediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-007ค่า `total` ของ invoice ต้องอยู่ระหว่าง 0 ถึง 25 invoicemediumactiveOct 15, 2026, 10:46 AMView · Edit
THS-REQ-009จำนวนแถวของ invoice_line ปลายทางต้องเท่ากับต้นทางในทุก partitioninvoice_linemediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-011ค่า `name` ต้องเป็นหนึ่งใน 5 ค่า: AAC audio file, MPEG audio file, Protected AAC audio file, Protected MPEG-4 video file, Purchased AAC audio filemedia_typemediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-012ตาราง customer_summary ต้องมีคอลัมน์ `total_spend`customer_summarymediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-013customer_summary ต้องถูกเขียนสำเร็จครั้งล่าสุดไม่เกิน 24 ชั่วโมง customer_summarymediumactiveOct 15, 2026, 10:26 AMView · Edit
THS-REQ-014ค่า `spend_tier` ต้องเป็นหนึ่งใน `high`, `medium`, `low`customer_featuremediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-015ค่า `customer_id` ของ invoice_summary ต้องไม่ว่างทุกแถวinvoice_summarymediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-016คอลัมน์ `milliseconds` ของ track ต้องมีชนิด `int`trackmediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-017คอลัมน์ `unit_price` ของ invoice_line ต้องมีชนิด `decimal(10,2)`invoice_linemediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-018invoice_summary ต้องถูกเขียนสำเร็จครั้งล่าสุดไม่เกิน 72 ชั่วโมง (ตาม DQ rule 47)invoice_summarymediumactiveOct 8, 2026, 5:16 PMView · Edit
THS-REQ-019`line_count` ของแต่ละ `invoice_id` ต้องเท่ากับจำนวน `invoice_line_id` ใน invoice_line และ invoice ที่ไม่มีแถวใน invoice_line ต้องมี `line_count` เป็น 0 (fillna(0) ที่ core/capabilities/invoice_summary.py:25)invoice_summarymediumactiveOct 8, 2026, 7:02 PMView · Edit
THS-REQ-020`total_spend` ของแต่ละ `customer_id` ต้องเท่ากับผลรวม `total_amount` ใน invoice_summary และ customer ที่ไม่มีแถวใน invoice_summary ต้องไม่มี total_spend (null) customer_summarymediumactiveOct 15, 2026, 10:20 AMView · Edit
THS-REQ-021`spend_tier` ต้องเป็น `high` เมื่อ `total_spend >= 100`, `medium` เมื่อ `>= 40`, นอกนั้น `low` customer_featuremediumactiveOct 15, 2026, 11:19 AMView · Edit
THS-TLC-001จำนวนแถวของ raw_trips ต่อวัน (partition ตามวัน pickup) เท่ากับจำนวนแถวของไฟล์ต้นทางในวันนั้นraw_tripsmediumactiveOct 19, 2026, 6:49 AMView · Edit
THS-TLC-002checksum ราย partition (วัน pickup) ของ column หลักใน raw_trips (21 column ที่ประกาศจากไฟล์ต้นทาง) ตรงกับต้นทางraw_tripsmediumactiveOct 19, 2026, 6:49 AMView · Edit
THS-TLC-003`clean_trips.fare_amount` ต้องไม่ติดลบclean_tripsmediumactiveOct 19, 2026, 6:49 AMView · Edit
THS-TLC-004ค่าที่ไม่ว่างของ `clean_trips.payment_type` ต้องอยู่ใน {0, 1, 2, 3, 4, 5, 6} ตาม data dictionaryclean_tripsmediumactiveOct 19, 2026, 6:49 AMView · Edit
THS-TLC-005`clean_trips.PULocationID` และ `DOLocationID` ต้องไม่ว่างclean_tripsmediumactiveOct 19, 2026, 6:49 AMView · Edit
THS-TLC-007รายได้รวม (`total_revenue`) ใน borough_kpi เท่ากับผลรวม `total_amount` ของ clean_trips ต่อ (`pickup_date`, `pu_borough`)borough_kpimediumactiveOct 19, 2026, 6:49 AMView · Edit
THS-TLC-008ระยะทางเฉลี่ยต่อเที่ยว (`avg_trip_distance`) ใน borough_kpi เท่ากับค่าเฉลี่ย `trip_distance` ของ clean_trips ต่อ (`pickup_date`, `pu_borough`)borough_kpimediumactiveOct 19, 2026, 6:50 AMView · Edit
THS-TLC-009clean_trips ต้องแสดง column ตามรายการที่กำหนด (column ที่มีอยู่ตอนสร้าง baseline)clean_tripsmediumactiveOct 19, 2026, 6:50 AMView · Edit
THS-TLC-010ชนิดของ `clean_trips.trip_distance` เป็น double และ `lpep_pickup_datetime` เป็น timestampclean_tripsmediumactiveOct 19, 2026, 6:50 AMView · Edit
THS-TLC-011การโหลด clean_trips ที่สำเร็จล่าสุดต้องไม่เก่ากว่า 35 วัน (840 ชั่วโมง) เมื่อเทียบกับนาฬิกาจำลองclean_tripsmediumactiveOct 19, 2026, 6:50 AMView · Edit
THS-TLC-012partition วันล่าสุดของ clean_trips ต้องไม่ถอยหลังจาก partition ล่าสุดของ snapshot ล่าสุดที่ผ่าน requirement นี้ (high-watermark) และจำนวนเที่ยวของ partition นั้นต้องไม่น้อยกว่าค่าต่ำสุดของ 28 partition ก่อนหน้าclean_tripsmediumactiveOct 19, 2026, 6:50 AMView · Edit