// rules-based prototype
Fleet Maintenance Review Tool
A rules-based prototype that compares fleet records with configured maintenance intervals and flags vehicles for human review. It does not predict failures or determine whether a vehicle is safe to operate.
Import vehicle-inventory and service-history CSV files, apply configured maintenance schedules, and see which evaluated tasks are current, due soon, overdue, or cannot be assessed because required data is missing. A review-priority score helps organize follow-up. Fleet staff must verify the records, assess reported faults, and make all maintenance and operational decisions.
Review-priority score A higher score ranks a vehicle higher for review under the selected rules. It is not a measure of failure probability, vehicle safety, or authorization to operate. Always read it alongside the vehicle’s maintenance-schedule status and resolve insufficient data.
Prototype · Read before use
This is a deterministic, rules-based tool, not a validated failure-prediction model. The included maintenance intervals are placeholders, not manufacturer or agency schedules. Replace them with an approved maintenance program before interpreting results for a real fleet. The tool does not verify source records, assess mechanical faults, or make operational or safety decisions.
02 · How it works
From two CSV files to a review list
The command-line tool runs locally on Windows with Python 3.12 and makes no network calls, accounts, or telemetry. It processes the files you provide and writes requested reports to local destinations.
- Import two CSV files. A vehicle inventory with current odometer and engine-hour readings, plus a service history. The tool validates both files and reports detected issues with their location and correction guidance where available.
- Apply configured maintenance schedules. A rules file defines task intervals by miles, engine hours, and calendar months for each asset class. The bundled intervals are placeholders; replace them with your approved maintenance program.
- Classify evaluated tasks. Each configured task is classified as current, due soon, overdue, or insufficient data. The vehicle’s displayed status reflects the most severe status among its evaluated tasks, and the task driving that status is identified.
- Order vehicles for review. Each vehicle receives a review-priority score from five documented components. The
explaincommand shows the component inputs and contributions for one vehicle.
Maintenance-schedule status
| Status | What it means (default thresholds) |
|---|---|
| Current | Less than 85% of the interval used on every measured criterion. |
| Due soon | At least 85% of an interval used, but not yet at 100%. |
| Overdue | At or past an interval. |
| Insufficient data | Required information is missing or inconsistent—for example, there is no matching service record, a required reading was not recorded, a current reading is missing, or the current reading is below the last-service reading. Missing information is not treated as current. |
Review priority score
The score ranges from 0 to 100 and combines five configurable components: the most-due applicable criterion, overdue magnitude, additional pressure from other maintenance criteria, repeated corrective maintenance when service records are categorized for that calculation, and data completeness.
“Additional pressure” reflects configured interval criteria, not a count of work orders or a measured maintenance workload. More than one criterion may apply to the same maintenance task.
Weights, thresholds, and bands are configurable. Under the default weights, the missing-data component alone cannot place a vehicle in the highest band; a different configuration can change that result. Review vehicles marked insufficient data separately and do not use the score by itself.
Quickstart (Windows PowerShell)
From the folder where you saved the release files, check the download against the published hash, then install and run the bundled synthetic demo:
Get-FileHash .\nbdf_fleet-0.1.0-py3-none-any.whl -Algorithm SHA256 Get-Content .\SHA256SUMS.txt
py -3.12 -m venv .venv .\.venv\Scripts\python.exe -m pip install .\nbdf_fleet-0.1.0-py3-none-any.whl .\.venv\Scripts\nbdf-fleet.exe demo
The two hash strings must match. The wheel has no dependencies, so the install works offline. To use your own data, create a workspace, fill in the two CSV templates, replace the placeholder intervals in rules.toml, then validate and analyze:
$asOf = Get-Date -Format 'yyyy-MM-dd' .\.venv\Scripts\nbdf-fleet.exe init '.\my-fleet' .\.venv\Scripts\nbdf-fleet.exe validate ` '.\my-fleet\vehicles.csv' ` '.\my-fleet\service_history.csv' ` --config '.\my-fleet\rules.toml' .\.venv\Scripts\nbdf-fleet.exe analyze ` '.\my-fleet\vehicles.csv' ` '.\my-fleet\service_history.csv' ` --config '.\my-fleet\rules.toml' ` --as-of $asOf ` --output-dir '.\my-fleet\out' $vehicleId = Read-Host 'Enter a vehicle ID from your vehicles.csv' .\.venv\Scripts\nbdf-fleet.exe explain ` '.\my-fleet\vehicles.csv' ` '.\my-fleet\service_history.csv' ` $vehicleId ` --config '.\my-fleet\rules.toml' ` --as-of $asOf
Keep real fleet data on your own machine. The README included with the download covers every command, the input schema, exit codes, and the full scoring method.
03 · Potential impact
Why build it
For teams that manage vehicle records in spreadsheets, paper logs, or separate systems, applying one documented set of rules can provide a consistent first pass for review. This prototype offers a local workflow for that purpose; staff-time savings and maintenance outcomes have not been measured.
Agencies can configure the schedules and scoring rules, but configuration alone does not validate the results. Before operational use, the rules must be calibrated and validated using representative fleet data, reviewed by fleet subject-matter experts, and used with ongoing human oversight.
The code includes an interface intended to support future evaluation of other scoring approaches. No predictive model is included or validated.
04 · Limitations
Limitations and caveats
- Prototype status. This is a rules-based heuristic, not a validated failure-prediction model. It does not predict failures, estimate probabilities, or forecast costs.
- Placeholder intervals. The default maintenance intervals are placeholders, not manufacturer or agency schedules. The terminal and HTML reports display a warning while
placeholder_intervalsis true in the rules file; JSON metadata also records the warning. - Not calibrated or validated against representative real fleet data. The bundled and example datasets are synthetic.
- Requires calibration and validation before operational use. Rules must be calibrated and validated using representative fleet data, with intervals, thresholds, weights, and bands set to your maintenance program and reviewed by fleet subject-matter experts.
- Requires human oversight throughout. Fleet staff must independently verify records and retain responsibility for all maintenance, operational, and safety decisions. The tool does not make these decisions.
- Readings are trusted as entered. A wrong but plausible odometer or engine-hour reading passes validation and drives the result.
- License. Licensed under MPL-2.0. The license covers this project only, not the rest of the North Bay Digital Foundry repository or website.
Review-priority score The score is a configurable review aid, not a risk measure. Read it with the maintenance status and review insufficient-data vehicles separately.
05 · Download
Download
Version 0.1.0 (prototype) is published as a GitHub pre-release: a Python wheel, a CLI-only source zip, and SHA256SUMS.txt. Check the wheel's hash before installing (see the quickstart above).
Direct links to the release files:
nbdf_fleet-0.1.0-py3-none-any.whl— installable wheel (Python 3.12, no dependencies)nbdf-fleet-0.1.0-source.zip— source for this tool onlySHA256SUMS.txt— SHA-256 hashes for the two files above
The "Source code" archives that GitHub adds to every release contain this whole website repository, not just the tool. Use nbdf-fleet-0.1.0-source.zip for the tool's source.
Licensed under the Mozilla Public License 2.0 (MPL-2.0). The full license text ships with the download as LICENSE. It applies to this project only, not to the rest of this site.