Home / DC Solutions / Technical Manuals / RFS Readiness Workbench

Technical Manual · Ready-for-Service

RFS Readiness Workbench — Methodology & Formulas

Every input, gate definition, scoring formula, confidence model, forecast equation, and reference behind the G0–G7 commissioning gate board. All scoring is user-driven and deterministic — no random values, no back-solved constants. Logic is inline in rfs-readiness-workbench.html inside the RfsGateEngine, RfsForecastEngine, and RfsLibrary objects.

Gates G0 – G7 Requirements ≥ 110 baseline items Severity bands 5 Forecast components 7
▶ Open the live RFS Workbench

01 Purpose & engineering basis

The RFS Readiness Workbench is a gate-based commissioning audit tool for data center Ready-for-Service planning. It answers three operational questions: which commissioning gate each delivery unit currently holds, what evidence gaps and open defects are blocking the next gate, and when the project will reach RFS given the current defect and evidence load.

The methodology is user-driven: the operator configures delivery units, selects a facility archetype, ticks completed requirements, and logs defects. The engine returns a deterministic gate status, weighted readiness percentage, 7-term confidence score, and multi-component forecast for every unit — and a worst-case project RFS date. Gate definitions follow Uptime Institute commissioning level practice (L1 design through L5 IST/performance) and TIA-942 commissioning stages. Signoff matrices reference industry-standard roles (Cx Lead, Ops Lead, Customer Witness, Project Director).

02 Inputs

Three input categories — project configuration, per-gate evidence, and defect register — drive all engine outputs. Delivery units are user-defined (data halls, electrical blocks, mechanical plant, pods, campus infrastructure). The archetype selection controls gate-day multipliers in the forecast engine.

Input categoryFieldsEngine consumerNotes
Project setupProject name, facility type, archetype, customer name, target RFS dateRfsLibrary.archetypes, RfsForecastEngineArchetype sets baseGateDaysMult (0.65–1.4) applied to all gate transitions.
Delivery unitsUnit name, type (campus/building/data_hall/pod/electrical_block/mechanical_plant/support_area), ownershipRfsGateEngine.evaluateGate()Gate readiness is calculated independently per unit. Project status = worst unit.
Evidence recordsRequirement ID, unit ID, evidence type (test_report / certificate / permit / as_built / witness_sheet / waiver / training_record / contract / insurance_cert / risk_assessment), status (accepted / pending / rejected)evaluateGate() completedWeight loopOnly status === 'accepted' evidence counts toward readiness score.
Defect registerTitle, severity (critical / major / moderate / minor / observation), unit ID, gate impact list, retest required flag, status (open / assigned / fix_in_progress / ready_for_retest / closed / waived), root cause, created-at timestampevaluateGate() confidence formula; forecastUnit() blockerDrag / retestDragOnly non-closed, non-waived defects count. Severity determines aging thresholds and gate blocking.
Customer overlayGate code, requirement title, blocker class (hard/soft), source class (A/B/C/D), status (open / confirmed / waived)evaluateGate() overlayHardBlockers; forecastUnit() uncertaintyDragHard-blocker overlays (source A or B, not confirmed/waived) block the gate. Source C/D unconfirmed items drive uncertaintyDrag.
Test packagesTest ID, unit ID, gate, witness required flag, witness status (pending / scheduled / completed), pass/fail statusforecastUnit() witnessDragWitness-required tests not yet passed and not witness-completed each add +1 day to witnessDrag.
Sign-offsUnit ID, gate code, role, status (pending / approved / rejected)evaluateGate() missingApprovals cap; forecastUnit() signoffDragRequired roles per gate defined in RfsLibrary.SIGNOFF_MATRIX (G0–G7, 2–3 roles each).

03 Calculation methodology

Four sequential calculations inside RfsGateEngine.evaluateGate(gateCode, unit) and RfsForecastEngine.forecastUnit(unit). Function names and source locations are given exactly as they appear in the inline script of rfs-readiness-workbench.html.

Gate readiness %

readinessPct = round( completedWeight / totalWeight × 100 ) completedWeight = Σ r.weight for each requirement r where evidence(r, unit) exists AND status === 'accepted' totalWeight = Σ r.weight for all requirements r in the gate In evaluateGate() — lines ~2542–2550. Item weights: W1 = 1–6 (soft, informational), W2 = 7–9 (significant), W3 = 10 (hard / safety-critical). Weight tiers are set per requirement in RfsLibrary.requirements[].INLINE · rfs-readiness-workbench.html

Two caps prevent a fully-evidenced but incomplete gate from showing 100%:

if missingMandatoryEvidence > 0: readinessPct = min(readinessPct, 95) if missingApprovals > 0: readinessPct = min(readinessPct, 99) In evaluateGate() — lines ~2568–2569. Mandatory requirements are those with mandatory: true in the requirement record. Missing approvals are sign-off roles in SIGNOFF_MATRIX[gateCode] not yet marked status === 'approved'.INLINE · rfs-readiness-workbench.html

Gate status determination

status = 'not_started' (no progress, no defects) status = 'in_progress' (completedWeight > 0 OR defects.length > 0) status = 'blocked' (openCritical > 0 OR prior gate not approved OR overlayHardBlockers > 0) status = 'at_risk' (openMajor > 0 OR missingMandatoryEvidence > 0 OR overlayUnconfirmed > 0) status = 'ready_for_signoff' (readinessPct ≥ 100 AND missingMandatoryEvidence = 0 AND missingApprovals = 0) In evaluateGate() — lines ~2592–2603. Priority: blocked > at_risk > ready_for_signoff > in_progress. Gate may only be 'approved' when the Cx Lead explicitly triggers sign-off in the UI. Prior-gate enforcement: G1 cannot be in_progress unless G0 is approved; sequential gate discipline is mandatory.INLINE · rfs-readiness-workbench.html

Gate confidence % (7-penalty model)

confidencePct = 100 − (openCritical × 18) − (openMajor × 8) − (missingMandatoryEvidence × 7) − (missingApprovals × 6) − (retestRequired × 5) − overduePenalty (3 pts per overdue defect) − overlayPenalty (2 pts per unconfirmed overlay) confidencePct = clamp(confidencePct, 5, 100) In evaluateGate() — lines ~2571–2582. overduePenalty: for each open/non-waived defect where age ≥ AGING_THRESHOLDS[severity].overdue (Critical: 5d, Major: 10d, Moderate: 20d, Minor: 40d), add 3 pts. retestRequired: defects with retestRequired === true and status not 'closed'. Floor is 5% (never zero). Confidence band labels: ≥ 85% = High, 60–84% = Moderate, 40–59% = Weak, < 40% = Unstable.INLINE · rfs-readiness-workbench.html

RFS forecast engine — 7-component drag model

baseDays = GATE_BASE_DAYS[currentGate → nextGate] × archetype.baseGateDaysMult blockerDrag = openCritical × 3 + openMajor × 1 [defects not closed/waived] evidenceDrag = missingMandatoryEvidence (for nextGate) × 1 [each missing mandatory evidence item] signoffDrag = missingSignoffs (for currentGate) × 2 [each unapproved required role] retestDrag = retestRequiredOpen × 2 [defects with retestRequired, not closed] witnessDrag = pendingWitnessTests × 1 [witnessRequired, not passed, not witness-completed] uncertaintyDrag = ceil( unconfirmedCDOverlays × 0.5 ) [source class C/D overlays not confirmed] totalDays = baseDays + blockerDrag + evidenceDrag + signoffDrag + retestDrag + witnessDrag + uncertaintyDrag forecastDate = today + totalDays days projectRFS = max( forecastDate ) across all units (worst-case unit drives project date) In RfsForecastEngine.forecastUnit(unit) and forecastProject() — lines ~2646–2711. Base days represent typical gate-to-gate transition durations; archetype multipliers compress (AI fast-track 0.65×) or extend (Regulated/Sovereign 1.4×) them. variance = totalDays − baseDays (drag overhead). A unit already at G7 returns totalDays = 0, forecastDate = null, status = 'complete'.INLINE · rfs-readiness-workbench.html

Checklist overall readiness grade

overallPct = round( totalChecked / totalReqs × 100 ) [count-based across all gates] grade = overallPct ≥ 95 → A+ | ≥ 85 → A | ≥ 70 → B | ≥ 50 → C | ≥ 30 → D | < 30 → F In RfsUI.renderChecklist() — lines ~4888–4895. The checklist uses simple count (checked / total) rather than the weighted formula used in evaluateGate(), so it gives an unweighted census of items touched. Use per-gate readinessPct from the gate board for the authoritative weighted score.INLINE · rfs-readiness-workbench.html

04 Constants & data sources

All constants live in RfsLibrary (deep-frozen object, inline in the page). Gate definitions (GATE_NAMES, GATE_BASE_DAYS, SIGNOFF_MATRIX) and severity thresholds (AGING_THRESHOLDS) are reproduced in full below.

GateNameBase days to next gateRequired sign-off roles
G0Baseline Locked7 d → G1Project Director, Cx Manager
G1Design Complete / FAT Ready10 d → G2Cx Lead, Electrical Lead, Safety Officer
G2Delivery & Installation14 d → G3Cx Lead, MEP Lead
G3Startup & Individual Testing10 d → G4Cx Lead, Ops Lead
G4Functional Performance Tests14 d → G5Cx Lead, Ops Lead, Customer Witness
G5Integrated Systems Tests (IST)7 d → G6Cx Lead, Ops Lead, Project Director
G6Operational Readiness7 d → G7Ops Lead, Customer Representative, Commercial Lead
G7Turnover Complete— (RFS)Project Director, Customer Representative, Legal/Commercial Lead
Defect severityGate blocking?Aging warning (d)Aging overdue (d)Confidence penalty (pts)
CriticalYes — blocks2518 per open defect
MajorYes — at-risk5108 per open defect
ModerateNo (tracked only)10203 per overdue (aging penalty)
MinorNo (tracked only)20403 per overdue (aging penalty)
ObservationNo0
ArchetypeBase gate-day multiplierKey risk tags
Enterprise Owner-Operator1.0×Single-point ownership, in-house skills gap
Retail Colocation1.15×Multi-tenant complexity, SLA penalty exposure
Wholesale for Hyperscaler1.2×Customer overlay, witness scheduling drag, LD exposure
Hyperscale Self-Build1.0×Proprietary standards, phased delivery, supply chain
AI Fast-Track Retrofit0.65×Compressed timeline, DLC maturity gap, parallel workstreams
Regulated / Sovereign1.4×Extended approval cycles, security clearance, regulatory authority

Item weight tiers: W3 = weight 10 (hard, safety-critical — arc flash study, NETA energization, EPO test, customer acceptance); W2 = weight 7–9 (significant — FAT reports, performance tests, SOPs); W1 = weight 1–6 (informational/soft — design approvals, minor ancillary checks). Evidence source classes A–D indicate primary/independent testing (A) through secondary/unverified information (D); source class feeds the overlay uncertainty drag in the forecast engine.

05 Outputs

OutputFormula / sourceUnitInterpretation
Per-gate readiness %completedWeight / totalWeight × 100%Weighted fraction of gate requirements evidenced. Capped at 95% if mandatory items missing; 99% if sign-offs pending.
Gate statusStatus determination logic (blocked → at_risk → ready_for_signoff → in_progress)enumImmediate operational signal. Blocked = cannot advance. At-risk = progress possible but defects open.
Gate confidence %100 − 7 penalty terms, floor 5%%Probability-proxy for gate passing without further defects surfacing. ≥ 85% = High; 60–84% = Moderate; 40–59% = Weak; < 40% = Unstable.
Per-unit current gateHighest approved gate + 1G0–G7Gate the unit is currently targeting. Project gate = lowest unit current gate (lagging unit drives overall).
Open defect summaryFiltered counts by severity and statuscountCritical and Major open counts displayed on gate board; drive hero KPIs for immediate triage.
Per-unit forecast datetoday + totalDaysISO dateExpected next-gate-approval date accounting for all current drag. Variance = totalDays − baseDays shows drag overhead.
Project RFS datemax(unit forecast dates)ISO dateWorst-case unit drives the project RFS date. Displayed in hero strip.
Checklist gradeA+ / A / B / C / D / F against count-based overall%gradeHigh-level readiness signal; complementary to weighted gate scores.
Defect aging alertsAge vs. AGING_THRESHOLDS[severity]daysWarning at 2–20 d depending on severity; overdue at 5–40 d. Each overdue defect adds 3 pts to confidence penalty.

06 Worked example

Single unit "Data Hall 1", gate G3 (Startup & Individual Testing). Gate has 9 baseline requirements with a total weight of 78. Scenario: 5 requirements evidenced (W = 10+10+10+10+8 = 48), 1 open Critical defect, 1 open Major defect, 1 overdue Moderate defect (age 22 d), 1 pending sign-off role, 2 unconfirmed overlays (source B, hard). Trace every number against the inline scoring.

  1. readinessPct raw: completedWeight = 48, totalWeight = 78 → 48/78 × 100 = 61.5% → round = 62%
  2. Missing mandatory evidence cap: G3 has 8 mandatory requirements; 5 have accepted evidence → missingMandatoryEvidence = 3 > 0 → readinessPct = min(62, 95) = 62% (cap does not bite here; would bite only above 95%)
  3. Missing approvals cap: G3 requires Cx Lead + Ops Lead; 1 pending → missingApprovals = 1 > 0 → readinessPct = min(62, 99) = 62%
  4. Gate status: openCritical = 1 > 0 → blocked (even with overlayHardBlockers = 2 also triggering blocked)
  5. Confidence:
    = 100 − (1×18) − (1×8) − (3×7) − (1×6) − (0×5) − overduePenalty − overlayPenalty
    overduePenalty: Moderate defect age 22 d > threshold 20 d → 1 defect × 3 = 3
    overlayPenalty: 2 unconfirmed overlays × 2 = 4
    = 100 − 18 − 8 − 21 − 6 − 0 − 3 − 4 = 40% → Weak confidence band
  6. Forecast — G3 → G4: baseDays = 10 × 1.0 (Enterprise archetype) = 10 d
    blockerDrag = 1×3 + 1×1 = 4 d
    evidenceDrag: G4 has 7 mandatory reqs; assume 4 missing accepted evidence = 4 d
    signoffDrag: 1 missing sign-off × 2 = 2 d
    retestDrag: 1 defect with retestRequired × 2 = 2 d
    witnessDrag: 1 witness-required test not yet completed × 1 = 1 d
    uncertaintyDrag: 0 source-C/D overlays (both are B) → ceil(0 × 0.5) = 0 d
    totalDays = 10 + 4 + 4 + 2 + 2 + 1 + 0 = 23 days from today
Verification method: open rfs-readiness-workbench.html locally, create a project with one unit and the above evidence/defect state, observe the gate board — G3 should show blocked, readiness chip at 62%, confidence ring at 40% (Weak), and forecast at today + 23 d. The page runs the same arithmetic client-side with no server round-trip, so a screenshot of the rendered values is the ground truth.

07 References & standards

08 Assumptions & limitations

Gate base-day durations (GATE_BASE_DAYS) are representative industry benchmarks for a well-resourced medium-sized data center build; they are not contractually binding schedules. The archetype multipliers are calibrated estimates — actual schedule must be confirmed against the project programme. The forecast is additive and optimistic in that drag terms do not account for parallel resolution of multiple issues; resolving a Critical defect simultaneously with a sign-off chase could reduce totalDays less than the formula implies. Evidence acceptance is user-asserted: the workbench trusts the operator's judgment on whether an uploaded document genuinely satisfies the requirement criteria — it does not parse documents. Defect closure is likewise operator-driven. This workbench is an engineering planning and audit aid; final RFS determination requires a qualified commissioning manager sign-off and, where applicable, customer and authority acceptance under the contract.

▶ Open the live RFS Readiness Workbench