Downward Sigmoid Control Rule
Version: v3.0.0 Status: Normative (text), Illustrative (diagrams only) Scope: SIGMOID_CONTROL rule for evaluating sigmoid curve patterns in control sample contexts Domain: RULES-DSIGMOIDCTRL Precedence: Inherits from Downward Sigmoid Rule
Statement
The system shall evaluate the Downward Sigmoid Control rule (SIGMOID_CONTROL) using identical mathematical logic to the Downward Sigmoid Rule, with additional support for classification problem handling and individual curve resolution for failed validations.
When a curve fails sigmoid validation, the system attempts individual curve resolution before reporting failure. Failures are reported in the Run Summary Target/Mix message section, enabling users to trace rule failures back to specific observations.
Quick Reference
| ID | Core Behavior | Priority | Status |
|---|---|---|---|
| REQ-RULES-DSIGMOIDCTRL-001 | Evaluates sigmoid curves with classification problem support and individual curve resolution | HIGH | Draft |
| REQ-RULES-DSIGMOIDCTRL-002 | Reports rule failures in Run Summary Target/Mix messages | HIGH | Draft |
Key Integration Points: Downward Sigmoid Rule (parent), Run Summary view, Curve analysis engine, Classification problem handling subsystem
Rule Summary
| Property | Value |
|---|---|
| Name | SIGMOID_CONTROL |
| Parent Rule | Downward Sigmoid Rule |
| Triggers | Control sample sigmoid curve evaluation |
| Output | Pass/fail status, errors in Run Summary |
Rule Flowchart (Illustrative)
This diagram illustrates the core rule evaluation and error handling flow. The sigmoid curve analysis inherits all mathematical parameters from the parent Downward Sigmoid Rule.
Definitions
| Term | Definition |
|---|---|
| SIGMOID_CONTROL | The programmatic identifier for the Downward Sigmoid Control rule in the rules engine |
| Sigmoid Curve | A mathematical S-shaped curve used for fitting amplification data |
| Classification Problem | A categorization scenario where sigmoid curve fitting is applied to observations |
| Run Summary | The system view that displays aggregated results and errors from analysis runs |
| Target/Mix | Context identifiers that associate observations with specific assay targets or mixes |
| Individual Curve Resolution | The process of isolating and re-evaluating failed curves independently from batch context |
Assumptions
- The Downward Sigmoid Rule is configured and available as the parent rule
- Curve data from observations includes sufficient data points for sigmoid fitting
- The Run Summary view is accessible to users reviewing analysis results
- Target and Mix associations are established before rule evaluation occurs
Requirements
Rule Evaluation (REQ-RULES-DSIGMOIDCTRL-001)
FR-DSIGMOIDCTRL-001: Sigmoid Control Rule Evaluation
The system shall evaluate the Downward Sigmoid Control rule using identical logic to the Downward Sigmoid Rule.
Acceptance Criteria
Mathematical Evaluation:
- The SIGMOID_CONTROL rule shall apply the same mathematical evaluation as the Downward Sigmoid Rule
- The rule shall inherit all sigmoid curve evaluation parameters from the parent Downward Sigmoid Rule
Classification Problem Support:
- The system shall support classification problem scenarios within sigmoid rule evaluation
- Classification problem handling shall extend the base sigmoid behavior to support categorization use cases
Individual Curve Resolution:
- When a curve fails the invalid SIGMOID rule, the system shall resolve individual curves independently
- Curve resolution for failed sigmoid validation shall be verified at the individual curve level
- Individual curve resolution shall occur independently without affecting other curves in the same batch
Error Handling
- Curve fails sigmoid validation: The system shall attempt individual curve resolution before reporting failure
- Individual curve resolution fails: The system shall mark the curve as unresolvable and propagate to error handler
Trace: Source: 3.0.0-Downward Sigmoid Control Rule (Row 1) | Jira: BT-4914 (Add Classification Problem to Sigmoid Rule), BT-4916 (Verify individual curve resolution) | Tests: BT-4916 (regression) | Related: Downward Sigmoid Rule
Error Reporting (REQ-RULES-DSIGMOIDCTRL-002)
FR-DSIGMOIDCTRL-002: Rule Failure Error Reporting
The system shall display target errors in the Run Summary when the Sigmoid Control rule fails for an observation.
Acceptance Criteria
Error Display:
- When the SIGMOID_CONTROL rule fails for an observation, an error message shall appear in the Run Summary
- The error shall be displayed in the Target/Mix message section of the Run Summary
- The error message shall identify the failed observation context
Error Handling
- Rule failure occurs: The system shall report the failure in Run Summary Target/Mix messages
- Multiple observations fail: The system shall report each failure with its associated observation context
Trace: Source: 3.0.0-Downward Sigmoid Control Rule (Row 2) | Jira: [None identified] | Tests: See scenarios
Configuration Options
[REVIEW REQUIRED: No configuration options explicitly identified in source material. Verify if sigmoid threshold parameters or classification settings are configurable.]
| Option | Default | Description | Affects |
|---|---|---|---|
| - | - | - | - |
UI Notes (Illustrative)
REQ-RULES-DSIGMOIDCTRL-002 UI Specifications
Run Summary Display:
- Error messages appear in the Target/Mix Messages section
- Messages are grouped by Target, then by Well
- Error format: "[Target Name]: Sigmoid control rule failed for observation [N]"
Error Context:
- Error visibility ensures users can trace rule failures back to specific observations
- Run Summary serves as the primary location for rule failure notifications
Implementation (Illustrative)
| Component | Location | Purpose |
|---|---|---|
| SigmoidControlRule | Analyzer/Rules/SigmoidControlRule.php | Control sigmoid validation with target-level error reporting |
| NegativeSigmoidControlRule | Analyzer/Rules/NegativeSigmoidControlRule.php | Negative sigmoid control variant for control wells |
Traceability Matrix
| Requirement | Title | Verification | Implementation | Test Cases | Status |
|---|---|---|---|---|---|
| REQ-RULES-DSIGMOIDCTRL-001 | Sigmoid Control Rule Evaluation | Test | SigmoidControlRule.php, NegativeSigmoidControlRule.php | BT-4916 | Draft |
| REQ-RULES-DSIGMOIDCTRL-002 | Rule Failure Error Reporting | Test | SigmoidControlRule.php, NegativeSigmoidControlRule.php | [Pending] | Draft |
Notes
- Programmatic rule name: SIGMOID_CONTROL
- This rule maintains behavioral parity with the Downward Sigmoid Rule for non-classification scenarios
- The rule supports both batch and individual curve evaluation modes
- Related test BT-4916 is a regression test for verifying individual curve resolution
Acceptance Tests
Test: REQ-RULES-DSIGMOIDCTRL-002
Test: Sigmoid control failure appears in Run Summary
Given: wells:
well 1:
well number: A1
observations:
observation 1:
target: Target A
When: Sigmoid control rule is failed for the observation 1
Then: Run summary Target / Mix message should contain the error message
Related Design Documents
| Design Document | Relevant Sections |
|---|---|
| Downward Sigmoid Rule | Parent rule behavior |
Appendix: Process Artifacts
Completion Checklist
- All requirements are capability-level (describe behavior, not UI)
- Requirement variants consolidated (no requirement explosion)
- UI details are fully demoted to Illustrative section
- Configuration options are not encoded as requirements
- Acceptance criteria describe behavior, not UI mechanics
- Every requirement has acceptance criteria and source traceability
- Error handling addressed for I/O, validation, and external system requirements
- Open questions documented with owners assigned
- Consolidations documented in Reviewer Notes with reversibility info
- Module can survive a full UI redesign unchanged
- Refinements do not introduce new capabilities
- Traceability matrix is complete
Reviewer Notes
No Consolidation Required
This domain contains only 2 requirements representing distinct capabilities:
| Requirement | Capability | Justification |
|---|---|---|
| REQ-RULES-DSIGMOIDCTRL-001 | Rule evaluation logic | Core sigmoid control analysis with classification problem handling |
| REQ-RULES-DSIGMOIDCTRL-002 | Error reporting behavior | Distinct user-facing error display in Run Summary |
Rationale: Both requirements are independently testable system behaviors. The rule evaluation requirement handles the mathematical analysis and curve resolution logic, while the error reporting requirement handles user-visible error presentation. These cannot be consolidated without losing precision in verification scope.
Reversibility: Source requirements preserved 1:1.
- Source:
output/pilot/rules/rule-downward-sigmoid-control/rule-downward-sigmoid-control-restructured.md - Confluence: 3.0.0-Downward Sigmoid Control Rule (Rows 1-2)