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
Challenge
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
          • 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
            • Challenge: Product Engineering Workflow
            • Motivation
            • Context
              • Domain Modelling
              • High-Level Use Cases / JTBD (Required)
            • Current State -> Desired State
            • Assumptions & Open Questions
            • Constraints & Out of Scope
            • Evaluation
            • Risks & Opportunities
            • Relationships
            • Solution Ideas & Tradeoffs
            • Release Sequencing
          • 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
    • Challenge: Product Engineering Workflow
    • Motivation
    • Context
      • Domain Modelling
      • High-Level Use Cases / JTBD (Required)
    • Current State -> Desired State
    • Assumptions & Open Questions
    • Constraints & Out of Scope
    • Evaluation
    • Risks & Opportunities
    • Relationships
    • Solution Ideas & Tradeoffs
    • Release Sequencing
    1. Home
    2. Work
    3. Archived
    4. Code canonical orchestration

    Challenge

    Challenge: Product Engineering Workflow¶

    How might we define a simple BetterFleet product engineering workflow that humans can follow directly and Codex can govern reliably, so work moves from challenge to specification to story-based delivery without losing release traceability?

    Motivation¶

    • BetterFleet already has challenge, specification, story, and release-note practices, but the default workflow joining them is still too implicit and the Linear mapping is still being defined.
    • Teams need one readable path for normal governed work.
    • Teams also need the canonical workflow artefacts to live in code in the places they will actually find and maintain them.
    • Codex needs the same path to be explicit so it can guide governance and then assist delivery.
    • Delivery should start from one narrow story and keep release-note work current as code lands.

    Context¶

    • Repo artifacts should remain the canonical source of truth for governed work.
    • Linear should mirror the canonical artifacts for operational planning.
    • The core workflow should be only three phases: Discovery, Definition, and Delivery.
    • The workflow must be simple enough to run manually before any automation exists.
    • Supporting BFDev docs needed to publish, find, or maintain the workflow may also need to live alongside the canonical artifacts in code.
    • A developer, driving through Codex, should be able to start from one Linear issue, then confirm the broader challenge/spec context through links back to the canonical repo artifacts.

    Domain Modelling¶

    • Domain: BetterFleet product engineering workflow.
    • Primary entities: Challenge, Specification, Story Set, Linear Initiative, Linear Project, Linear Issue, Linear Milestone, and unreleased release-note entry.

    High-Level Use Cases / JTBD (Required)¶

    • As a product lead, I want discovery to end in a canonical challenge so the real problem is explicit before solution design starts.
    • As an Engineering Lead (DRI) handling Definition, I want definition to end in a canonical specification and story set so delivery starts from narrow, buildable slices.
    • As a developer using Codex, I want governed work to check challenge, spec, and story context before coding so I do not start from partial intent.
    • As a developer using Codex, I want each mirrored Linear issue to contain one narrow user story with enough context to start work directly, so I do not need to reconstruct the intended slice from surrounding project notes.
    • As a delivery stakeholder, I want Linear to mirror the canonical artifacts so day-to-day planning stays aligned.
    • As a release stakeholder, I want unreleased release notes updated during delivery so a milestone is ready for end consumption when its stories are done.

    Current State -> Desired State¶

    Current State (Pain/Gain) Desired Outcome Success Measure
    Pain: the default workflow is spread across habits and draft docs One clear workflow explains the standard path for governed work A reviewer can explain the workflow from the canonical artifacts alone
    Pain: developers can start coding without clear upstream context Governed delivery starts from a narrow canonical story Less ambiguity about what "ready to code" means
    Pain: the workflow does not yet define how Linear should mirror the canonical artifacts BetterFleet-specific Linear mapping is written down concisely A reviewer can map challenge/spec/story to Initiative/Project/Issue without guessing
    Pain: the workflow is not yet prominent or easy to find in the BFDev docs surfaces people actually use The canonical workflow lives as a persistent process artifact with aligned supporting docs surfaces A reviewer can find the workflow and related guidance without relying on project-only context
    Gain to unlock: Codex can assist governance and coding Codex can check the same artifact chain humans use Governed work can be validated against explicit rules instead of tacit context

    Assumptions & Open Questions¶

    • Key assumptions:
      • Repo artifacts remain canonical.
      • Linear is an operational mirror.
      • Delivery works story by story.
      • Milestones matter for normal product releases, but this internal workflow simplification does not need its own milestone plan in this pass.
    • Open questions:
      • None for this pass.
    • Validation plans (who/what/when):
      • Product and engineering review the challenge, specification, story set, and Linear mapping doc together.
      • The workflow is validated when a reviewer can explain the three phases, the Linear mapping, and the default Codex guardrails from the written artifacts alone.

    Constraints & Out of Scope¶

    • Constraints:
      • The workflow must stay readable and manual-first.
      • Normal governed work should follow Challenge -> Spec -> Story -> Delivery.
      • Bypassing the workflow must be an explicit user choice.
    • Out of scope:
      • Runtime validators, sync jobs, or enforcement services.
      • A full Linear user guide.
      • Detailed rollout or release tooling design.

    Evaluation¶

    • User value:
      • Less ambiguity about how work should start and move forward.
      • Clearer handoff from discovery to definition to delivery.
      • Better release traceability because delivery updates release notes as it goes.
    • Business value & strategic alignment:
      • Better consistency across human and Codex-driven work.
      • Faster onboarding into the BetterFleet way of working.
      • Cleaner foundation for later automation, if it is still justified after manual use.

    Risks & Opportunities¶

    • Risks:
      • The workflow remains too broad and keeps carrying exploratory detail that people will not follow.
      • Linear or draft docs are treated as canonical when the repo artifacts should win.
    • Opportunities:
      • Establish one default BetterFleet workflow for governed project work.
      • Make Codex governance practical without adding tooling first.

    Relationships¶

    • Related projects: BFDev process docs, Codex-assisted delivery, Linear operating practice, and release-note preparation.
    • Upstream/downstream dependencies:
      • The challenge feeds the specification, story set, Linear mirror rules, and Codex guardrails.

    Solution Ideas & Tradeoffs¶

    • Idea A (Preferred): keep a lean canonical artifact chain and document only the Linear mapping and Codex rules needed to run it.
      • Best for readability and day-to-day use.
    • Idea B: keep the broader exploratory workflow model with more stages, gates, and tool concepts.
      • Covers more possibilities, but stays harder to read and harder to follow.
    • Idea C: define tooling and enforcement first, then document the workflow around those rules.
      • Faster to mechanize, but higher risk of enforcing the wrong workflow.
    • Preferred direction: Idea A, because BetterFleet first needs a direct workflow that humans and Codex can both follow.

    Release Sequencing¶

    • Natural or value-based order:
      • Rewrite the canonical challenge, specification, and story set.
      • Add the concise Linear mapping doc and Codex guardrails.
      • Apply the workflow to governed project work and refine it from use.
    • Smaller parts to solve first:
      • Make the three phases explicit.
      • Make the repo-vs-Linear split explicit.
      • Make Codex default behavior explicit.
    • Potential slices/releases:
      • v1: simplified canonical artifacts and guardrails.
      • v1.1: practical use on governed project work.
    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.