{"id":50792882,"url":"https://github.com/cryptojones/bruno","last_synced_at":"2026-06-12T12:02:25.822Z","repository":{"id":357674847,"uuid":"1238050342","full_name":"CryptoJones/BRUNO","owner":"CryptoJones","description":"Building Rescue and Unified Navigation Operations — Fire service tactical decision support","archived":false,"fork":false,"pushed_at":"2026-05-13T19:41:34.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-13T21:29:36.829Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CryptoJones.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-13T19:06:21.000Z","updated_at":"2026-05-13T19:41:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/CryptoJones/BRUNO","commit_stats":null,"previous_names":["cryptojones/bruno"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/CryptoJones/BRUNO","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FBRUNO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FBRUNO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FBRUNO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FBRUNO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CryptoJones","download_url":"https://codeload.github.com/CryptoJones/BRUNO/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FBRUNO/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34243053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-12T12:01:46.844Z","updated_at":"2026-06-12T12:02:25.786Z","avatar_url":"https://github.com/CryptoJones.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BRUNO — Building Rescue and Unified Navigation Operations\n\n\u003e **Before deploying in an operational context, read [LIMITATIONS.md](LIMITATIONS.md).**\n\n\n\u003e *\"There is no call too routine or too small to treat with complete respect.\"*\n\u003e — Chief Alan Brunacini, Phoenix Fire Department\n\n**BRUNO** is an AI assistant fine-tuned on fire service operations, incident command, hazardous materials, structural firefighting tactics, and rescue operations — built to assist **Firefighters, Company Officers, and Incident Commanders** in the field and in training.\n\nNamed after **Chief Alan Brunacini** of the Phoenix Fire Department — the father of modern Incident Command, the architect of FIRESCOPE, and the man who put \"Be Nice\" on the back of a fire helmet.\n\nPart of the **Ronin 48** suite alongside SELMA, BONES, ABBY, and ATTICUS.\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg?logo=apache)](https://opensource.org/licenses/Apache-2.0)\n[![HuggingFace](https://img.shields.io/badge/HuggingFace-Ronin48LLC%2Fbruno--lora--adapter-FFD21E?logo=huggingface\u0026logoColor=000)](https://huggingface.co/Ronin48LLC/bruno-lora-adapter)\n[![Codeberg](https://img.shields.io/badge/Codeberg-Ronin48%2FBRUNO-2185D0?logo=codeberg\u0026logoColor=white)](https://codeberg.org/Ronin48/BRUNO)\n[![GitHub](https://img.shields.io/badge/GitHub-CryptoJones%2FBRUNO-181717?logo=github\u0026logoColor=white)](https://github.com/CryptoJones/BRUNO)\n\n---\n\n## Supporters\n\nBRUNO is community-funded. Every contribution keeps this project free, open, and in the hands of the companies who need it most.\n\n| Donor | Amount | Note |\n|---|---|---|\n| Ronin 48, LLC | N/A | Founding donor \u0026 primary sponsor of research time and equipment |\n\n*Want to support BRUNO? Reach out to the maintainers.*\n\n---\n\n## Overview\n\n| Attribute | Value |\n|---|---|\n| **Full Name** | Building Rescue and Unified Navigation Operations |\n| **Named After** | Chief Alan Brunacini, Phoenix Fire Department |\n| **Role** | Fire service tactical decision support |\n| **Users** | Firefighters, Company Officers, Incident Commanders |\n| **Base Model** | `meta-llama/Llama-3.3-70B-Instruct` (fine-tuned) |\n| **Baseline** | `meta-llama/Llama-3.3-70B-Instruct` (prompt-only) |\n| **Suite** | Ronin 48 — Model #5 |\n\n---\n\n## Capabilities\n\n- **Size-up** — Building construction types, occupancy hazards, life safety priorities, RECEO-VS framework\n- **Incident Command** — ICS/NIMS structure, sector assignments, resource tracking, span of control\n- **Structural firefighting** — Attack line placement, ventilation, search and rescue, RIT operations\n- **Hazmat** — DOT placard identification, ERG lookups, decon procedures, hot/warm/cold zone setup\n- **Extrication** — Vehicle stabilization, disentanglement techniques, tool selection, medical coordination\n- **Water supply** — Hydrant calculations, relay pumping, tanker shuttle, rural water ops\n- **Wildland/WUI** — LCES, fire behavior, structure triage, defensible space assessment\n- **Special rescue** — Confined space, trench rescue, rope rescue, water rescue\n- **Mayday/RIT** — LUNAR reporting, air management, thermal imaging, RIT deployment\n- **Pre-fire planning** — Building walkthrough checklists, Knox box, FDC locations, occupant load\n\n---\n\n## Architecture\n\n```\nBRUNO\n├── src/bruno/          Core library (prompts, model interface)\n├── scripts/\n│   ├── data_collection/    Protocol and guideline scrapers\n│   ├── training/           QLoRA fine-tuning pipeline\n│   └── evaluation/         Tactical accuracy benchmarks\n├── configs/            Training and model configuration\n├── data/\n│   ├── raw/            Source documents and datasets\n│   ├── processed/      Cleaned, formatted training data\n│   └── synthetic/      AI-generated fireground scenarios\n├── ollama/             Modelfile for local deployment\n└── tests/              Unit tests\n```\n\n---\n\n## Training Data Sources\n\n| Source | Description | License |\n|---|---|---|\n| NFPA 1 / NFPA 101 / NFPA 13 | Fire code, life safety, suppression systems | Public reference |\n| IFSTA Essentials / Fire Officer | Core curriculum for firefighter and officer training | Public guidelines |\n| NIOSH Fire Fighter Fatality Reports | Line-of-duty death investigations | Public Domain |\n| NIST Fire Research | Structural fire behavior research, UL studies | Public Domain |\n| DOT Emergency Response Guidebook (ERG) | Hazardous materials emergency response | Public Domain |\n| ICS-100 through ICS-400 | FEMA NIMS/ICS training materials | Public Domain |\n| FEMA/USFA Fire Data | National fire statistics, incident data | Public Domain |\n| Synthetic Scenarios | AI-generated fireground and incident scenarios | Proprietary |\n\n---\n\n## Quick Start\n\n```bash\n# Baseline (prompt-only, no fine-tuning required)\nollama run Ronin48/bruno:v0.1.0\n\n# Fine-tuned (after training completes)\nollama run Ronin48/bruno:v1.0.0\n```\n\n---\n\n## Training\n\n```bash\n# Generate synthetic scenarios\npython scripts/data_collection/generate_synthetic.py\n\n# Prepare dataset\npython scripts/training/prepare_dataset.py\n\n# Train (QLoRA on 70B)\npython scripts/training/train_qlora.py --config configs/training_config.yaml\n\n# Merge adapter\npython scripts/training/merge_adapter.py --config configs/training_config.yaml\n```\n\n---\n\n## Related Models — Ronin 48 First Responder Suite\n\nBRUNO, BONES, and SELMA are the three first responder models. They share scenes constantly — consult the appropriate model for each domain.\n\n| Model | Domain | Use When... |\n|---|---|---|\n| **BRUNO** | Fire Service — Company Officer / IC | Fireground tactics, size-up, hazmat, extrication, water supply, ICS |\n| **[BONES](https://codeberg.org/Ronin48/BONES)** | EMS — EMR / EMT / AEMT / Paramedic | Patient assessment, treatment protocols, drug dosing, triage, transport |\n| **[SELMA](https://codeberg.org/Ronin48/SELMA)** | Law Enforcement | Criminal statute identification, charge elements, constitutional flags |\n\n### Common Shared Scenes\n\n| Scene Type | Primary | Support |\n|---|---|---|\n| Structure fire with casualties | BRUNO (fireground ops) | BONES (patient care) |\n| Vehicle accident with entrapment | BRUNO (extrication) | BONES (patient care during extrication) |\n| Hazmat with patient exposures | BRUNO (mitigation, decon zone) | BONES (patient decon and treatment) |\n| Mass casualty incident | BONES (triage, treatment) | BRUNO (ICS, sectors) + SELMA (criminal nexus if applicable) |\n| Arson investigation | BRUNO (origin/cause, fire behavior) | SELMA (arson statutes) + BONES (patient care) |\n| DUI crash with entrapment | BRUNO (extrication) | BONES (patient care) + SELMA (criminal charges) |\n| Wildland/WUI with structure threat | BRUNO (tactical operations) | BONES (civilian casualties) |\n| Active shooter / active threat | BRUNO (scene safety, ICS) | BONES (casualty care, TECC) + SELMA (legal authority) |\n| Cardiac arrest in a burning structure | BRUNO (scene safety, egress) | BONES (resuscitation protocol) |\n| Confined space rescue | BRUNO (rescue ops, atmospheric monitoring) | BONES (patient extraction and care) |\n\n\u003e ABBY (digital forensics) operates independently of the first responder suite. SELMA pairs with [ATTICUS](https://codeberg.org/Ronin48/ATTICUS) on the legal side — prosecution and defense counterparts.\n\n---\n\n## ⚠ Disclaimer\n\n**BRUNO is a tactical decision support tool, not a replacement for your training, your officer, or your IC.**\n\n- All tactical decisions must follow your department's SOGs, SOPs, and incident command.\n- BRUNO does not replace Mayday procedures, air management, or RIT activation — follow your training.\n- Hazmat recommendations must be verified against the current ERG and your local hazmat team.\n- This tool is intended for training and reference only — it is not a substitute for live drills, NFPA certification, or medical direction on fire-related injuries.\n\n**When in doubt, call your IC.**\n\n---\n\n## Training Notes\n\nIf you're training BRUNO on RunPod or another GPU cloud provider, read [LESSONS_LEARNED.md](LESSONS_LEARNED.md)\nbefore you start. ABBY's file has the most complete record of first-run errors and fixes —\nBRUNO's file links there and will capture any BRUNO-specific issues as they arise.\n\n---\n\n## License\n\nMIT License — see [LICENSE](LICENSE)\n\n---\n\nProudly Made in Nebraska. Go Big Red! 🌽\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptojones%2Fbruno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcryptojones%2Fbruno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptojones%2Fbruno/lists"}