Skip to main content
Version: Next

STD: WDCLSC Invert Sigmoid Rule (WDCLSCINVSIG)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/rules/rule-wdclsc-invert-sigmoid.md Rule Name: WDCLSC_INVERT_SIGMOID_POS Domain: RULES-WDCLSCINVSIG


Overview

This document specifies tests for the WDCLSC Invert Sigmoid rule using decision tables and test vectors. The rule validates CLS discrepancies between DXAI and machine classifications on Control wells while considering sigmoid curve patterns, with intelligent skip conditions to reduce false-positive discrepancy errors.

Rule Characteristics:

  • Pure business logic (no UI)
  • Sequential skip condition evaluation (min fluorescence -> sigmoid pattern -> max CT)
  • Control well specific
  • Configuration-driven thresholds

Test Method: TM-API (per Test Plan §3.3 - Rules use automated API tests)

Verification Approach: Rule verification is performed using data-driven test vectors. Each row in a decision table represents a complete verification scenario with defined inputs and expected outputs. The rule has three sequential skip conditions, each with distinct triggering logic. Test vectors cover all condition combinations including boundary cases and error handling.


Coverage Summary

REQ IDTitleConditionsTest VectorsCoverageGaps
REQ-RULES-WDCLSCINVSIG-001Sigmoid Pattern Skip68100%None
REQ-RULES-WDCLSCINVSIG-002Maximum CT Skip57100%None
REQ-RULES-WDCLSCINVSIG-003Minimum Fluorescence Skip46100%None

Totals: 3 REQs, 15 Conditions, 21 Test Vectors, 100% Coverage


Input Variables

VariableTypeValid ValuesDescription
obs.readingsarrayfloat[], emptyFluorescence readings over amplification cycles
obs.max_readingfloatnumericMaximum value from readings array
obs.sigmoid_patternstringdownward, upward, undeterminedDetected sigmoid curve pattern
obs.final_clsstringpositive, negativeFinal classification result
obs.final_ctfloatnumeric, nullFinal cycle threshold value
config.minimum_fluorescence_to_positivefloatnumeric, missingMin fluorescence threshold for rule execution
config.max_ct_for_cls_discrepancyfloat?numeric, nullMax CT above which discrepancy is skipped

Output Variables

VariableTypeDescription
rule_skippedboolRule did not execute (min fluorescence not met)
discrepancy_error_assignedboolCLS discrepancy error was assigned to observation

REQ-RULES-WDCLSCINVSIG-003: Minimum Fluorescence Skip

This requirement is evaluated FIRST in execution order. When the maximum reading is below the threshold, the entire rule is skipped.

Decision Table: Threshold Comparison

TVmax_readingmin_fluor_configrule_skippedCovers
TV-003-00199100trueAC: Below threshold - skip rule
TV-003-002100100falseAC: At threshold - execute rule (boundary)
TV-003-003101100falseAC: Above threshold - execute rule

Decision Table: Error Handling

TVreadingsmin_fluor_configrule_skippedCovers
TV-003-004[] (empty)100trueAC: Empty readings - skip rule
TV-003-005[50, 75, 100]missingfalseAC: Missing config - proceed with rule
TV-003-006[50, 75, 100]100falseAC: Normal case - max=100, threshold=100

REQ-RULES-WDCLSCINVSIG-001: Sigmoid Pattern Skip

This requirement is evaluated SECOND. When sigmoid pattern is downward AND final classification is negative, the discrepancy error is skipped.

Decision Table: Sigmoid + Classification Matrix

TVsigmoid_patternfinal_clsdiscrepancy_error_assignedCovers
TV-001-001downwardnegativefalseAC: Skip - both conditions met
TV-001-002downwardpositivetrueAC: Error - wrong classification
TV-001-003upwardnegativetrueAC: Error - wrong pattern
TV-001-004upwardpositivetrueAC: Error - neither skip condition

Decision Table: Undetermined Pattern

TVsigmoid_patternfinal_clsdiscrepancy_error_assignedCovers
TV-001-005undeterminednegativetrueAC: Undetermined = no skip
TV-001-006undeterminedpositivetrueAC: Undetermined = no skip

Decision Table: Error Handling

TVreadingssigmoid_patterndiscrepancy_error_assignedCovers
TV-001-007missingN/A(proceeds to CT check)AC: Missing readings - skip sigmoid eval
TV-001-008[] (empty)N/A(proceeds to CT check)AC: Empty readings - skip sigmoid eval

REQ-RULES-WDCLSCINVSIG-002: Maximum CT Skip

This requirement is evaluated THIRD (after sigmoid check fails to skip). When final CT >= max threshold, the discrepancy error is skipped.

Decision Table: CT Threshold Comparison

TVmax_ct_configfinal_ctdiscrepancy_error_assignedCovers
TV-002-0013536falseAC: CT > threshold - skip error
TV-002-0023636falseAC: CT = threshold - skip error (boundary)
TV-002-0033736trueAC: CT < threshold - assign error

Decision Table: Null Configuration

TVmax_ct_configfinal_ctdiscrepancy_error_assignedCovers
TV-002-004null36trueAC: Null config - no skip, assign error
TV-002-005null100trueAC: Null config - any CT assigns error

Decision Table: Error Handling

TVmax_ct_configfinal_ctdiscrepancy_error_assignedCovers
TV-002-00635invalidtrueAC: Invalid CT - log warning, assign error
TV-002-007missing36trueAC: Missing config - default behavior, assign error

Combined Execution Order Test

This section verifies the sequential evaluation order: REQ-003 -> REQ-001 -> REQ-002.

Decision Table: Full Execution Flow

TVmax_readingmin_fluorsigmoidfinal_clsmax_ct_cfgfinal_ctrule_skippederror_assignedCovers
TV-FLOW-00150100N/AN/AN/AN/AtruefalseREQ-003: Rule skipped at fluorescence check
TV-FLOW-002100100downwardnegative3530falsefalseREQ-001: Skipped at sigmoid check
TV-FLOW-003100100upwardnegative3536falsefalseREQ-002: Skipped at CT check
TV-FLOW-004100100upwardnegative3736falsetrueAll checks pass - error assigned
TV-FLOW-005100100upwardpositivenull36falsetrueAll checks pass - error assigned

Traceability to Existing Tests

RequirementJira TestsAutomation Status
REQ-RULES-WDCLSCINVSIG-001BT-5220Automated
REQ-RULES-WDCLSCINVSIG-002BT-5237Automated
REQ-RULES-WDCLSCINVSIG-003PendingGap

Gap Analysis

Identified Gaps

GapRequirementDescriptionPriorityOwner
GAP-001REQ-RULES-WDCLSCINVSIG-003No Jira test ticket for minimum fluorescence skipHighTBD

Remediation Plan

  1. GAP-001: Create test ticket covering TV-003-001 through TV-003-006 for minimum fluorescence threshold validation