Skip to main content
Version: Next

STD: Manual Baseline Check Rule (BASELINE)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/rules/rule-baseline-check.md Rule Name: MANUAL_BASELINE Domain: RULES-BASELINE


Overview

This document specifies tests for the Manual Baseline Check rule using decision tables and test vectors. The rule evaluates run targets to determine if automatic baseline checking is enabled, applying error codes when manual baseline intervention is required.

Rule Characteristics:

  • Pure business logic (no UI)
  • Single boolean condition per target
  • Dual-level error application (well and target)
  • Independent target evaluation

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

Automation Status: Automated

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. This format enables exhaustive condition coverage while remaining concise and auditable.


Coverage Summary

REQ IDTitleConditionsTest VectorsCoverageGaps
REQ-RULES-BASELINE-001Well-Level Error Application48100%None
REQ-RULES-BASELINE-002Target-Level Error Application46100%None

Totals: 2 REQs, 8 Conditions, 14 Test Vectors, 100% Coverage


Input Variables

VariableTypeValid ValuesDescription
run_target.automatic_baseline_checkbooleantrue, falseWhether automatic baseline checking is enabled for the target
well.observation.run_targetreferenceRun Target entityThe run target associated with a well via observation

Output Variables

VariableTypeDescription
well.error_codestringMANUAL_BASELINE_CHECK_WELL when condition met
run_target.error_codestringMANUAL_BASELINE_CHECK_TARGET when condition met

REQ-RULES-BASELINE-001: Well-Level Error Application

Decision Table: Single Target - Well Error Application

TVautomatic_baseline_checkwell_error_appliederror_codeCovers
TV-001-001truefalsenullAC: Baseline enabled - no error
TV-001-002falsetrueMANUAL_BASELINE_CHECK_WELLAC: Baseline disabled - error applied

Decision Table: Multiple Wells - Same Target

TVautomatic_baseline_checkwellswell_A1_errorwell_A2_errorCovers
TV-001-003true[A1, A2]falsefalseAC: No wells receive error when enabled
TV-001-004false[A1, A2]truetrueAC: All wells receive error when disabled

Decision Table: Multiple Targets - Well Independence

TVtarget_A.auto_baselinetarget_B.auto_baselinewell_A1 (Target A)well_A2 (Target A)well_A3 (Target B)Covers
TV-001-005falsetrueMANUAL_BASELINE_CHECK_WELLMANUAL_BASELINE_CHECK_WELLnullAC: Wells evaluated per target setting
TV-001-006truefalsenullnullMANUAL_BASELINE_CHECK_WELLAC: Independence - only affected target's wells
TV-001-007falsefalseMANUAL_BASELINE_CHECK_WELLMANUAL_BASELINE_CHECK_WELLMANUAL_BASELINE_CHECK_WELLAC: All wells when both disabled
TV-001-008truetruenullnullnullAC: No wells when both enabled

REQ-RULES-BASELINE-002: Target-Level Error Application

Decision Table: Single Target - Target Error Application

TVautomatic_baseline_checktarget_error_appliederror_codeCovers
TV-002-001truefalsenullAC: Baseline enabled - no error
TV-002-002falsetrueMANUAL_BASELINE_CHECK_TARGETAC: Baseline disabled - error applied

Decision Table: Multiple Targets - Independence

TVtarget_A.auto_baselinetarget_B.auto_baselinetarget_A_errortarget_B_errorCovers
TV-002-003falsetrueMANUAL_BASELINE_CHECK_TARGETnullAC: Selective error - A disabled
TV-002-004truefalsenullMANUAL_BASELINE_CHECK_TARGETAC: Selective error - B disabled
TV-002-005falsefalseMANUAL_BASELINE_CHECK_TARGETMANUAL_BASELINE_CHECK_TARGETAC: Both receive error when disabled
TV-002-006truetruenullnullAC: Neither receives error when enabled

Combined Scenarios

Decision Table: Coordinated Well and Target Errors

Verifies that REQ-RULES-BASELINE-001 and REQ-RULES-BASELINE-002 fire together when condition is met.

TVautomatic_baseline_checktarget_errorwell_error (all associated wells)Covers
TV-CMB-001falseMANUAL_BASELINE_CHECK_TARGETMANUAL_BASELINE_CHECK_WELLREQ-001 + REQ-002: Both errors applied together
TV-CMB-002truenullnullREQ-001 + REQ-002: Neither error applied

Boundary and Edge Cases

Decision Table: Edge Cases

TVScenarioautomatic_baseline_checkExpected BehaviorCovers
TV-EDGE-001Target with no associated wellsfalseTarget error applied, no well errors (no wells to error)AC: Error applied at target level regardless of wells
TV-EDGE-002Well with multiple observations to same targetfalseWell receives error onceAC: Error idempotency

Traceability to Existing Tests

RequirementJira TestsStatus
REQ-RULES-BASELINE-001BT-4093Existing
REQ-RULES-BASELINE-002BT-4093Existing

Gap Analysis

Identified Gaps

GapRequirementDescriptionPriorityOwner
None-All acceptance criteria covered by test vectors--

Coverage Notes

  • The MANUAL_BASELINE rule has straightforward boolean logic with complete coverage
  • Existing Jira test BT-4093 covers the rule regression testing
  • Edge cases (TV-EDGE-001, TV-EDGE-002) verify implementation robustness