Google Sign-In Required

Use your company Google account to access the BetterFleet private content.

Back to private home

BetterFleet Support Private
Skip to content
BetterFleet Dev Wiki
Implementation Specification: Vector DERMS
Initializing search
    bf-dev
    • Home
    • Process
    • Products
    • Reference
    • Decisions
    • Work
    • Operations
    bf-dev
    • Home
      • Process Handbook
      • BetterFleet Workflow Map
      • Product Development System
      • Product Engineering Workflow
        • Process Workflows
        • Work Intake and Weekly Planning
        • Product Engineering Workflow in Linear
        • Product Engineering Delivery
        • Agent Guidance
        • Workflow
        • Skills
        • Skill Sources
        • Process Guides
        • GitLab Feature Flags
        • In-App Docs Authoring
        • Release Notes
        • Process Templates
        • Release Plan: <title>
      • Process Publishing
      • Product overview
        • General Reference
          • Core Domain Training
          • System Topology
          • Two-Axis Ontology Model
          • Ontology Primer
          • Worked Example
          • Evidence, Ownership, and Lineage
          • Energy Management
          • Standards and Protocol Map
          • Charging, Roaming, and Commercial Model
          • Charge Planning and Operations
          • Cross-Cutting Domains
          • Domain Coverage Matrix
        • BetterFleet Product Ontology
        • Core Operations Data Ontology
        • BetterFleet R&D Plan
        • Index
        • Architecture
        • Manage Product Capabilities
        • Manage Data and State
        • Manage Service Interaction Flows
        • Manage Reference
        • Manage Internal Application Diagrams
          • Manage Authorization And Permissions
          • bf-manage-core Auth and Authorization Model
          • Manage Authorization and Permissions
          • bf-manage-web Auth and Permission Model
          • Manage Service Catalog
          • bf-depot-sim
          • bf-digital-twin (Manage Role)
          • bf-fleet-health
          • bf-manage-connect
          • bf-manage-core
          • bf-manage-incidents
          • bf-manage-roaming
          • bf-manage-sitepwrmon
          • bf-manage-web
          • bf-schedule-creator (Manage Role)
          • bf-support-microsite
          • bf-telematics
        • Index
        • Architecture
        • Plan Reference
        • Plan Internal Application Diagrams
        • Plan Migration and Flags
        • Plan Simulation Request Lifecycle
          • Plan Service Catalog
          • bf-bnl-schedule-analysis-compute
          • bf-bnl-settings
          • bf-bnl-ui
          • bf-digital-twin (Plan Role)
          • bf-route-modelling
          • bf-schedule-creator (Plan Role)
      • Where to Ask Product Questions
      • Reference
        • Platform Reference
        • Platform Architecture
        • Script Runtime Model
        • Compose Profiles and Modes
        • Repository Map
        • Monolithic Git Transition FAQ
        • Monolithic Git Sizing
        • CI and Release Integration
        • Shared Reference
        • Shared Infrastructure Architecture
        • Secrets and Env Strategy
        • Vendors and Local Dependencies
        • System Reference
        • Cloud Data Dependencies
        • Ports and URLs
        • Service Matrix
          • API Docs
          • OCPI API Docs
          • OCPP API Docs
          • OSCP API Docs
          • VDV API Docs
          • Yard State API Docs
        • System Design
        • System Design: BBA Microgrid Controller Generic Packet Translation
        • System Design: Depot Simulation
        • System Design: IoT Sensor Packet
        • System Design: Microgrid Energy Orchestration
          • System Design: OCPP Profile 3 And ISO 15118 PKI
          • Architecture: BetterFleet OCPP Profile 3 and ISO 15118 PKI
          • Specification: BetterFleet OCPP Profile 3 and ISO 15118 Certificate Lifecycle Management
          • System Design: On-Prem Control
          • Challenge
          • Specification: BetterFleet On-Prem Continuity Control
          • System Design: OSCP
          • OSCP Protocol Documentation
          • Depot Sim Testing Requirements
          • System Design: OSCP Flexibility Provider Domain
      • Decisions
        • Architecture Decision Records
        • 0001 - Record architecture decisions
        • 0002 - Cognito for Authentication and Authorisation
        • 0003 - AWS Amplify for Authentication
        • 0004 - DynamoDB for default database
        • 0005 - Data Persistence
        • 0006 - Trunk-Based Development
        • 0007 - Generalised principle for automation
        • 0008 - Naming Repositories, Services, and URLs
        • 0009 - Use Timezone Aware DateTimes and UTC
        • 0010 - Use semantic release
        • 0011 - Centralized feature flag repository
        • 0012 - Use Named Exports in Storybook
        • 0013 - RESTful TITLE GraphQL
        • 0014 - Service Granularity
        • 0015 - Async/co-routine exception handling pattern
        • 0016 - Logging & log levels
        • 0017 - Instantiated Models
        • 0018 - Repository Pattern for Database Access
        • 0019 - Use of Design Tokens in TypeScript React Application
        • 0020 - API backwards compatibility and versioning
        • 0021 - Alembic Migration strategy
        • 0022 - Consistent react-hook-form usage
        • 0023 - Domain Event-Driven Architecture
        • 0024 - Domain Event Bus Tech Stack
        • 0025 - No enum types in DB table columns
        • 0026 - In-Memory Ormar Stores for Repository testing
        • 0027 - Storing Tab State in Query and Local Storage
        • 0028 - Adopt OpenTelemetry Semantic Conventions for Structured Logging
        • 0029 - Adopt RFC 9457 for HTTP Error Responses
        • 0030 - Use GitLab registry and Terraform state for ECS services
        • 0031 - Adopt DDD, Hexagonal Architecture, and CQRS for Python Domain Services
      • Work
        • Active Work
          • Work: Bba Microgrid Controller
          • Implementation Specification: BBA Microgrid Controller
          • BBA Microgrid Controller Deliverables (Stories)
          • Work: BFDev Monolithic Git
          • Challenge
          • Specification: BFDev Monolithic Git v2
          • BFDev Monolithic Git v2 Stories
          • Work: Complex Circuit Load Balancing
          • Implementation Specification: Complex Circuit Load Balancing
          • Complex Circuit Load Balancing Deliverables (Stories)
            • COR-10 and COR-11 Consolidation Review
          • Work: Dispatch Reliability and Reconciliation
          • Challenge
          • Specification: Dispatch Reliability and Reconciliation
          • Dispatch Reliability and Reconciliation (Unit User Stories)
            • Dispatch populated vehicle cards grey surface snapshot
            • Dispatch Visual Review
          • Work: Enable Scheduled Managed Charger Access
          • Challenge: Enable Scheduled Managed Charger Access
          • Specification Exploration Dossier: Enable Scheduled Managed Charger Access
          • Specification Review: Enable Scheduled Managed Charger Access
          • Specification: Enable Scheduled Managed Charger Access
          • Work: Guided Cut-Off and Release Orchestration
          • Specification: Guided Cut-Off and Release Orchestration
          • Guided Cut-Off and Release Orchestration (Unit User Stories)
          • Work: Production Deployment Validation
          • Challenge
          • Work: Scheduled Report Parity
          • Specification: Scheduled Report Parity
          • Work: Telematics
          • Telematics EventBridge Path
          • Telematics Ingress Architecture
          • Specification: Telematics Migration into bf-manage-core with 5-Minute Freshness and Health Visibility
          • Telematics Core Migration MVP (Implementation-Time BDD)
          • Work: Vector Derms
          • Implementation Specification: Vector DERMS
            • Summary
            • System Design References
            • Project Goal
            • In Scope
            • Story Scope
            • Cross-Project Microgrid Dependencies
            • Vector-Specific Short-Term Variations
            • Current Delivery Sequencing
            • Explicitly Out of Scope for This Project
            • Current Policy Boundary
            • Backlog Link
          • Vector DERMS Deliverables (Stories)
          • Work: Visiting Vehicle Charging Visibility
          • Specification: Visiting Vehicle Charging Visibility
          • Visiting Vehicle Charging Visibility (Unit User Stories)
          • Work: Workspace Owned Stripe Roaming
          • Specification: Workspace-Owned Stripe Credentials for Roaming Payments
        • Backlog Work
          • Work: Microgrid
          • Microgrid Backlog Stories
          • Work: Mobile Ops Companion
          • Challenge
          • Specification: Mobile Operations Companion v1
          • Mobile Operations Companion Deliverables (Stories)
          • Work: Oscp
          • OSCP Backlog Stories
        • Archived Work
          • Work: Code Canonical Orchestration
          • Challenge
          • Specification: Product Engineering Workflow
          • Product Engineering Workflow Deliverables (Unit User Stories)
          • Work: Release Notes Automation
          • Release Plan: Release Notes Automation
          • Release Notes Automation Backlog Stories
      • Operations
      • Onboarding Runbook
        • Operations Runbooks
        • Production Hotfix Release
        • Staging Hotfix Release
        • Manage Staging Release Validation
        • Terraform Plan Dry Runs
        • Operations Tooling
        • Code Indexing
        • Operations Evidence
        • Database Restoration Test Report
      • Daily Operations Runbook
      • Testing Guide
      • Troubleshooting
    • Summary
    • System Design References
    • Project Goal
    • In Scope
    • Story Scope
    • Cross-Project Microgrid Dependencies
    • Vector-Specific Short-Term Variations
    • Current Delivery Sequencing
    • Explicitly Out of Scope for This Project
    • Current Policy Boundary
    • Backlog Link
    1. Home
    2. Work
    3. Active
    4. Vector derms

    Implementation Specification: Vector DERMS¶

    Summary¶

    This implementation specification defines the project-scoped delivery for the Vector DERMS milestone.

    It is an incremental delivery plan against the long-lived OSCP and microgrid system designs. It captures the Vector-specific scope, partner-profile constraints, and short-term implementation choices needed to deliver the first OSCP integration without changing the long-term system design direction.

    System Design References¶

    • Primary system design: docs/reference/system-design/oscp/spec.md
    • Dependent system design: docs/reference/system-design/microgrid.md

    Project Goal¶

    Deliver a Vector-compatible OSCP Flexibility Provider integration that binds Vector group_id values to managed microgrid scopes, manages connection configuration and lifecycle, translates incoming forecasts into microgrid OperatingEnvelope constraints, and publishes outbound metering, adjustment, and compliance messages through the OSCP domain.

    In Scope¶

    • OSCP configuration entity covering group binding to a managed microgrid scope and connection profile management.
    • OSCP operations visibility, registration, handshake, heartbeat, and lifecycle state.
    • Protocol-agnostic OperatingEnvelope translation for OSCP forecast effects, initially applied by updating legacy circuit available-capacity values associated with the mapped managed scope when that scope corresponds to a grid-connection circuit.
    • Forecast intake and translation into the microgrid OperatingEnvelope boundary.
    • Fallback-mode activation, operator visibility, gap-policy application, and intentional disconnect handover for OSCP-managed constraints.
    • Outbound group and asset measurement publication through the interim dispatcher.
    • Manual adjustment flow and compliance-error publication.
    • Vector-specific measurement profile behavior.

    Story Scope¶

    • All stories in stories.md in this folder.

    Cross-Project Microgrid Dependencies¶

    • Microgrid Provisioning and Management
    • External Capability Status to Microgrid Card
    • Microgrid Status Summary View
    • Manage UI Cycle and Breach Visibility

    Vector-Specific Short-Term Variations¶

    • The first rollout uses the Vector partner profile on top of the generic OSCP system design.
    • measurement_configuration=INTERMITTENT is required for this project.
    • The Vector profile uses UpdateAssetMeasurements as a partner-profile deviation from the canonical Capacity Provider measurement path.
    • OAuth Client Credentials and required static header behavior are part of this project scope as partner-profile configuration concerns.
    • Quarter-hour aligned metering windows and initial_measure_time behavior are required in this project even though the system design keeps that logic generic.
    • The first OperatingEnvelope implementation writes through to legacy circuit available-capacity fields and uses legacy UI surfaces for operator visibility when the managed scope maps to a legacy grid-connection circuit.
    • Current delivered OperatingEnvelope scope is limited to active-envelope compatibility projection and deterministic return to the existing non-envelope path on expiry or withdrawal.
    • The confirmed fallback treatment uses a yellow operator-visible fallback mode rather than a red fail-safe alarm, while still creating notification and incident context.
    • The current supported configurable gap-policy surface exposes only one selectable option: return to the existing circuit safe default or non-OSCP path when no matching fallback block covers now.

    Current Delivery Sequencing¶

    • The current lifecycle delivery slice is OSCP configuration, handshake, heartbeat, and visible liveness or error state.
    • The next confirmed delivery slice adds fallback-mode activation, gap-policy handling, and intentional disconnect handover on top of the existing lifecycle and forecast path.
    • Registration remains in project scope, but it is intentionally scheduled as a later follow-on story because the current Vector testing path and forecast or metering delivery do not depend on registration visibility.

    Explicitly Out of Scope for This Project¶

    • Generalized Capacity Optimizer support.
    • Broader multi-partner OSCP profile support beyond what is needed for Vector.
    • Complex multi-branch load-balancing redesign beyond the explicit OperatingEnvelope story and the listed cross-project dependencies.
    • A canonical microgrid operating-envelope history or detail view beyond what is required for the interim legacy-circuit path.
    • Additional gap-policy options beyond the current single selectable safe-default option, including dead reckoning or alternate configurable fail-safe policies.

    Current Policy Boundary¶

    • COR-19 currently proves that accepted active envelopes affect legacy circuit available-capacity and that expiry or withdrawal returns the circuit to the existing non-envelope path.
    • When OSCP heartbeat/liveness is lost and valid fallback forecast coverage exists, BetterFleet must enter yellow fallback mode, apply fallback-derived constraints, and raise operator-visible notification and incident context.
    • When primary forecast coverage has a gap, BetterFleet must enter yellow fallback mode; if matching fallback coverage exists it uses that fallback block, otherwise it applies the configured gap policy. The current supported selectable gap policy is the existing circuit safe default or non-OSCP path.
    • A user-initiated OSCP disconnect must immediately clear active OSCP forecast and fallback envelopes, return the managed scope to the current non-OSCP path, and show the operator that full local control has been taken back.

    Backlog Link¶

    • Future OSCP stories not assigned to this project should be tracked under docs/work/backlog/oscp/stories.md.
    Made with Material for MkDocs
    BFDev Docs Assistant
    New conversation?
    Ask one focused question at a time, this helps the assistant provide accurate answers about what's been implemented in BetterFleet.