diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml new file mode 100644 index 00000000..137976e7 --- /dev/null +++ b/.github/workflows/benchmark.yml @@ -0,0 +1,57 @@ +name: Run Pipeline Benchmark + +on: + pull_request: + branches: [ main, development ] + +jobs: + benchmark: + runs-on: ubuntu-latest + + services: + ollama: + image: ollama/ollama:latest + ports: + - 11434:11434 + + steps: + - name: Checkout PR Branch + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + cache: 'pip' + + - name: Install dependencies + run: | + pip install -r requirements.txt + pip install pytest + + - name: Run PR Branch Benchmark + run: | + pytest benchmark/test_benchmark.py -v + mv benchmark/benchmark_report.json branch_report.json + + - name: Checkout Target Branch + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + clean: false + + - name: Run Target Branch Benchmark + run: | + pytest benchmark/test_benchmark.py -v + mv benchmark/benchmark_report.json target_report.json + + - name: Compare Benchmarks + id: compare + run: | + python benchmark/compare_benchmarks.py branch_report.json target_report.json > comparison.md + cat comparison.md + + - name: Comment PR with results + uses: thollander/actions-comment-pull-request@v3 + with: + filePath: comparison.md diff --git a/alembic/env.py b/alembic/env.py index dd2f3739..55888cee 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -1,12 +1,20 @@ from logging.config import fileConfig -from alembic import context from sqlalchemy import engine_from_config, pool - from sqlmodel import SQLModel +from alembic import context from app.core.config import DATABASE_URL -from app.models import Extraction, Form, FormSubmission, Incident, Input, Job, Report, Template # noqa: F401 +from app.models import ( # noqa: F401 + Extraction, + Form, + FormSubmission, + Incident, + Input, + Job, + Report, + Template, +) config = context.config diff --git a/alembic/versions/001_initial_schema.py b/alembic/versions/001_initial_schema.py index 12db15df..04e6a1fc 100644 --- a/alembic/versions/001_initial_schema.py +++ b/alembic/versions/001_initial_schema.py @@ -7,10 +7,11 @@ """ from collections.abc import Sequence -from alembic import op import sqlalchemy as sa import sqlmodel +from alembic import op + revision: str = "001" down_revision: str | None = None branch_labels: str | Sequence[str] | None = None diff --git a/alembic/versions/002_v1_models.py b/alembic/versions/002_v1_models.py index 624e5b40..c943e9e8 100644 --- a/alembic/versions/002_v1_models.py +++ b/alembic/versions/002_v1_models.py @@ -16,10 +16,11 @@ from collections.abc import Sequence -from alembic import op import sqlalchemy as sa import sqlmodel +from alembic import op + revision: str = "002" down_revision: str | None = "001" branch_labels: str | Sequence[str] | None = None diff --git a/app/api/deps.py b/app/api/deps.py index 36ec257c..7850dab0 100644 --- a/app/api/deps.py +++ b/app/api/deps.py @@ -1,7 +1,9 @@ -from app.db.database import get_session from fastapi import Header, Request + from app.core.config import FIREFORM_API_KEY from app.core.errors.base import AppError +from app.db.database import get_session + def get_db(): yield from get_session() diff --git a/app/api/routes/__init__.py b/app/api/routes/__init__.py index 2264aee0..d99c8894 100644 --- a/app/api/routes/__init__.py +++ b/app/api/routes/__init__.py @@ -1,3 +1,3 @@ -from . import templates, forms +from . import forms, templates -__all__ = ["templates", "forms"] +__all__ = ["forms", "templates"] diff --git a/app/api/routes/forms.py b/app/api/routes/forms.py index 04441655..a5953ad5 100644 --- a/app/api/routes/forms.py +++ b/app/api/routes/forms.py @@ -1,6 +1,7 @@ from pathlib import Path + import requests -from fastapi import APIRouter, Depends, File, UploadFile, Query +from fastapi import APIRouter, Depends, File, Query, UploadFile from sqlmodel import Session from app.api.deps import get_db, verify_api_key @@ -10,11 +11,16 @@ ModelsResponse, TranscriptionResponse, ) -from app.core.config import OLLAMA_HOST, OLLAMA_MODEL, BASE_DIR, RETENTION_PERIOD_DAYS -from app.services.whisper import call_whisper_asr +from app.core.config import BASE_DIR, OLLAMA_HOST, OLLAMA_MODEL, RETENTION_PERIOD_DAYS from app.core.errors.base import AppError -from app.db.repositories import get_template, get_form_submission, delete_form_submission +from app.db.repositories import ( + delete_form_submission, + get_form_submission, + get_template, +) +from app.models import FormSubmission from app.services.form import FormService +from app.services.whisper import call_whisper_asr PROJECT_ROOT = BASE_DIR diff --git a/app/api/routes/input.py b/app/api/routes/input.py index 2cd2329c..d0afce64 100644 --- a/app/api/routes/input.py +++ b/app/api/routes/input.py @@ -21,7 +21,8 @@ INPUT_POLL_INTERVAL_SECONDS, ) from app.core.errors.base import AppError -from app.db.repositories import create_input, get_input as repo_get_input +from app.db.repositories import create_input +from app.db.repositories import get_input as repo_get_input from app.services.input import InputService from app.services.whisper import check_whisper_available diff --git a/app/api/routes/templates.py b/app/api/routes/templates.py index 0997517b..797c3470 100644 --- a/app/api/routes/templates.py +++ b/app/api/routes/templates.py @@ -6,11 +6,11 @@ from app.api.deps import get_db, verify_api_key from app.api.schemas.templates import ( + MakeFillableRequest, + MakeFillableResponse, TemplateCreate, TemplateResponse, TemplateUploadResponse, - MakeFillableRequest, - MakeFillableResponse, ) from app.core.config import DEFAULT_TEMPLATE_DIR from app.db.repositories import get_template diff --git a/app/api/schemas/templates.py b/app/api/schemas/templates.py index df39832b..7bacaf90 100644 --- a/app/api/schemas/templates.py +++ b/app/api/schemas/templates.py @@ -1,4 +1,5 @@ -from pydantic import BaseModel +from pydantic import BaseModel, ConfigDict + class TemplateCreate(BaseModel): name: str @@ -15,15 +16,14 @@ class MakeFillableResponse(BaseModel): field_count: int | None = None class TemplateResponse(BaseModel): + model_config = ConfigDict(from_attributes=True) + id: int name: str pdf_path: str fields: dict field_count: int | None = None - class Config: - from_attributes = True - class ExtractedField(BaseModel): name: str diff --git a/app/core/celery.py b/app/core/celery.py index a91146f7..883e6b77 100644 --- a/app/core/celery.py +++ b/app/core/celery.py @@ -1,26 +1,8 @@ from celery import Celery +from celery.schedules import crontab -from app.core.config import CELERY_BROKER_URL, CELERY_RESULT_BACKEND +celery_app = Celery("fireform") -celery_app = Celery( - "fireform", - broker=CELERY_BROKER_URL, - backend=CELERY_RESULT_BACKEND, -) - -celery_app.conf.update( - task_serializer="json", - result_serializer="json", - accept_content=["json"], - task_track_started=True, - result_expires=86400, -) - -celery_app.conf.include = ["app.tasks.fill", "app.tasks.purge", "app.tasks.transcribe"] - -# Optional Celery Beat schedule — runs purge_old_submissions once a day. -# Enable by running: celery -A app.core.celery beat -from celery.schedules import crontab # noqa: E402 celery_app.conf.beat_schedule = { "daily-submission-purge": { "task": "purge_old_submissions", diff --git a/app/db/init_db.py b/app/db/init_db.py index ebfe09b2..54ba084b 100644 --- a/app/db/init_db.py +++ b/app/db/init_db.py @@ -2,10 +2,10 @@ import logging from pathlib import Path -from alembic import command from alembic.config import Config from sqlmodel import Session, select +from alembic import command from app.core.config import DEFAULT_TEMPLATE_DIR from app.db.database import engine from app.models import FormSubmission, Template # noqa: F401 diff --git a/app/db/repositories.py b/app/db/repositories.py index f20a862f..bf490e87 100644 --- a/app/db/repositories.py +++ b/app/db/repositories.py @@ -3,7 +3,8 @@ from sqlmodel import Session, select -from app.models import Template, FormSubmission, Job, Input +from app.models import FormSubmission, Input, Job, Template + # Templates def create_template(session: Session, template: Template) -> Template: diff --git a/app/models/__init__.py b/app/models/__init__.py index bba2eecb..9e736ec7 100644 --- a/app/models/__init__.py +++ b/app/models/__init__.py @@ -12,12 +12,12 @@ ) __all__ = [ - "Template", - "FormSubmission", - "Job", - "Input", "Extraction", - "Incident", "Form", + "FormSubmission", + "Incident", + "Input", + "Job", "Report", + "Template", ] diff --git a/app/models/models.py b/app/models/models.py index c1b98492..0981f205 100644 --- a/app/models/models.py +++ b/app/models/models.py @@ -1,9 +1,9 @@ import uuid as uuid_mod -from uuid import UUID, uuid4 from datetime import date, datetime, timezone +from uuid import UUID, uuid4 -from sqlalchemy import Column, JSON -from sqlmodel import SQLModel, Field +from sqlalchemy import JSON, Column +from sqlmodel import Field, SQLModel from sqlmodel.sql.sqltypes import AutoString from app.api.schemas.enums import ( @@ -32,6 +32,7 @@ class FormSubmission(SQLModel, table=True): template_id: int = Field(foreign_key="template.id") input_id: UUID | None = Field(default=None, foreign_key="inputs.input_id") input_text: str + extracted_fields: dict | None = Field(default=None, sa_column=Column(JSON)) output_pdf_path: str created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc)) diff --git a/app/services/controller.py b/app/services/controller.py index cccb62c3..2a9efcbb 100644 --- a/app/services/controller.py +++ b/app/services/controller.py @@ -1,5 +1,5 @@ -from app.services.file_manipulator import FileManipulator from app.services.external_apis_coordinator import ExternalAPIsCoordinator +from app.services.file_manipulator import FileManipulator class Controller: diff --git a/app/services/external_apis/weather_api.py b/app/services/external_apis/weather_api.py index 61cd04f3..8f0e0ab2 100644 --- a/app/services/external_apis/weather_api.py +++ b/app/services/external_apis/weather_api.py @@ -1,5 +1,4 @@ import openmeteo_requests - import pandas as pd import requests_cache from retry_requests import retry diff --git a/app/services/external_apis/zipcode_api.py b/app/services/external_apis/zipcode_api.py index c1a043a3..094b6d5d 100644 --- a/app/services/external_apis/zipcode_api.py +++ b/app/services/external_apis/zipcode_api.py @@ -1,5 +1,5 @@ +from geopy.exc import GeocoderServiceError, GeocoderTimedOut from geopy.geocoders import Nominatim -from geopy.exc import GeocoderTimedOut, GeocoderServiceError from app.core.logging import get_logger diff --git a/app/services/external_apis_coordinator.py b/app/services/external_apis_coordinator.py index 07952ab0..1e7654f1 100644 --- a/app/services/external_apis_coordinator.py +++ b/app/services/external_apis_coordinator.py @@ -1,5 +1,6 @@ -from app.services.external_apis.zipcode_api import ZipCodeAPI from app.services.external_apis.weather_api import WeatherAPI +from app.services.external_apis.zipcode_api import ZipCodeAPI + class ExternalAPIsCoordinator: def __init__(self): diff --git a/app/services/file_manipulator.py b/app/services/file_manipulator.py index 87142e13..e4267971 100644 --- a/app/services/file_manipulator.py +++ b/app/services/file_manipulator.py @@ -1,7 +1,8 @@ import os + +from app.core.logging import get_logger from app.services.filler import Filler from app.services.llm import LLM -from app.core.logging import get_logger logger = get_logger(__name__) diff --git a/app/services/filler.py b/app/services/filler.py index 708bfc6a..a5c2d49f 100644 --- a/app/services/filler.py +++ b/app/services/filler.py @@ -1,6 +1,8 @@ +from datetime import datetime + from pdfrw import PdfReader, PdfWriter + from app.services.llm import LLM -from datetime import datetime def _pdf_text(value) -> str: diff --git a/app/services/form.py b/app/services/form.py index 72a35092..124ea574 100644 --- a/app/services/form.py +++ b/app/services/form.py @@ -76,10 +76,13 @@ def fill_and_persist( model=model, ) + extracted_fields = self.controller.file_manipulator.llm._json + submission = FormSubmission( template_id=template.id, input_id=input_id, input_text=transcript, + extracted_fields=extracted_fields, output_pdf_path=path, ) return create_form(session, submission) diff --git a/app/services/llm.py b/app/services/llm.py index e2d1639d..85e168c7 100644 --- a/app/services/llm.py +++ b/app/services/llm.py @@ -1,7 +1,8 @@ import json import os + import requests -from requests.exceptions import Timeout, RequestException +from requests.exceptions import RequestException, Timeout from app.core.config import OLLAMA_HOST, OLLAMA_MODEL from app.core.logging import get_logger @@ -92,7 +93,6 @@ def add_response_to_json(self, field: str, value: str): else: self._json[field] = parsed_value - return def get_data(self): diff --git a/app/tasks/purge.py b/app/tasks/purge.py index 83256751..0639f525 100644 --- a/app/tasks/purge.py +++ b/app/tasks/purge.py @@ -8,12 +8,13 @@ from datetime import datetime, timedelta, timezone from pathlib import Path +from sqlmodel import select + from app.core.celery import celery_app from app.core.config import BASE_DIR, RETENTION_PERIOD_DAYS from app.db.database import get_session from app.db.repositories import delete_form_submission from app.models import FormSubmission -from sqlmodel import select logger = logging.getLogger(__name__) diff --git a/benchmark/ICS_DATASET_GENERATOR_PROMPT.md b/benchmark/ICS_DATASET_GENERATOR_PROMPT.md new file mode 100644 index 00000000..aef2b99a --- /dev/null +++ b/benchmark/ICS_DATASET_GENERATOR_PROMPT.md @@ -0,0 +1,183 @@ +# ICS Benchmark Dataset Generator — System Prompt + +## Role +You are an **ICS (Incident Command System) Benchmark Dataset Specialist**. Your job is to analyze an official ICS form PDF and produce a complete, high-quality benchmark dataset for that form type. The dataset consists of three deliverables per form type: + +1. **A JSON Template Schema** (`ics_XXX.json`) — the canonical field structure for the form +2. **5 Narrative Files** (`icsXXX_N.txt`) — realistic, richly detailed incident briefing narratives +3. **5 Ground Truth JSON Files** (`icsXXX_N.json`) — structured JSON objects that exactly match the data in the corresponding narrative + +All files must be internally consistent: every field in the ground truth JSON must be directly extractable from the narrative text. + +--- + +## Step 1 — Extract the Template Schema from the PDF + +Read the provided ICS form PDF carefully. Identify every labeled field, section, sub-section, and repeating row. Then produce a **JSON template schema** where: + +- Every field is represented with its **canonical key name** (snake_case, prefixed with the section number when appropriate, e.g. `"1_incident_name"`, `"2_operational_period"`) +- Every field value is typed as a **placeholder string** `"string"`, `"boolean"`, or an **array** `[]` or **nested object** `{}` +- Repeating rows (e.g. resource tables, radio channels, personnel lists) are represented as **arrays of objects** +- Nested sections (e.g. branches with sub-groups) use **nested objects or arrays** +- No fields from the PDF are omitted — capture every labeled input box, checkbox, and table column + +### Output location +Save the template as: +``` +benchmark/datasets/templates/ics_XXX.json +``` + +--- + +## Step 2 — Generate 5 Distinct Mock Incidents + +Create **5 unique, realistic emergency incidents** to populate your dataset. Each incident must: + +- Be a **different incident type** (e.g. chemical spill, tanker collision, pipeline rupture, railcar derailment, industrial release) +- Involve a **different geography** (different U.S. states/regions/waterways) +- Involve **different response agencies** (USCG, EPA, Cal OES, State DEP, County Fire, etc.) +- Involve **different hazardous materials** (Benzene, Styrene, Chlorine, Anhydrous Ammonia, Crude Oil, Sulfuric Acid, etc.) +- Use **different operational contexts** — day shift vs. night shift, maritime vs. inland, urban vs. mountain, etc. +- Reference the **same cast of personnel across forms** — if an incident has a Planning Section Chief named "Rachel Brooks" in the ICS 201, she must appear in the ICS 202, 203, 204, etc. for that same incident + +--- + +## Step 3 — Write the Narrative (`.txt` file) + +For each incident, write a **formal ICS narrative** that reads like an official briefing document. Adhere to these rules: + +### Style & Tone +- Professional, authoritative emergency management language +- Written in full paragraphs (not bullet points), as if read aloud at a shift briefing +- Dense with operational detail — specific numbers, times, distances, frequencies, names, unit identifiers + +### Structure +The narrative must organically embed **every data field** from the template schema, in natural prose, without using JSON-style formatting or field labels. A downstream LLM must be able to read this narrative and extract every ground truth value from it. + +### Required Detail Level +- **Named personnel** with full titles and affiliations for every position +- **Specific radio frequencies** (e.g. `462.5500 MHz`, `Tone 114.8`) +- **Unit identifiers** (e.g. `HZM-01`, `ENG-41`, `RV-LC-01`) +- **Exact times** for all actions and operational periods +- **Specific geographic references** (mile markers, lat/lon, staging area locations) +- **Specific hazmat parameters** (flash points, IDLH thresholds, PPE levels, decon procedures) +- **Specific quantities** (gallons released, feet of boom, lbs of chemical, number of personnel) + +### Output location +Save each narrative as: +``` +benchmark/datasets/narratives/icsXXX_N.txt +``` +Where `XXX` is the form number (e.g. `201`, `202`, `205a`) and `N` is 1–5. + +--- + +## Step 4 — Write the Ground Truth JSON (`.json` file) + +For each narrative, produce a **strictly schema-compliant JSON object** that: + +- Uses the **exact same field structure** as the template schema in Step 1 +- Is wrapped in a top-level key: `"ics_XXX_ground_truth": { ... }` +- Populates **every field** with the exact value as stated in the narrative (no paraphrasing, no invention) +- Uses `true`/`false` (not strings) for boolean fields (e.g. `"arrived": true`) +- Uses arrays correctly for repeating elements +- Leaves fields as `""` only if the narrative explicitly states the position is unfilled — never omit fields from the schema +- All string values preserve the exact formatting used in the narrative (e.g. `"07/07/2026"` not `"2026-07-07"`) + +### Output location +Save each ground truth file as: +``` +benchmark/datasets/ground_truth/icsXXX_N.json +``` + +--- + +## Step 5 — Cross-Consistency Requirements + +Apply these rules across ALL files you create: + +| Rule | Description | +|---|---| +| **Name consistency** | Every person's name, title, and affiliation must be identical across all forms for the same incident | +| **Time consistency** | Operational period dates/times must match across ICS 202, 203, 204, 205, 205A for the same incident | +| **Unit consistency** | Resource identifiers (e.g. `HZM-01`) must match across ICS 201, 204 for the same incident | +| **Frequency consistency** | Radio frequencies in ICS 205 must match those referenced in ICS 204 and ICS 205A | +| **Incident name consistency** | The exact same incident name string must appear in every form for that incident | +| **IAP page number** | Each form type has a conventional page position in the IAP — assign realistic sequential page numbers | + +--- + +## File Naming Convention + +``` +Templates: benchmark/datasets/templates/ics_XXX.json +Narratives: benchmark/datasets/narratives/icsXXX_N.txt +Ground Truth: benchmark/datasets/ground_truth/icsXXX_N.json +``` + +Where: +- `XXX` = form number: `201`, `202`, `203`, `204`, `205`, `205a`, `206`, `207`, `208`, etc. +- `N` = incident index: `1` through `5` + +--- + +## Form-Specific Guidance + +### ICS 201 — Incident Briefing +Fields cover: incident name/number, initiation date/time, map/sketch details (area of operations, impacted areas, trajectories, shorelines), situation summary, health/safety hazards, protective measures, preparer info, objectives list, chronological tactics table, command/general staff organization (with additional positions), and full resource summary table (identifier, leader, ordered time, ETA, arrived boolean, notes). + +### ICS 202 — Incident Objectives +Fields cover: incident name, operational period (from/to date and time), objectives list (SMART-formatted strings), operational period command emphasis paragraph, general situational awareness paragraph, site safety plan required (boolean), safety plan location, IAP attachments checklist (ICS 203–208, map/chart, weather, other), preparer info, incident commander approval info, and IAP page number. + +### ICS 203 — Organization Assignment List +Fields cover: incident name, operational period, command staff (IC/UC list, deputy, safety officer, PIO, liaison), agency/organization representatives table, planning section (chief, deputy, unit leaders, technical specialists), logistics section (chief, deputy, support branch with sub-units, service branch with sub-units), operations section (chief, deputy, staging area, branches with directors/deputies/divisions/groups, air ops branch), finance/admin section (chief, deputy, unit leaders), preparer info, and IAP page number. + +### ICS 204 — Assignment List +Fields cover: incident name, operational period, branch/division/group/staging area identifiers, operations personnel (ops chief, branch director, div/group supervisor — each with name and contact), resources assigned table (identifier, leader, persons, contact, reporting location/equipment/notes), work assignments paragraph, special instructions paragraph, communications table (function/name and primary contact), preparer info, and IAP page number. + +### ICS 205 — Incident Radio Communications Plan +Fields cover: incident name, date/time prepared, operational period, radio channel table (zone/group, channel number, function, channel name/talkgroup, assignment, RX frequency with N/W, RX tone/NAC, TX frequency with N/W, TX tone/NAC, mode A/D/M, remarks), special instructions, preparer info (name, signature, date/time), and IAP page number. + +### ICS 205A — Communications List +Fields cover: incident name, operational period, basic local communications table (incident assigned position, name, methods of contact), preparer info (name, position title, signature, date/time), and IAP page number. + +--- + +## Quality Checklist + +Before finalizing, verify: + +- [ ] Template schema captures every labeled field in the PDF +- [ ] All 5 narratives reference different incidents, regions, chemicals, and agencies +- [ ] Each narrative is rich enough that a downstream LLM can extract every ground truth field from prose alone +- [ ] Every ground truth JSON is 100% schema-compliant with the template +- [ ] All string values in JSON match the narrative exactly (same spelling, same format) +- [ ] Personnel names, unit IDs, frequencies, and times are internally consistent within each incident +- [ ] Boolean fields use `true`/`false`, not `"true"`/`"false"` +- [ ] Files are saved in the correct directories with the correct naming convention + +--- + +## Example Excerpt (ICS 205) + +**Narrative excerpt:** +> *Channel 2 (Zone A): Functioned for Tactical operations, channel name HAZ-TAC-1, assigned to the Hot Zone Entry Group. Operates on RX frequency 467.7750 N with DCS tone D023 and TX frequency 467.7750 N with DCS tone D023 in Digital mode, restricting use to intrinsically safe radios only.* + +**Corresponding ground truth:** +```json +{ + "zone_grp": "Zone A", + "channel_number": "2", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "HAZ-TAC-1", + "assignment": "Hot Zone Entry Group", + "rx_frequency_n_or_w": "467.7750 N", + "rx_tone_nac": "D023", + "tx_frequency_n_or_w": "467.7750 N", + "tx_tone_nac": "D023", + "mode_a_d_or_m": "D", + "remarks": "Intrinsically safe radios only" +} +``` + +This demonstrates the core principle: **every JSON value must be explicitly readable in the narrative prose**. diff --git a/benchmark/README.md b/benchmark/README.md new file mode 100644 index 00000000..b1e52701 --- /dev/null +++ b/benchmark/README.md @@ -0,0 +1,22 @@ +# FireForm Extraction Pipeline Benchmarking Suite + +This module contains the infrastructure to evaluate and compare different extraction pipelines across branches. + +## Structure +- `/datasets/`: Contains the evaluation narratives, ground truth JSON outputs, and form template schema descriptors. +- `/evaluators/`: Defines custom comparison metrics (fuzzy matching, exact matching). +- `/runners/`: Executable scripts to run pipelines against datasets. +- `test_benchmark.py`: Pytest suite to run the evaluation dynamically on whichever pipeline is checked out. +- `compare_benchmarks.py`: Tool to format a markdown diff report comparing two output JSON report files. + +## Running Locally +Install test requirements: +```bash +pip install pytest +``` + +Execute the local benchmark: +```bash +pytest benchmark/test_benchmark.py -v -s +``` +This produces `benchmark/benchmark_report.json` containing metrics (accuracy, latency) and full result logs. diff --git a/benchmark/__init__.py b/benchmark/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/benchmark/benchmark_report.json b/benchmark/benchmark_report.json new file mode 100644 index 00000000..a93e32aa --- /dev/null +++ b/benchmark/benchmark_report.json @@ -0,0 +1,240 @@ +{ + "pipeline_name": "Pipeline_2026-08-03_18h_16m_49s", + "metrics": { + "total_latency_seconds": 1.1920928955078125e-06, + "average_accuracy": 0.0 + }, + "results": [ + { + "case_id": "ics201_1", + "latency_seconds": 1.1920928955078125e-06, + "accuracy_score": 0.0, + "extracted_fields": {}, + "ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_incident_number": "US-EPA-R4-2026-0707", + "3_date_time_initiated": { + "date": "07/07/2026", + "time": "06:30" + }, + "4_map_sketch": { + "total_area_of_operations": "1.5-mile radius from the intersection of CSX Rail Milepost 142.5 and Highway 411", + "incident_site_area": "Rail Milepost 142.5; 7 cars derailed; Car #14 breached and leaking Benzene; Car #15 LPG threatened by fire", + "impacted_areas": "500 meters downstream of Whispering Pines Creek actively sheening; air monitoring shows elevated VOCs within 300 feet downwind East", + "threatened_areas": "Whispering Pines Municipal Water Intake (2 miles downstream); Whispering Pines Nature Reserve Wetlands (1 mile downstream)", + "overflight_results": "Drone mapping downstream sheen trajectory and pinpointing structural damage to Car #14", + "trajectories": "Plume traveling East-Southeast at 5 mph; water containment trajectory moving at 1.5 knots East", + "impacted_shorelines": "Whispering Pines Creek banks", + "graphics_and_symbology": "North at top, showing County Line Road, Creek Road, Highway 411, CSX Rail Line, Staging Area at County Fairgrounds, and Boom locations 1 and 2" + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "At 05:45 hours, a CSX freight train suffered a mechanical failure leading to the derailment of 7 cars. Car #14 is breached, leaking Benzene into Whispering Pines Creek at an estimated rate of 20 gpm. A secondary brush fire (~0.5 acres) is burning adjacent to an intact LPG tank car. Local residential evacuation of a 0.5-mile downwind radius is underway.", + "health_and_safety_hazards": "Benzene exposure (carcinogen, vapor hazard, inhalation/dermal risk), flash fire hazard from pooling product, heavy machinery/rail movement, heat stress (88\u00b0F), and uneven terrain near the creek bed.", + "necessary_measures": "Isolate and deny entry with a 300-foot Exclusion Zone; continuous air monitoring for LEL, O2, and PID; Level B PPE (SCBA + chemical-resistant clothing) for Hot Zone, Level C for warm zone (<1 ppm VOCs); full structural turnout gear with SCBA for fire personnel; establish a formal wet-decon corridor at the Warm/Cold zone interface." + }, + "6_prepared_by": { + "name": "Marcus Vance", + "position_title": "Planning Section Chief (Initial)", + "signature": "Marcus Vance", + "date_time": "07/07/2026 08:00" + }, + "7_current_and_planned_objectives": [ + "Ensure the life safety of all emergency responders and the public within the affected perimeter by 09:00 hours.", + "Complete evacuation of the 0.5-mile downwind hazard zone by 09:30 hours.", + "Suppress the brush fire adjacent to the LPG tank car to prevent thermal impingement by 10:00 hours.", + "Deploy containment and deflection booming across Whispering Pines Creek at designated points to prevent downstream migration to the municipal water intake.", + "Establish a Unified Command structure involving Federal, State, Local, and Responsible Party entities by 10:30 hours." + ], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "06:00", + "actions": "Initial dispatch of County Fire and Sheriff Dept. Exclusion zone established at 500 feet." + }, + { + "time": "06:15", + "actions": "Command established by Fire Chief Thomas. Notification sent to State DEQ, EPA, and CSX Railroad." + }, + { + "time": "06:45", + "actions": "Sheriff Dept begins door-to-door mandatory evacuations of 45 homes within the downwind path." + }, + { + "time": "07:15", + "actions": "Hazmat Team 1 arrives. Begins setting up air monitoring perimeter and evaluating tank car integrity." + }, + { + "time": "07:30", + "actions": "Engine 41 and Tanker 5 begin defensive fire suppression on the right-of-way brush fire using foam blankets." + }, + { + "time": "07:45", + "actions": "State DEQ and CSX advance response teams arrive on scene. Initiated creek booming strategy." + }, + { + "time": "08:15", + "actions": "Planned: Deploy Spill Response Team to install 500 feet of deflection boom at Boom Site 1." + }, + { + "time": "08:45", + "actions": "Planned: Initiate drone overflight to map downstream sheen trajectory and pinpoint structural damage to Car #14." + }, + { + "time": "09:30", + "actions": "Planned: Complete transition from Local Command to Unified Command at the designated Mobile Command Post." + } + ], + "9_current_organization": { + "incident_commanders": [ + "Chief J. Thomas (County Fire)", + "S. Albright (State DEQ)", + "D. Miller (CSX Railroad RP)" + ], + "safety_officer": "Captain R. Mendez", + "public_information_officer": "A. Cho (County)", + "liaison_officer": "Inspector G. Sims (SO)", + "operations_section_chief": "B. Reynolds (State)", + "planning_section_chief": "Marcus Vance", + "logistics_section_chief": "K. Dunavan", + "finance_administration_section_chief": "", + "additional_positions": [ + { + "position": "Hazmat Group Supervisor", + "name": "Lt. T. Kincaid (Regional Team 1)" + }, + { + "position": "Fire Suppression Division Commander", + "name": "Batt. Chief E. Walters" + } + ] + }, + "10_resource_summary": [ + { + "resource": "Hazmat Type 1", + "resource_identifier": "Regional Hazmat Team 1", + "date_time_ordered": "07/07/2026 06:00", + "eta": "07:00", + "arrived": true, + "notes": "Positioned at Cold Zone boundary. Conducting air monitoring and plugging entry." + }, + { + "resource": "Engine Co.", + "resource_identifier": "County Engine 41", + "date_time_ordered": "07/07/2026 05:48", + "eta": "06:00", + "arrived": true, + "notes": "Assigned to Fire Suppression Division. Suppressing brush fire near rail line." + }, + { + "resource": "Engine Co.", + "resource_identifier": "County Engine 45", + "date_time_ordered": "07/07/2026 05:48", + "eta": "06:05", + "arrived": true, + "notes": "Providing water supply support to Engine 41." + }, + { + "resource": "Water Tender", + "resource_identifier": "County Tanker 5", + "date_time_ordered": "07/07/2026 06:02", + "eta": "06:20", + "arrived": true, + "notes": "Supplying continuous water flow for foam application." + }, + { + "resource": "Law Enforcement", + "resource_identifier": "County Sheriff (4 Units)", + "date_time_ordered": "07/07/2026 05:48", + "eta": "05:55", + "arrived": true, + "notes": "Establishing traffic control points, roadblocks on Creek Rd, and evacuating residents." + }, + { + "resource": "Spill Contractor", + "resource_identifier": "HEPACO Spill Team A", + "date_time_ordered": "07/07/2026 06:45", + "eta": "08:15", + "arrived": false, + "notes": "En route with 1,000 ft containment boom and vacuum trucks. Assigned to Ops / Creek booming." + }, + { + "resource": "UAS (Drone)", + "resource_identifier": "State DEQ Drone Unit 1", + "date_time_ordered": "07/07/2026 07:10", + "eta": "08:30", + "arrived": false, + "notes": "En route. Will launch from Staging Area to provide real-time thermal imaging and plume visuals." + }, + { + "resource": "Ambulance", + "resource_identifier": "County EMS Unit 12", + "date_time_ordered": "07/07/2026 06:00", + "eta": "06:12", + "arrived": true, + "notes": "Standing by at Rehab/Staging for emergency medical support or responder heat issues." + }, + { + "resource": "Vacuum Truck", + "resource_identifier": "CSX Contractor TechRad", + "date_time_ordered": "07/07/2026 07:15", + "eta": "09:30", + "arrived": false, + "notes": "Ordered by Responsible Party for offloading breached car contents once stable." + } + ] + } + }, + { + "case_id": "ics202_1", + "latency_seconds": 0.0, + "accuracy_score": 0.0, + "extracted_fields": {}, + "ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_operational_period": { + "date_from": "07/07/2026", + "date_to": "07/08/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_objectives": [ + "Maintain a zero-incident safety record for all response personnel by enforcing mandatory air monitoring and strict personal protective equipment compliance throughout the entirety of the night shift.", + "Deploy an additional five hundred feet of underflow and sorbent booming at designated downstream check-points on Whispering Pines Creek by 22:00 hours to intercept any escaping Benzene sheen.", + "Complete the structural stabilization and grounding of the breached Car #14 by 01:00 hours to prepare the vessel for safe product offloading.", + "Establish a continuous, telemetry-linked vapor monitoring perimeter around the eastern residential boundary by 20:00 hours to guarantee community safety.", + "Finalize the morning resource allocation and shift rotation plan by 04:00 hours to ensure seamless operational continuity." + ], + "4_operational_period_command_emphasis": "Place primary tactical focus on air-monitoring metrics and localized vapor suppression, particularly during the transition into night-shift hours when atmospheric inversion layers can trap hazardous vapors closer to the ground. Command explicitly prioritizes the safety of the hazardous materials entry teams working in low-visibility conditions near the creek bed over speed of recovery.", + "general_situational_awareness": "The local weather forecast predicts clearing skies with a significant ambient temperature drop to 62\u00b0F by midnight, accompanied by winds shifting from the Northwest at three to five miles per hour. This wind shift introduces a critical safety warning regarding the potential accumulation of heavy Benzene vapors in low-lying drainage ditches and creek pockets east of the derailment site. Field crews are issued a universal safety message to remain highly vigilant for low-visibility hazards, uneven muddy terrain along the banks, and potential wildlife hazards native to the adjacent wetlands.", + "5_site_safety_plan_required": true, + "approved_site_safety_plans_located_at": "Mobile Command Post inside the Forward Operations Briefing Trailer", + "6_incident_action_plan_attachments": { + "ics_203": true, + "ics_204": true, + "ics_205": true, + "ics_205a": false, + "ics_206": true, + "ics_207": false, + "ics_208": true, + "map_chart": true, + "weather_forecast_tides_currents": true, + "other_attachments": [ + "EPA Plume Trajectory Analysis Sheet", + "CSX Tank Car Cargo Manifest" + ] + }, + "7_prepared_by": { + "name": "Marcus Vance", + "position_title": "Planning Section Chief", + "signature": "Marcus Vance", + "date_time": "07/07/2026 16:30" + }, + "8_approved_by_incident_commander": { + "name": "Chief J. Thomas", + "signature": "Chief J. Thomas", + "date_time": "07/07/2026 17:00" + }, + "iap_page_number": "1" + } + } + ] +} \ No newline at end of file diff --git a/benchmark/compare_benchmarks.py b/benchmark/compare_benchmarks.py new file mode 100644 index 00000000..25e1d15b --- /dev/null +++ b/benchmark/compare_benchmarks.py @@ -0,0 +1,45 @@ +import json +import os +import sys + + +def main(): + if len(sys.argv) < 3: + print("Usage: python compare_benchmarks.py ") + sys.exit(1) + + branch_file = sys.argv[1] + target_file = sys.argv[2] + + if not os.path.exists(branch_file) or not os.path.exists(target_file): + print(f"Error: One or both files do not exist: {branch_file}, {target_file}") + sys.exit(1) + + with open(branch_file, "r") as f: + branch_data = json.load(f) + + with open(target_file, "r") as f: + target_data = json.load(f) + + b_metrics = branch_data.get("metrics", {}) + t_metrics = target_data.get("metrics", {}) + + b_acc = b_metrics.get("average_accuracy", 0.0) + t_acc = t_metrics.get("average_accuracy", 0.0) + + b_lat = b_metrics.get("total_latency_seconds", 0.0) + t_lat = t_metrics.get("total_latency_seconds", 0.0) + + # Format Markdown comparison + markdown = f""" +## Pipeline Benchmark Comparison Report + +| Metric | Target Branch ({target_data.get('pipeline_name', 'Unknown')}) | PR Branch ({branch_data.get('pipeline_name', 'Unknown')}) | Difference | +|---|---|---|---| +| **Average Accuracy** | {t_acc:.2%} | {b_acc:.2%} | {b_acc - t_acc:+.2%} | +| **Total Latency** | {t_lat:.2f}s | {b_lat:.2f}s | {b_lat - t_lat:+.2f}s | +""" + print(markdown) + +if __name__ == "__main__": + main() diff --git a/benchmark/datasets/__init__.py b/benchmark/datasets/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/benchmark/datasets/ground_truth/ics201_1.json b/benchmark/datasets/ground_truth/ics201_1.json new file mode 100644 index 00000000..ff15a1b3 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics201_1.json @@ -0,0 +1,221 @@ +{ + "ics_201_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_incident_number": "US-EPA-R4-2026-0707", + "3_date_time_initiated": { + "date": "07/07/2026", + "time": "06:30" + }, + "4_map_sketch": { + "total_area_of_operations": "1.5-mile radius from the intersection of CSX Rail Milepost 142.5 and Highway 411", + "incident_site_area": "Rail Milepost 142.5; 7 cars derailed; Car #14 breached and leaking Benzene; Car #15 LPG threatened by fire", + "impacted_areas": "500 meters downstream of Whispering Pines Creek actively sheening; air monitoring shows elevated VOCs within 300 feet downwind East", + "threatened_areas": "Whispering Pines Municipal Water Intake (2 miles downstream); Whispering Pines Nature Reserve Wetlands (1 mile downstream)", + "overflight_results": "Drone mapping downstream sheen trajectory and pinpointing structural damage to Car #14", + "trajectories": "Plume traveling East-Southeast at 5 mph; water containment trajectory moving at 1.5 knots East", + "impacted_shorelines": "Whispering Pines Creek banks", + "graphics_and_symbology": "North at top, showing County Line Road, Creek Road, Highway 411, CSX Rail Line, Staging Area at County Fairgrounds, and Boom locations 1 and 2" + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "At 05:45 hours, a CSX freight train suffered a mechanical failure leading to the derailment of 7 cars. Car #14 is breached, leaking Benzene into Whispering Pines Creek at an estimated rate of 20 gpm. A secondary brush fire (~0.5 acres) is burning adjacent to an intact LPG tank car. Local residential evacuation of a 0.5-mile downwind radius is underway.", + "health_and_safety_hazards": "Benzene exposure (carcinogen, vapor hazard, inhalation/dermal risk), flash fire hazard from pooling product, heavy machinery/rail movement, heat stress (88°F), and uneven terrain near the creek bed.", + "necessary_measures": "Isolate and deny entry with a 300-foot Exclusion Zone; continuous air monitoring for LEL, O2, and PID; Level B PPE (SCBA + chemical-resistant clothing) for Hot Zone, Level C for warm zone (<1 ppm VOCs); full structural turnout gear with SCBA for fire personnel; establish a formal wet-decon corridor at the Warm/Cold zone interface." + }, + "6_prepared_by": { + "name": "Marcus Vance", + "position_title": "Planning Section Chief (Initial)", + "signature": "Marcus Vance", + "date_time": "07/07/2026 08:00" + }, + "7_current_and_planned_objectives": [ + "Ensure the life safety of all emergency responders and the public within the affected perimeter by 09:00 hours.", + "Complete evacuation of the 0.5-mile downwind hazard zone by 09:30 hours.", + "Suppress the brush fire adjacent to the LPG tank car to prevent thermal impingement by 10:00 hours.", + "Deploy containment and deflection booming across Whispering Pines Creek at designated points to prevent downstream migration to the municipal water intake.", + "Establish a Unified Command structure involving Federal, State, Local, and Responsible Party entities by 10:30 hours." + ], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "06:00", + "actions": "Initial dispatch of County Fire and Sheriff Dept. Exclusion zone established at 500 feet." + }, + { + "time": "06:15", + "actions": "Command established by Fire Chief Thomas. Notification sent to State DEQ, EPA, and CSX Railroad." + }, + { + "time": "06:45", + "actions": "Sheriff Dept begins door-to-door mandatory evacuations of 45 homes within the downwind path." + }, + { + "time": "07:15", + "actions": "Hazmat Team 1 arrives. Begins setting up air monitoring perimeter and evaluating tank car integrity." + }, + { + "time": "07:30", + "actions": "Engine 41 and Tanker 5 begin defensive fire suppression on the right-of-way brush fire using foam blankets." + }, + { + "time": "07:45", + "actions": "State DEQ and CSX advance response teams arrive on scene. Initiated creek booming strategy." + }, + { + "time": "08:15", + "actions": "Planned: Deploy Spill Response Team to install 500 feet of deflection boom at Boom Site 1." + }, + { + "time": "08:45", + "actions": "Planned: Initiate drone overflight to map downstream sheen trajectory and pinpoint structural damage to Car #14." + }, + { + "time": "09:30", + "actions": "Planned: Complete transition from Local Command to Unified Command at the designated Mobile Command Post." + } + ], + "9_current_organization": { + "incident_commanders": [ + "Chief J. Thomas (County Fire)", + "S. Albright (State DEQ)", + "D. Miller (CSX Railroad RP)" + ], + "safety_officer": "Captain R. Mendez", + "public_information_officer": "A. Cho (County)", + "liaison_officer": "Inspector G. Sims (SO)", + "operations_section_chief": "B. Reynolds (State)", + "planning_section_chief": "Marcus Vance", + "logistics_section_chief": "K. Dunavan", + "finance_administration_section_chief": "", + "additional_positions": [ + { + "position": "Hazmat Group Supervisor", + "name": "Lt. T. Kincaid (Regional Team 1)" + }, + { + "position": "Fire Suppression Division Commander", + "name": "Batt. Chief E. Walters" + } + ] + }, + "10_resource_summary": [ + { + "resource": "Hazmat Type 1", + "resource_identifier": "Regional Hazmat Team 1", + "date_time_ordered": "07/07/2026 06:00", + "eta": "07:00", + "arrived": true, + "notes": "Positioned at Cold Zone boundary. Conducting air monitoring and plugging entry." + }, + { + "resource": "Engine Co.", + "resource_identifier": "County Engine 41", + "date_time_ordered": "07/07/2026 05:48", + "eta": "06:00", + "arrived": true, + "notes": "Assigned to Fire Suppression Division. Suppressing brush fire near rail line." + }, + { + "resource": "Engine Co.", + "resource_identifier": "County Engine 45", + "date_time_ordered": "07/07/2026 05:48", + "eta": "06:05", + "arrived": true, + "notes": "Providing water supply support to Engine 41." + }, + { + "resource": "Water Tender", + "resource_identifier": "County Tanker 5", + "date_time_ordered": "07/07/2026 06:02", + "eta": "06:20", + "arrived": true, + "notes": "Supplying continuous water flow for foam application." + }, + { + "resource": "Law Enforcement", + "resource_identifier": "County Sheriff (4 Units)", + "date_time_ordered": "07/07/2026 05:48", + "eta": "05:55", + "arrived": true, + "notes": "Establishing traffic control points, roadblocks on Creek Rd, and evacuating residents." + }, + { + "resource": "Spill Contractor", + "resource_identifier": "HEPACO Spill Team A", + "date_time_ordered": "07/07/2026 06:45", + "eta": "08:15", + "arrived": false, + "notes": "En route with 1,000 ft containment boom and vacuum trucks. Assigned to Ops / Creek booming." + }, + { + "resource": "UAS (Drone)", + "resource_identifier": "State DEQ Drone Unit 1", + "date_time_ordered": "07/07/2026 07:10", + "eta": "08:30", + "arrived": false, + "notes": "En route. Will launch from Staging Area to provide real-time thermal imaging and plume visuals." + }, + { + "resource": "Ambulance", + "resource_identifier": "County EMS Unit 12", + "date_time_ordered": "07/07/2026 06:00", + "eta": "06:12", + "arrived": true, + "notes": "Standing by at Rehab/Staging for emergency medical support or responder heat issues." + }, + { + "resource": "Vacuum Truck", + "resource_identifier": "CSX Contractor TechRad", + "date_time_ordered": "07/07/2026 07:15", + "eta": "09:30", + "arrived": false, + "notes": "Ordered by Responsible Party for offloading breached car contents once stable." + } + ] + }, + "ics_202_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_operational_period": { + "date_from": "07/07/2026", + "date_to": "07/08/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_objectives": [ + "Maintain a zero-incident safety record for all response personnel by enforcing mandatory air monitoring and strict personal protective equipment compliance throughout the entirety of the night shift.", + "Deploy an additional five hundred feet of underflow and sorbent booming at designated downstream check-points on Whispering Pines Creek by 22:00 hours to intercept any escaping Benzene sheen.", + "Complete the structural stabilization and grounding of the breached Car #14 by 01:00 hours to prepare the vessel for safe product offloading.", + "Establish a continuous, telemetry-linked vapor monitoring perimeter around the eastern residential boundary by 20:00 hours to guarantee community safety.", + "Finalize the morning resource allocation and shift rotation plan by 04:00 hours to ensure seamless operational continuity." + ], + "4_operational_period_command_emphasis": "Place primary tactical focus on air-monitoring metrics and localized vapor suppression, particularly during the transition into night-shift hours when atmospheric inversion layers can trap hazardous vapors closer to the ground. Command explicitly prioritizes the safety of the hazardous materials entry teams working in low-visibility conditions near the creek bed over speed of recovery.", + "general_situational_awareness": "The local weather forecast predicts clearing skies with a significant ambient temperature drop to 62°F by midnight, accompanied by winds shifting from the Northwest at three to five miles per hour. This wind shift introduces a critical safety warning regarding the potential accumulation of heavy Benzene vapors in low-lying drainage ditches and creek pockets east of the derailment site. Field crews must remain highly vigilant for low-visibility hazards, uneven muddy terrain along the banks, and potential wildlife hazards native to the adjacent wetlands.", + "5_site_safety_plan_required": true, + "approved_site_safety_plans_located_at": "Mobile Command Post inside the Forward Operations Briefing Trailer", + "6_incident_action_plan_attachments": { + "ics_203": true, + "ics_204": true, + "ics_205": true, + "ics_205a": false, + "ics_206": true, + "ics_207": false, + "ics_208": true, + "map_chart": true, + "weather_forecast_tides_currents": true, + "other_attachments": [ + "EPA Plume Trajectory Analysis Sheet", + "CSX Tank Car Cargo Manifest" + ] + }, + "7_prepared_by": { + "name": "Marcus Vance", + "position_title": "Planning Section Chief", + "signature": "Marcus Vance", + "date_time": "07/07/2026 16:30" + }, + "8_approved_by_incident_commander": { + "name": "Chief J. Thomas", + "signature": "Chief J. Thomas", + "date_time": "07/07/2026 17:00" + }, + "iap_page_number": "1" + } +} \ No newline at end of file diff --git a/benchmark/datasets/ground_truth/ics201_2.json b/benchmark/datasets/ground_truth/ics201_2.json new file mode 100644 index 00000000..403dcadc --- /dev/null +++ b/benchmark/datasets/ground_truth/ics201_2.json @@ -0,0 +1,139 @@ +{ + "1_incident_name": "Blackwood Chemical Pipeline Breach", + "2_incident_number": "US-EPA-R5-2026-0813", + "3_date_time_initiated": { + "date": "August 13, 2026", + "time": "07:15 hours" + }, + "4_map_sketch": { + "total_area_of_operations": "3.0-mile radius around the Blackwood Industrial Corridor", + "incident_site_area": "Pipeline Valve Station 14-B along Blackwood River Road", + "impacted_areas": "150-foot radius surrounding the breached 8-inch pressurized line releasing anhydrous ammonia gas", + "threatened_areas": "Oakridge Residential Subdivision 0.75 miles downwind to the East; Valley Water Authority Municipal Intake Facility 1.5 miles downstream", + "overflight_results": "Dense, low-hanging vapor cloud hugging the ground and moving steadily downwind, along with a localized surface sheen on the riverbank", + "trajectories": "Toxic vapor plume moving East-Northeast at 6 mph; waterborne chemical runoff traveling downstream at approximately 2.0 knots", + "impacted_shorelines": "1,000 yards down the adjacent Blackwood River", + "graphics_and_symbology": "Standard graphics and GIS symbology, oriented with North at top" + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "Third-party excavation crew accidentally punctured the main 8-inch transfer pipeline at 06:50 hours, causing an uncontrolled high-pressure release of hazardous anhydrous ammonia gas.", + "health_and_safety_hazards": "Severe atmospheric exposure to anhydrous ammonia vapor, cryogenic freeze burns upon direct contact with liquid leakage, respiratory injury, structural eye damage, responder heat stress in 85°F temperatures, and slip-and-fall risks near steep river embankment slopes.", + "necessary_measures": "Immediate establishment of a 500-foot Exclusion Zone, mandatory Level A vapor-tight PPE with SCBA for Hot Zone entry, continuous PID air monitoring at control perimeters, water curtain deployment to knock down vapor clouds, and compulsory full-body chemical decontamination at the Warm-to-Cold zone boundary prior to site exit." + }, + "6_prepared_by": { + "name": "Sarah Jenkins", + "position_title": "Initial Planning Section Chief", + "signature": "Sarah Jenkins", + "date_time": "August 13, 2026, at 08:30 hours" + }, + "7_current_and_planned_objectives": [ + "Achieve complete isolation of the pipeline segment by closing upstream valves by 09:30 hours.", + "Finish the sheltering-in-place order and partial evacuation of 120 homes in the downwind Oakridge subdivision by 10:00 hours.", + "Deploy absorbent and containment booming across the Blackwood River above the municipal water intake by 10:30 hours.", + "Fully establish a Multi-Agency Unified Command at the Regional Emergency Operations Center by 11:00 hours." + ], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "07:00 hours", + "actions": "Initial dispatch sent Blackwood Fire Department and Local Sheriff units to establish an outer safety perimeter." + }, + { + "time": "07:20 hours", + "actions": "Fire Chief R. Vance established Incident Command and ordered an immediate downwind shelter-in-place alert." + }, + { + "time": "07:45 hours", + "actions": "Hazmat Team 5 arrived on scene to conduct initial perimeter air monitoring and assist in establishing control zones." + }, + { + "time": "08:15 hours", + "actions": "Pipeline technicians confirmed valve isolation procedures were initiated, while fire crews set up unmanned monitor nozzles to disperse airborne vapors." + }, + { + "time": "09:00 hours", + "actions": "Deploy the Regional Spill Response Team to launch containment boom at River Boom Site Alpha." + }, + { + "time": "09:30 hours", + "actions": "Conduct a secondary drone air sampling flight." + }, + { + "time": "10:00 hours", + "actions": "Finalize the shift to a Unified Command structure at the Regional Emergency Operations Center." + } + ], + "9_current_organization": { + "incident_commanders": [ + "Chief R. Vance (Blackwood Fire Department)", + "Officer M. Ross (State Environmental Protection Agency)", + "J. Vance (Blackwood Pipeline Co., Responsible Party)" + ], + "safety_officer": "Captain L. Hayes", + "public_information_officer": "E. Wright", + "liaison_officer": "Deputy K. Miller", + "operations_section_chief": "D. Kowalski", + "planning_section_chief": "Sarah Jenkins", + "logistics_section_chief": "T. Bradley", + "finance_administration_section_chief": "A. Patel", + "additional_positions": [ + { + "position": "Hazmat Group Supervisor", + "name": "Lieutenant C. Webb" + }, + { + "position": "Air Monitoring Specialist", + "name": "Dr. H. Thorne" + } + ] + }, + "10_resource_summary": [ + { + "resource": "Hazmat Team 5", + "resource_identifier": "HZM-05", + "date_time_ordered": "August 13, 2026, 07:00 hours", + "eta": "Arrived", + "arrived": true, + "notes": "Executing air monitoring and entry ops at the Hot Zone perimeter." + }, + { + "resource": "Blackwood Engine 12", + "resource_identifier": "ENG-12", + "date_time_ordered": "August 13, 2026, 06:55 hours", + "eta": "Arrived", + "arrived": true, + "notes": "Actively operating water curtains for vapor suppression." + }, + { + "resource": "County Water Tender 3", + "resource_identifier": "WT-03", + "date_time_ordered": "August 13, 2026, 07:10 hours", + "eta": "Arrived", + "arrived": true, + "notes": "Supplying continuous water flow to Engine 12." + }, + { + "resource": "Sheriff Patrol Unit Group Alpha", + "resource_identifier": "SO-ALPHA", + "date_time_ordered": "August 13, 2026, 06:55 hours", + "eta": "Arrived", + "arrived": true, + "notes": "Maintaining road closures and executing downwind evacuation notices." + }, + { + "resource": "CleanHarbor Spill Response Team", + "resource_identifier": "CH-SRT-1", + "date_time_ordered": "August 13, 2026, 07:30 hours", + "eta": "09:00 hours", + "arrived": false, + "notes": "En route with 1,500 feet of river containment boom and vacuum recovery equipment." + }, + { + "resource": "State EPA Air Monitoring Drone Unit", + "resource_identifier": "EPA-DRONE-2", + "date_time_ordered": "August 13, 2026, 07:40 hours", + "eta": "08:45 hours", + "arrived": false, + "notes": "En route to provide real-time thermal and chemical plume mapping." + } + ] +} \ No newline at end of file diff --git a/benchmark/datasets/ground_truth/ics201_3.json b/benchmark/datasets/ground_truth/ics201_3.json new file mode 100644 index 00000000..e80a5e49 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics201_3.json @@ -0,0 +1,139 @@ +{ + "1_incident_name": "Cypress Bend Tanker Collision", + "2_incident_number": "US-CG-D8-2026-0921", + "3_date_time_initiated": { + "date": "September 21, 2026", + "time": "14:15 hours" + }, + "4_map_sketch": { + "total_area_of_operations": "4.0-mile radius centered at Intracoastal Waterway Mile Marker 245", + "incident_site_area": "Confluence of the Intracoastal Waterway and Cypress Bayou", + "impacted_areas": "300-yard containment zone surrounding a punctured double-hulled barge discharging Heavy Fuel Oil (HFO 380)", + "threatened_areas": "Grand Cypress Mangrove Sanctuary 2.0 miles south-southeast; Delta Commercial Oyster Leases 3.5 miles down-river", + "overflight_results": "Surface slick measuring 2.0 miles long by 100 yards wide moving with the ebb tide, with visible heavy sheen accumulating along the shoreline", + "trajectories": "Waterborne oil plume moving South-Southeast at 1.8 knots; local coastal winds blowing from Northwest at 12 knots", + "impacted_shorelines": "1.5 miles south along the eastern bank of Cypress Bayou", + "graphics_and_symbology": "Standard navigational charts and GIS symbology, oriented with North at top" + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "Tugboat towing two loaded asphalt barges collided with an anchored commercial tanker at 13:50 hours, rupturing Cargo Tank #2 starboard and releasing heavy fuel oil.", + "health_and_safety_hazards": "Hydrogen sulfide gas accumulation, hydrocarbon inhalation, direct dermal exposure, slip-and-fall hazards on oily/muddy surfaces, responder heat exhaustion in 91°F heat, and water drowning risks.", + "necessary_measures": "Establishment of a 1,000-foot Maritime Safety Zone, mandatory Level C PPE with half-mask organic vapor respirators and PFDs for over-water personnel, continuous H2S/PID air monitoring, mandatory work-rest hydration cycles, and vessel-based decontamination station." + }, + "6_prepared_by": { + "name": "Commander Elena Rostova", + "position_title": "Initial Planning Section Chief", + "signature": "Commander Elena Rostova", + "date_time": "September 21, 2026, at 15:30 hours" + }, + "7_current_and_planned_objectives": [ + "Complete primary deflection boom deployment across the mouth of Cypress Bayou by 16:30 hours.", + "Secure mechanical patching or product transfer (lightering) of Cargo Tank #2 by 18:00 hours.", + "Deploy skimming vessels to recover free-floating surface product before nightfall at 19:30 hours.", + "Establish a full Joint Information Center to handle media inquiries by 20:00 hours." + ], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "14:00 hours", + "actions": "Coast Guard Station Cypress Bend dispatched Sector Patrol Craft and issued a Notice to Mariners closing the waterway." + }, + { + "time": "14:30 hours", + "actions": "Captain M. Thorne established Incident Command and deployed first-responder skimmer boats." + }, + { + "time": "15:00 hours", + "actions": "Port Authority Hazmat Teams completed initial safety sweeps and confirmed zero structural fire threats." + }, + { + "time": "15:30 hours", + "actions": "Marine salvage engineers boarded the barge to inspect damage and prep transfer pumps." + }, + { + "time": "16:00 hours", + "actions": "Drop 2,000 feet of hard boom across the mangrove inlet." + }, + { + "time": "17:00 hours", + "actions": "Initiate lightering operations to pump fuel out of the damaged tank." + }, + { + "time": "18:30 hours", + "actions": "Deploy an evening drone overflight to track thermal slick drift patterns." + } + ], + "9_current_organization": { + "incident_commanders": [ + "Captain M. Thorne (US Coast Guard)", + "Director D. Sterling (State Department of Environmental Quality)", + "H. Vance (Cypress Towing Co., Responsible Party)" + ], + "safety_officer": "Lieutenant Commander J. Ruiz", + "public_information_officer": "C. Alvarez", + "liaison_officer": "Agent P. Brooks", + "operations_section_chief": "G. Morales", + "planning_section_chief": "Commander Elena Rostova", + "logistics_section_chief": "R. O'Connor", + "finance_administration_section_chief": "M. Lin", + "additional_positions": [ + { + "position": "Salvage & Engineering Group Supervisor", + "name": "Chief Specialist K. Vance" + }, + { + "position": "Wildlife Rescue Leader", + "name": "Dr. A. Mercer" + } + ] + }, + "10_resource_summary": [ + { + "resource": "USCG Marine Safety Detachment 1", + "resource_identifier": "USCG-MSD-01", + "date_time_ordered": "September 21, 2026, 14:00 hours", + "eta": "Arrived", + "arrived": true, + "notes": "Enforcing maritime safety zone and conducting gas monitoring." + }, + { + "resource": "Cypress Port Skimmer Vessel 4", + "resource_identifier": "SKIM-04", + "date_time_ordered": "September 21, 2026, 14:10 hours", + "eta": "Arrived", + "arrived": true, + "notes": "Actively skimming free surface product around the barge stern." + }, + { + "resource": "Delta Salvage Tug 'Warrior'", + "resource_identifier": "TUG-WARRIOR", + "date_time_ordered": "September 21, 2026, 14:30 hours", + "eta": "Arrived", + "arrived": true, + "notes": "Providing stabilizing push-support and powering transfer pumps." + }, + { + "resource": "State DEQ Water Sampling Craft", + "resource_identifier": "DEQ-BOAT-2", + "date_time_ordered": "September 21, 2026, 14:20 hours", + "eta": "Arrived", + "arrived": true, + "notes": "Collecting downstream water samples and turbidity readings." + }, + { + "resource": "National Spill Response Team Barge 8", + "resource_identifier": "NSRT-B-08", + "date_time_ordered": "September 21, 2026, 14:45 hours", + "eta": "16:30 hours", + "arrived": false, + "notes": "En route with 3,000 feet of ocean containment boom and heavy skimmers." + }, + { + "resource": "Gulf Coast Wildlife Rescue Unit", + "resource_identifier": "GC-WILD-1", + "date_time_ordered": "September 21, 2026, 15:10 hours", + "eta": "17:15 hours", + "arrived": false, + "notes": "En route to set up an oily bird stabilization and staging facility." + } + ] +} \ No newline at end of file diff --git a/benchmark/datasets/ground_truth/ics201_4.json b/benchmark/datasets/ground_truth/ics201_4.json new file mode 100644 index 00000000..60d81c6e --- /dev/null +++ b/benchmark/datasets/ground_truth/ics201_4.json @@ -0,0 +1,145 @@ +{ + "1_incident_name": "Blackwood River Chemical Spill", + "2_incident_number": "USCG-EPA-R4-2026-0813", + "3_date_time_initiated": { + "date": "08/13/2026", + "time": "07:15" + }, + "4_map_sketch": { + "total_area_of_operations": "3.5-mile radius encompassing Blackwood Industrial Park, Mile Marker 42 of the Blackwood River, and State Route 104 corridor.", + "incident_site_area": "Storage Tank #4 at Apex Chemical Tank Farm (MM 42.1, East Bank), involving a structural fracture leaking concentrated Styrene Monomer.", + "impacted_areas": "1,200 meters of Blackwood River surface exhibiting heavy product sheening and a continuous vapor plume extending 800 yards downwind across State Route 104.", + "threatened_areas": "Blackwood Municipal Drinking Water Intake (3 miles downstream at MM 39.1) and Blackwood Marsh Ecological Reserve (1.5 miles downstream).", + "overflight_results": "USCG Aux Drone Flight #1 confirmed a 200-yard wide slick migrating south-southwest at 1.8 knots with moderate shore oiling along the east riverbank.", + "trajectories": "Airborne volatile organic plume tracking East-Northeast at 6 mph; aquatic slick migrating South-Southwest at 1.8 knots downstream.", + "impacted_shorelines": "East bank riprap shoreline and adjacent low-lying mudflats from MM 42.1 to MM 41.3.", + "graphics_and_symbology": "North oriented vertically, depicting Staging Area A at Westside High School, Boom Site 1 (Deflection), Boom Site 2 (Containment), Command Post at County Fire Station 12, Exclusion Zone boundary (500 ft radius), and water intake protection zones." + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "At 06:45 EDT, a catastrophic seal failure occurred on Tank #4 at Apex Chemical Facility, releasing approximately 8,500 gallons of liquid Styrene Monomer into secondary containment, with overflow entering Blackwood River via storm drain #3 at an estimated 30 gpm. Secondary vapor cloud formed over Route 104, triggering immediate road closures and evacuation of 60 surrounding industrial properties.", + "health_and_safety_hazards": "Inhalation of toxic styrene vapors (narcotic, central nervous system depressant, respiratory irritant), flammability risk (flash point 88°F), dermal contact hazards, slip/trip/fall hazards along wet river banks, and severe heat stress (ambient temp 91°F).", + "necessary_measures": "Establish 500-foot Exclusion Zone; mandate Level B PPE (SCBA with continuous air monitor PID/LEL/O2) within Hot Zone; Level C PPE (full-face APR with organic vapor cartridges) within Warm Zone; continuous air monitoring required at CP and downwind perimeters; establish wet-decontamination corridor at Gate 2." + }, + "6_prepared_by": { + "name": "Sarah L. Jenkins", + "position_title": "Planning Section Chief", + "signature": "Sarah L. Jenkins", + "date_time": "08/13/2026 09:30" + }, + "7_current_and_planned_objectives": [ + "Maintain life safety and enforce 500-foot exclusion perimeter by 08:00 hours.", + "Complete containment booming at Boom Site 1 (MM 41.5) by 10:30 hours to protect downstream drinking water intake.", + "Secure leak source on Apex Tank #4 and complete product transfer by 12:00 hours.", + "Perform continuous air monitoring downwind along Route 104 and publish safety advisories by 11:00 hours.", + "Transition to full Unified Command (USCG, EPA, State DEQ, County Hazmat) by 10:00 hours." + ], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "07:15", + "actions": "Initial alarm dispatch; County Fire Engine 12 and Hazmat 1 respond. Initial 500-foot perimeter established." + }, + { + "time": "07:30", + "actions": "Local Command established by Chief Henderson; Apex facility emergency shutdown initiated. Route 104 closed to traffic." + }, + { + "time": "07:55", + "actions": "Regional Hazmat Team 4 arrives; initiates perimeter PID air monitoring and establishes decontamination corridor at Gate 2." + }, + { + "time": "08:20", + "actions": "USCG Sector Strike Team and EPA On-Scene Coordinator arrive on scene; initiate Unified Command setup at Fire Station 12." + }, + { + "time": "08:45", + "actions": "Marine Spill Response Vessel River Guardian deploys 1,000 feet of hard containment boom at MM 41.5 (Boom Site 1)." + }, + { + "time": "09:15", + "actions": "Planned: Entry Team 1 to enter Hot Zone under Level B PPE to secure Tank #4 bottom manifold valve." + }, + { + "time": "10:00", + "actions": "Planned: Deploy secondary sorbent deflection boom array at Boom Site 2 (MM 40.2) upstream of drinking water intake." + }, + { + "time": "11:30", + "actions": "Planned: Vacuum truck operations commence skimmer recovery of pooled styrene at storm drain outfall." + } + ], + "9_current_organization": { + "incident_commanders": [ + "Captain M. Ross (USCG Unified Command IC)", + "OSC E. Vance (EPA Co-IC)", + "Chief R. Henderson (County Fire IC)", + "J. Mercer (Apex Facility RP IC)" + ], + "safety_officer": "Lt. Commander David Miller", + "public_information_officer": "Elena Gomez (County OEM)", + "liaison_officer": "Captain Arthur Pendelton (State Police)", + "operations_section_chief": "Battalion Chief Marcus Brody", + "planning_section_chief": "Sarah L. Jenkins", + "logistics_section_chief": "Karen Albright", + "finance_administration_section_chief": "Robert Sterling", + "additional_positions": [ + { + "position": "Hazmat Group Supervisor", + "name": "Captain Donald Kross (Hazmat 1)" + }, + { + "position": "Waterborne Ops Branch Director", + "name": "Lt. Timothy Vance (USCG)" + } + ] + }, + "10_resource_summary": [ + { + "resource": "Hazmat Unit", + "resource_identifier": "HM-01", + "date_time_ordered": "08/13/2026 07:20", + "eta": "N/A", + "arrived": true, + "notes": "Conducted initial air monitoring; operating Hot Zone entry." + }, + { + "resource": "Fire Engine", + "resource_identifier": "ENG-12", + "date_time_ordered": "08/13/2026 07:15", + "eta": "N/A", + "arrived": true, + "notes": "Securing perimeter and providing fire standby protection." + }, + { + "resource": "USCG Strike Team", + "resource_identifier": "USCG-ST-04", + "date_time_ordered": "08/13/2026 07:40", + "eta": "N/A", + "arrived": true, + "notes": "Assisting with Unified Command and waterborne ops supervision." + }, + { + "resource": "Spill Response Vessel", + "resource_identifier": "RV-RG-02", + "date_time_ordered": "08/13/2026 08:00", + "eta": "N/A", + "arrived": true, + "notes": "Deployed 1,000 ft containment boom at Boom Site 1." + }, + { + "resource": "Vacuum Truck Unit", + "resource_identifier": "VAC-99", + "date_time_ordered": "08/13/2026 08:30", + "eta": "08/13/2026 10:45", + "arrived": false, + "notes": "En route to perform liquid product recovery at outfall." + }, + { + "resource": "Air Monitoring Unit", + "resource_identifier": "AMR-03", + "date_time_ordered": "08/13/2026 08:15", + "eta": "08/13/2026 09:45", + "arrived": false, + "notes": "Transporting high-sensitivity PID and Jerome mercury/VOC analyzers." + } + ] +} \ No newline at end of file diff --git a/benchmark/datasets/ground_truth/ics201_5.json b/benchmark/datasets/ground_truth/ics201_5.json new file mode 100644 index 00000000..b99d02e0 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics201_5.json @@ -0,0 +1,145 @@ +{ + "1_incident_name": "Port of Houston Sulfuric Acid Tanker Leak", + "2_incident_number": "USCG-EPA-R6-2026-1014", + "3_date_time_initiated": { + "date": "10/14/2026", + "time": "11:20" + }, + "4_map_sketch": { + "total_area_of_operations": "2.5-mile radius centered around Berth 42 of the Houston Ship Channel Tank Terminal.", + "incident_site_area": "Tanker Berth 42 (MM 51.2, West Bank), where a manifold failure on chemical parcel tanker M/T Stolt Synergy released concentrated 98% sulfuric acid.", + "impacted_areas": "500-yard perimeter along Berth 42 exhibiting localized water discoloration and acidic vapor mist, extending 400 yards downwind across adjacent industrial docks.", + "threatened_areas": "San Jacinto Battleground Historic Site 1.2 miles down-river and Channelview Residential Neighborhood 2.0 miles downwind to the North-Northwest.", + "overflight_results": "USCG Air Station Houston Helicopter 6512 confirmed a localized 150-yard plume dissipating in the ship channel with continuous water sampling underway.", + "trajectories": "Acidic vapor mist tracking North-Northwest at 8 mph; waterborne runoff moving with ebb tide East-Southeast at 1.2 knots.", + "impacted_shorelines": "400 yards of concrete bulkhead and wooden fender piling at Berth 42.", + "graphics_and_symbology": "North oriented vertically, depicting Staging Area Bravo at Jacintoport Terminal, Spill Boom Site 1, Command Post at USCG Sector Houston-Galveston, Exclusion Zone boundaries (1,000 ft radius), and ship channel navigation safety zones." + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "At 10:50 CDT on 10/14/2026, a high-pressure discharge hose burst during offloading operations at Berth 42, spilling approximately 4,200 gallons of 98% sulfuric acid into secondary containment and the ship channel, generating a dense corrosive acid mist cloud.", + "health_and_safety_hazards": "Severe skin necrosis upon contact, permanent ocular damage, pulmonary edema from acid mist inhalation, extreme heat reaction when mixed with water, and slip hazards on degraded berth decking.", + "necessary_measures": "Enforce 1,000-foot Exclusion Zone; Level A chemical suit protection with SCBA for Hot Zone entries; Level B protective suits with SCBA for Warm Zone support; continuous pH water sampling and real-time acid mist sensor monitoring; mandatory dual-stage lime neutralization decontamination wash at Gate 4." + }, + "6_prepared_by": { + "name": "Commander Richard Croft", + "position_title": "Planning Section Chief", + "signature": "Richard Croft", + "date_time": "10/14/2026 13:00" + }, + "7_current_and_planned_objectives": [ + "Enforce a 1,000-foot Exclusion Zone around Berth 42 and secure vessel offloading by 12:00 hours.", + "Complete neutralization of deck spill using sodium bicarbonate slurry by 14:00 hours.", + "Deploy chemical neutralization boom array at Berth 42 slip by 13:30 hours.", + "Monitor atmospheric acid mist levels along Channelview perimeter to ensure public safety by 15:00 hours.", + "Transition to Unified Command (USCG, EPA, TCEQ, RP) by 12:30 hours." + ], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "11:20", + "actions": "Initial emergency response initiated; Port Authority Fire Engines 81 and 82 respond; 1,000-foot safety perimeter set up." + }, + { + "time": "11:45", + "actions": "Sector Command established by Captain H. Vance; Houston Ship Channel traffic restricted to one-way slow speed." + }, + { + "time": "12:15", + "actions": "Port Hazmat Team 1 arrives on scene to establish pH monitoring grid and set up neutralization decon corridor." + }, + { + "time": "12:50", + "actions": "USCG Strike Team arrives; initiates shipboard inspection and containment audit." + }, + { + "time": "13:15", + "actions": "Stolt Tankers RP response vessel deploys chemical sorbent boom around M/T Stolt Synergy." + }, + { + "time": "14:00", + "actions": "Planned: Entry Team Alpha under Level A PPE executes emergency valve shutdown on shipboard manifold." + }, + { + "time": "14:30", + "actions": "Planned: Begin high-volume sodium bicarbonate dry-powder application on vessel deck." + }, + { + "time": "16:00", + "actions": "Planned: Perform secondary overflight to confirm complete plume dissipation." + } + ], + "9_current_organization": { + "incident_commanders": [ + "Captain H. Vance (USCG Unified Command IC)", + "OSC M. Reynolds (EPA Co-IC)", + "Chief D. Garcia (Port Authority Fire IC)", + "K. Lindqvist (Stolt Tankers RP IC)" + ], + "safety_officer": "Commander Thomas Blake", + "public_information_officer": "Laura Martinez (Port Authority)", + "liaison_officer": "Inspector R. Sterling (TCEQ)", + "operations_section_chief": "Battalion Chief A. Ross", + "planning_section_chief": "Commander Richard Croft", + "logistics_section_chief": "Sandra Keller", + "finance_administration_section_chief": "Wayne Miller", + "additional_positions": [ + { + "position": "Chemical Hazards Specialist", + "name": "Dr. V. Patel" + }, + { + "position": "Vessel Boarding Group Supervisor", + "name": "Lt. J. Thorne" + } + ] + }, + "10_resource_summary": [ + { + "resource": "Port Authority Hazmat Team", + "resource_identifier": "HZM-PORT-1", + "date_time_ordered": "10/14/2026 11:25", + "eta": "N/A", + "arrived": true, + "notes": "Executing pH sampling grid and Hot Zone entry prep." + }, + { + "resource": "Port Fire Engine", + "resource_identifier": "ENG-81", + "date_time_ordered": "10/14/2026 11:20", + "eta": "N/A", + "arrived": true, + "notes": "Securing 1,000 ft landward perimeter and foam standby." + }, + { + "resource": "USCG Gulf Strike Team", + "resource_identifier": "USCG-GST-02", + "date_time_ordered": "10/14/2026 11:50", + "eta": "N/A", + "arrived": true, + "notes": "Supervising vessel entry protocol and safety verification." + }, + { + "resource": "Chemical Response Vessel", + "resource_identifier": "RV-AC-01", + "date_time_ordered": "10/14/2026 12:00", + "eta": "N/A", + "arrived": true, + "notes": "Deployed chemical sorbent boom around vessel berth." + }, + { + "resource": "Lime Neutralization Truck Unit", + "resource_identifier": "NEUT-TRK-05", + "date_time_ordered": "10/14/2026 12:30", + "eta": "10/14/2026 14:15", + "arrived": false, + "notes": "Delivering 10 tons of dry sodium bicarbonate slurry." + }, + { + "resource": "Mobile Air Sampling Van", + "resource_identifier": "AIR-SAM-02", + "date_time_ordered": "10/14/2026 12:10", + "eta": "10/14/2026 13:45", + "arrived": false, + "notes": "Transporting real-time SO3/acid mist photoionization sensors." + } + ] +} diff --git a/benchmark/datasets/ground_truth/ics201_6.json b/benchmark/datasets/ground_truth/ics201_6.json new file mode 100644 index 00000000..d22b858a --- /dev/null +++ b/benchmark/datasets/ground_truth/ics201_6.json @@ -0,0 +1,144 @@ +{ + "1_incident_name": "Cascade Pass Chlorine Railcar Derailment", + "2_incident_number": "NTSB-EPA-R10-2026-1102", + "3_date_time_initiated": { + "date": "11/02/2026", + "time": "04:45" + }, + "4_map_sketch": { + "total_area_of_operations": "5.0-mile radius centered around BNSF Railway Milepost 218.4 near Skykomish, WA.", + "incident_site_area": "BNSF Rail Milepost 218.4; 5 freight cars derailed including pressurized tank car DOT-105J500W (BNSF-77402) containing liquefied chlorine gas with damaged protective valve housing.", + "impacted_areas": "1,500-foot vapor dispersion zone along the rail right-of-way and adjacent State Route 2.", + "threatened_areas": "Town of Skykomish (1.8 miles West downwind) and South Fork Skykomish River salmon spawning habitat (300 feet South).", + "overflight_results": "WSP FLIR Helicopter WSP-AIR-2 confirmed a localized green-yellow chlorine cloud hugging the ravine floor and drifting West-Northwest at 4 mph.", + "trajectories": "Airborne toxic plume tracking West-Northwest along State Route 2 corridor at 4 mph; zero liquid chemical runoff entering waterways.", + "impacted_shorelines": "None; ground contamination restricted to northern ravine embankment slopes.", + "graphics_and_symbology": "North oriented vertically, depicting Staging Area Charlie at Stevens Pass Maintenance Yard, Mobile Command Post at Skykomish School District Gym, 1.5-mile Exclusion Zone boundary, and State Route 2 traffic closure checkpoints." + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "At 04:15 PST on 11/02/2026, a mountain derailment caused 5 freight cars to leave the tracks. Tank car BNSF-77402 sustained severe dome housing damage, resulting in a low-rate pressurized vapor release of toxic chlorine at approximately 15 lbs/min. State Route 2 was closed and mandatory evacuation issued for 250 residents of Skykomish.", + "health_and_safety_hazards": "Severe pulmonary edema risk from chlorine gas inhalation, ocular and skin chemical burns, acute respiratory collapse, mountain hypothermia (ambient temp 34°F), and steep terrain slip hazards.", + "necessary_measures": "Enforce 1.5-mile Exclusion Zone; mandatory Level A vapor-tight encapsulated suits with SCBA for Hot Zone entry personnel; Level B suits for Warm Zone support; continuous electrochemical chlorine sensor monitoring at CP baselines; mandatory indoor shelter-in-place for outer perimeters; heated wet-decontamination trailer wash at Staging Area Charlie." + }, + "6_prepared_by": { + "name": "Lt. Colonel Alan Vance", + "position_title": "Planning Section Chief", + "signature": "Alan Vance", + "date_time": "11/02/2026 07:15" + }, + "7_current_and_planned_objectives": [ + "Complete mandatory evacuation of Skykomish township within 1.5-mile radius by 07:30 hours.", + "Perform Hot Zone entry to apply Emergency B-Kit capping assembly on chlorine railcar dome by 09:30 hours.", + "Establish continuous multi-point perimeter air monitoring along State Route 2 by 08:00 hours.", + "Secure rail right-of-way and establish Unified Command by 07:00 hours." + ], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "04:45", + "actions": "Initial alarm dispatch; Skykomish Fire and King County Sheriff units respond, closing State Route 2 at Milepost 215." + }, + { + "time": "05:15", + "actions": "Local Command established by Chief D. Olson; mandatory evacuation sirens activated across Skykomish." + }, + { + "time": "05:50", + "actions": "Regional Hazmat Team 3 and BNSF Response Team arrived on scene to initiate perimeter air testing." + }, + { + "time": "06:30", + "actions": "WSP FLIR helicopter completed thermal overflight mapping plume dispersion." + }, + { + "time": "07:00", + "actions": "Unified Command established at Skykomish School Gym with EPA Region 10 and BNSF RP." + }, + { + "time": "08:15", + "actions": "Planned: Entry Team 1 under Level A PPE initiates B-Kit capping tool installation on railcar valve dome." + }, + { + "time": "09:30", + "actions": "Planned: Perform pressure test and seal verification of capping assembly." + }, + { + "time": "11:00", + "actions": "Planned: Complete environmental health review to evaluate lifting outer zone evacuation orders." + } + ], + "9_current_organization": { + "incident_commanders": [ + "Captain E. Miller (WSP Unified Command IC)", + "OSC R. Brooks (EPA R10 Co-IC)", + "Chief D. Olson (Skykomish Fire IC)", + "M. Campbell (BNSF Railway RP IC)" + ], + "safety_officer": "Captain Marcus Vance", + "public_information_officer": "Jennifer Hayes (WSDOT)", + "liaison_officer": "Deputy S. Kowalski (KCSO)", + "operations_section_chief": "Battalion Chief T. Higgins", + "planning_section_chief": "Lt. Colonel Alan Vance", + "logistics_section_chief": "David Sterling", + "finance_administration_section_chief": "Patricia Ross", + "additional_positions": [ + { + "position": "Rail Hazmat Specialist", + "name": "G. Peterson (BNSF)" + }, + { + "position": "Evacuation Group Supervisor", + "name": "Sgt. H. Lin (KCSO)" + } + ] + }, + "10_resource_summary": [ + { + "resource": "King County Hazmat 3", + "resource_identifier": "HZM-33", + "date_time_ordered": "11/02/2026 05:00", + "eta": "N/A", + "arrived": true, + "notes": "Preparing Level A Entry Team 1 and Emergency B-Kit capping assembly." + }, + { + "resource": "Skykomish Engine 11", + "resource_identifier": "ENG-11", + "date_time_ordered": "11/02/2026 04:45", + "eta": "N/A", + "arrived": true, + "notes": "Securing State Route 2 East closure checkpoint." + }, + { + "resource": "BNSF Emergency Response Unit", + "resource_identifier": "BNSF-ER-01", + "date_time_ordered": "11/02/2026 05:15", + "eta": "N/A", + "arrived": true, + "notes": "On scene with railcar specialized capping kits." + }, + { + "resource": "WSP Aviation FLIR Helicopter", + "resource_identifier": "WSP-AIR-2", + "date_time_ordered": "11/02/2026 05:30", + "eta": "N/A", + "arrived": true, + "notes": "Completed thermal imagery mapping of plume drift." + }, + { + "resource": "Mobile Decontamination Trailer", + "resource_identifier": "DECON-04", + "date_time_ordered": "11/02/2026 05:45", + "eta": "11/02/2026 08:30", + "arrived": false, + "notes": "En route to establish warm water decon at Staging Area Charlie." + }, + { + "resource": "Hazmat Air Monitoring Recon", + "resource_identifier": "AIR-MON-10", + "date_time_ordered": "11/02/2026 06:00", + "eta": "11/02/2026 07:45", + "arrived": false, + "notes": "En route with multi-gas chlorine sensors." + } + ] +} diff --git a/benchmark/datasets/ground_truth/ics201_7.json b/benchmark/datasets/ground_truth/ics201_7.json new file mode 100644 index 00000000..99dcd09e --- /dev/null +++ b/benchmark/datasets/ground_truth/ics201_7.json @@ -0,0 +1,145 @@ +{ + "1_incident_name": "Silverwood Reservoir Crude Oil Pipeline Rupture", + "2_incident_number": "CalOES-EPA-R9-2026-0518", + "3_date_time_initiated": { + "date": "05/18/2026", + "time": "13:10" + }, + "4_map_sketch": { + "total_area_of_operations": "4.0-mile radius including Trans-California Pipeline MM 87.3, Sawpit Canyon, and Silverwood Reservoir basin.", + "incident_site_area": "Valve Station 12 along Trans-California Pipeline MM 87.3 in Sawpit Canyon, where a 12-inch pressurized crude line ruptured.", + "impacted_areas": "800 yards of Sawpit Canyon creek bed carrying crude oil towards Silverwood Lake, with a 30-acre surface oil sheen in reservoir South arm.", + "threatened_areas": "Mojave Water Agency Municipal Pumping Plant (1.5 miles North) and Silverwood Lake State Recreation Area campgrounds (0.8 miles West).", + "overflight_results": "Cal FIRE Recon Aircraft 240 confirmed heavy black crude pooling in Sawpit Canyon and a 400-yard wide oil ribbon entering Silverwood Lake.", + "trajectories": "Waterborne crude oil slick moving North at 1.0 knot towards main reservoir basin; airborne volatile organic cloud tracking Southeast at 7 mph into canyon slopes.", + "impacted_shorelines": "1.2 miles of rocky reservoir shoreline and marsh vegetation along Sawpit Canyon inlet.", + "graphics_and_symbology": "North oriented vertically, depicting Staging Area Delta at Silverwood Lake Marina, Incident Command Post at Hesperia Fire Station 30, 1,000-foot Exclusion Zone perimeter, Deflection Boom Sites A and B, and municipal water intake protection zones." + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "At 12:40 PDT on 05/18/2026, a hillside land movement ruptured a 12-inch crude oil pipeline at MM 87.3, discharging approximately 12,000 gallons of heavy crude oil into Sawpit Canyon creek before automated valves shut off flow. The oil flowed downstream into Silverwood Reservoir, threatening southern California drinking water supplies.", + "health_and_safety_hazards": "Toxic benzene vapor inhalation, volatile organic compound exposure, acute flammability (flash point 65°F), wildfire ignition risk in dry brush, slip-and-fall hazards on oily terrain, and severe heat exhaustion (ambient temp 94°F).", + "necessary_measures": "Mandatory 1,000-foot Exclusion Zone; Level B PPE with SCBA for initial Hot Zone creek entry; Level C PPE with organic vapor respirators for shoreline booming teams; continuous PID air monitoring downwind; mandatory wildland fire standby team with AFFF foam; establishment of dual-basin wash decontamination at Marina Ramp 2." + }, + "6_prepared_by": { + "name": "Captain Rachel Brooks", + "position_title": "Planning Section Chief", + "signature": "Rachel Brooks", + "date_time": "05/18/2026 15:30" + }, + "7_current_and_planned_objectives": [ + "Enforce 1,000-foot Exclusion Zone and secure pipeline isolation by 14:00 hours.", + "Deploy 2,000 feet of containment boom across Sawpit Canyon inlet by 16:30 hours to prevent oil migration to water intake.", + "Evacuate Silverwood Lake State Recreation Area campgrounds by 15:00 hours.", + "Initiate skimmer boat oil recovery in South arm of reservoir by 17:00 hours.", + "Establish Unified Command (Cal OES, EPA R9, USFS, San Bernardino County Fire, Pipeline RP) by 14:30 hours." + ], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "13:10", + "actions": "Alarm dispatch; San Bernardino County Fire Engine 30 and USFS Crew 4 respond to set up initial safety perimeter." + }, + { + "time": "13:40", + "actions": "Local Command established by Chief M. Thorne; Trans-California Pipeline operators confirm remote valve isolation at MM 85 and MM 90." + }, + { + "time": "14:15", + "actions": "State Parks Rangers complete full evacuation of Silverwood Lake campgrounds (150 visitors evacuated)." + }, + { + "time": "14:45", + "actions": "Cal OES and EPA OSC arrive on scene; Unified Command established at Station 30." + }, + { + "time": "15:15", + "actions": "Clean Harbors Spill Response Vessel deploys 1,200 feet of hard boom at Sawpit Inlet (Boom Site A)." + }, + { + "time": "16:00", + "actions": "Planned: Deploy secondary sorbent deflection boom array at Boom Site B upstream of Mojave Water Intake." + }, + { + "time": "17:00", + "actions": "Planned: Vacuum skimmer vessel Lake Clean 1 initiates surface crude extraction in South arm." + }, + { + "time": "18:30", + "actions": "Planned: Complete initial shoreline oiling assessment along Sawpit Canyon inlet." + } + ], + "9_current_organization": { + "incident_commanders": [ + "OSC C. Martinez (EPA R9 Co-IC)", + "Chief M. Thorne (SBCo Fire IC)", + "Chief Inspector A. Kim (Cal OES)", + "W. Vance (Pipeline RP IC)" + ], + "safety_officer": "Captain Gregory Hall", + "public_information_officer": "Samantha Norris (Cal OES)", + "liaison_officer": "Ranger D. Stevens (State Parks)", + "operations_section_chief": "Battalion Chief Kevin Ross", + "planning_section_chief": "Captain Rachel Brooks", + "logistics_section_chief": "Megan Taylor", + "finance_administration_section_chief": "Jason Wu", + "additional_positions": [ + { + "position": "Environmental Unit Leader", + "name": "Dr. L. Arispe (USFS)" + }, + { + "position": "Waterborne Recovery Supervisor", + "name": "Captain B. Walsh (Clean Harbors)" + } + ] + }, + "10_resource_summary": [ + { + "resource": "San Bernardino Hazmat Engine", + "resource_identifier": "ENG-30", + "date_time_ordered": "05/18/2026 13:10", + "eta": "N/A", + "arrived": true, + "notes": "Operating perimeter vapor monitoring and fire standby." + }, + { + "resource": "USFS Wildland Handcrew", + "resource_identifier": "CREW-04", + "date_time_ordered": "05/18/2026 13:15", + "eta": "N/A", + "arrived": true, + "notes": "Clearing brush and building containment dikes in Sawpit Canyon." + }, + { + "resource": "State Parks Ranger Unit", + "resource_identifier": "PARK-12", + "date_time_ordered": "05/18/2026 13:20", + "eta": "N/A", + "arrived": true, + "notes": "Completed campground evacuations and road closures." + }, + { + "resource": "Clean Harbors Spill Vessel", + "resource_identifier": "RV-LC-01", + "date_time_ordered": "05/18/2026 14:00", + "eta": "N/A", + "arrived": true, + "notes": "Deployed 1,200 ft hard boom at Sawpit Canyon inlet." + }, + { + "resource": "Heavy Vacuum Skimmer Boat", + "resource_identifier": "SKIM-02", + "date_time_ordered": "05/18/2026 14:30", + "eta": "05/18/2026 16:45", + "arrived": false, + "notes": "En route from San Pedro for reservoir skimmer recovery." + }, + { + "resource": "Air Monitoring Recon Unit", + "resource_identifier": "AIR-MON-08", + "date_time_ordered": "05/18/2026 14:10", + "eta": "05/18/2026 15:45", + "arrived": false, + "notes": "En route with photoionization detectors and benzene gas sensors." + } + ] +} diff --git a/benchmark/datasets/ground_truth/ics201_8.json b/benchmark/datasets/ground_truth/ics201_8.json new file mode 100644 index 00000000..50fed48e --- /dev/null +++ b/benchmark/datasets/ground_truth/ics201_8.json @@ -0,0 +1,145 @@ +{ + "1_incident_name": "Delaware Bay Container Vessel Collision & Fuel Oil Spill", + "2_incident_number": "USCG-D5-2026-0629", + "3_date_time_initiated": { + "date": "06/29/2026", + "time": "22:40" + }, + "4_map_sketch": { + "total_area_of_operations": "6.0-mile radius centered at Delaware Bay Shipping Channel Buoy 14 near Lewes, DE.", + "incident_site_area": "Delaware Bay Channel Buoy 14 (38.85°N, 75.12°W), where container vessel M/V Atlantic Voyager collided with a bulk carrier, breaching fuel tank #3 port side.", + "impacted_areas": "3.5-mile long heavy oil sheen extending East-Southeast across the bay channel towards Cape Henlopen State Park.", + "threatened_areas": "Prime Hook National Wildlife Refuge (4.0 miles Northwest) and Cape Henlopen Tidal Salt Marshes (2.5 miles South).", + "overflight_results": "USCG HC-144 Ocean Sentry aircraft confirmed a 300-yard wide slick of Intermediate Fuel Oil (IFO 380) drifting with the flood tide.", + "trajectories": "Waterborne oil slick migrating East-Southeast at 2.2 knots toward Cape Henlopen under coastal winds of 14 knots from West-Northwest.", + "impacted_shorelines": "2.0 miles of outer sandy beach and dune lines along Cape Henlopen State Park.", + "graphics_and_symbology": "North oriented vertically, depicting Staging Area Echo at Lewes Ferry Terminal, Incident Command Post at USCG Sector Delaware Bay Headquarters, 1,000-yard Maritime Safety Zone, Boom Sites 1, 2, and 3, and wildlife protection zones." + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "At 22:15 EDT on 06/29/2026, container vessel M/V Atlantic Voyager collided with anchored bulk carrier M/V Pacific Trader near Buoy 14. Port fuel tank #3 breached, discharging approximately 25,000 gallons of heavy Intermediate Fuel Oil (IFO 380) before internal fuel transfer halted the release.", + "health_and_safety_hazards": "Hydrocarbon vapor exposure (benzene/H2S), direct dermal toxicity, severe slip hazards on oily vessel hulls and shorelines, nighttime over-water operations, water drowning risk, and wildlife exposure risks.", + "necessary_measures": "Establish 1,000-yard Maritime Safety Zone; mandatory Level C PPE with PFDs and half-mask organic vapor respirators for maritime responders; continuous H2S and PID air monitoring on response vessels; compulsory work-rest hydration cycles; mobile vessel decontamination station established at Lewes Pier." + }, + "6_prepared_by": { + "name": "Commander James Vance", + "position_title": "Planning Section Chief", + "signature": "James Vance", + "date_time": "06/30/2026 01:30" + }, + "7_current_and_planned_objectives": [ + "Secure maritime safety perimeter and stabilize damaged vessel by 01:00 hours.", + "Deploy protective booming across Cape Henlopen salt marsh inlets by 04:00 hours.", + "Initiate offshore skimming operations using MSRC oil recovery vessels by 05:30 hours.", + "Activate wildlife rescue and rehab operations with Tri-State Bird Rescue by 06:00 hours.", + "Establish Unified Command (USCG, EPA, Delaware DNREC, M/V Atlantic Voyager RP) by 02:00 hours." + ], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "22:40", + "actions": "Initial alarm dispatch; USCG Station Lewes response boats 45601 and 45602 respond to establish maritime safety zone." + }, + { + "time": "23:15", + "actions": "Local Command established by Captain P. Hayes; Sector Delaware Bay requests MSRC oil spill response vessel mobilization." + }, + { + "time": "23:50", + "actions": "M/V Atlantic Voyager crew completes internal fuel transfer, halting active discharge from fuel tank #3." + }, + { + "time": "00:30", + "actions": "USCG HC-144 overflight completes IR sensor oil slick mapping." + }, + { + "time": "01:15", + "actions": "Delaware DNREC response team arrives at Lewes Command Post; Unified Command established." + }, + { + "time": "03:00", + "actions": "Planned: MSRC Response Vessel Delaware Responder deploys 2,500 feet of ocean containment boom at Buoy 14." + }, + { + "time": "04:30", + "actions": "Planned: Deploy sorbent diversion boom at Cape Henlopen Inlet (Boom Site 2)." + }, + { + "time": "06:00", + "actions": "Planned: Tri-State Bird Rescue team commences shoreline wildlife search along Cape Henlopen beaches." + } + ], + "9_current_organization": { + "incident_commanders": [ + "Captain P. Hayes (USCG Unified Command IC)", + "OSC T. Gallagher (EPA R3)", + "Secretary A. Lawson (Delaware DNREC)", + "H. Lindemann (Atlantic Shipping RP IC)" + ], + "safety_officer": "Lt. Commander Mark Reynolds", + "public_information_officer": "Chief Petty Officer Kelly Adams", + "liaison_officer": "Inspector R. Thorne (DNREC)", + "operations_section_chief": "Commander Frank Miller", + "planning_section_chief": "Commander James Vance", + "logistics_section_chief": "Laura Bennett", + "finance_administration_section_chief": "Charles Foster", + "additional_positions": [ + { + "position": "Scientific Support Coordinator", + "name": "Dr. E. Sullivan (NOAA)" + }, + { + "position": "Wildlife Branch Director", + "name": "Dr. C. Jenkins (Tri-State)" + } + ] + }, + "10_resource_summary": [ + { + "resource": "USCG Response Boat Medium", + "resource_identifier": "RBM-45601", + "date_time_ordered": "06/29/2026 22:40", + "eta": "N/A", + "arrived": true, + "notes": "Maintaining 1,000-yard safety zone around damaged vessel." + }, + { + "resource": "USCG Station Lewes RBM", + "resource_identifier": "RBM-45602", + "date_time_ordered": "06/29/2026 22:40", + "eta": "N/A", + "arrived": true, + "notes": "Conducting water sampling and perimeter safety watch." + }, + { + "resource": "MSRC Spill Vessel Delaware Responder", + "resource_identifier": "RV-MSRC-01", + "date_time_ordered": "06/29/2026 23:00", + "eta": "N/A", + "arrived": true, + "notes": "Deployed 2,500 ft ocean boom and preparing offshore skimmer." + }, + { + "resource": "USCG Ocean Sentry Aircraft", + "resource_identifier": "USCG-HC144", + "date_time_ordered": "06/29/2026 23:10", + "eta": "N/A", + "arrived": true, + "notes": "Completed IR slick mapping and overflight tracking." + }, + { + "resource": "Mobile Wildlife Rehabilitation Trailer", + "resource_identifier": "WILD-REHAB-1", + "date_time_ordered": "06/30/2026 00:15", + "eta": "06/30/2026 05:45", + "arrived": false, + "notes": "En route to establish bird cleaning station at Lewes Pier." + }, + { + "resource": "Shoreline Cleanup Strike Team", + "resource_identifier": "SCAT-TEAM-1", + "date_time_ordered": "06/30/2026 00:45", + "eta": "06/30/2026 06:30", + "arrived": false, + "notes": "Mobilizing for Cape Henlopen beach oil assessment." + } + ] +} diff --git a/benchmark/datasets/ground_truth/ics201_9.json b/benchmark/datasets/ground_truth/ics201_9.json new file mode 100644 index 00000000..c182deff --- /dev/null +++ b/benchmark/datasets/ground_truth/ics201_9.json @@ -0,0 +1,145 @@ +{ + "1_incident_name": "Oakridge Industrial Park Anhydrous Ammonia Release", + "2_incident_number": "EPA-R2-2026-0905", + "3_date_time_initiated": { + "date": "09/05/2026", + "time": "08:15" + }, + "4_map_sketch": { + "total_area_of_operations": "2.0-mile radius centered at Cold Storage Logistics Building 7, Edison, NJ.", + "incident_site_area": "Mechanical Room 3 on roof deck of Cold Storage Logistics Building 7 (100 Industrial Parkway), where an 8-inch high-pressure ammonia chiller line fractured.", + "impacted_areas": "400-yard vapor dispersion plume encompassing Building 7 loading dock and northern section of Industrial Parkway.", + "threatened_areas": "Meadowlands Residential Community (0.9 miles East downwind) and Edison Transit Center (1.2 miles Southeast).", + "overflight_results": "Edison Police Drone Recon Unit DRONE-PD-1 confirmed a dense white fog cloud hovering over Roof Mechanical Room 3 and drifting East-Northeast at 5 mph.", + "trajectories": "Airborne toxic anhydrous ammonia cloud migrating East-Northeast at 5 mph; zero liquid chemical product entering storm drainage systems.", + "impacted_shorelines": "None; contamination restricted to localized industrial ground surfaces and rooftop structures.", + "graphics_and_symbology": "North oriented vertically, depicting Staging Area Foxtrot at Edison High School parking lot, Command Post at Edison Fire Station 4, 1,000-foot Exclusion Zone boundary, and Industrial Parkway traffic control points." + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "At 07:45 EDT on 09/05/2026, a mechanical vibration failure severed an 8-inch liquid refrigeration line inside Mechanical Room 3 at Cold Storage Logistics, releasing approximately 3,000 lbs of anhydrous ammonia gas. Building 7 was evacuated immediately (85 employees), and a 1,000-foot perimeter isolation zone was established.", + "health_and_safety_hazards": "Severe chemical asphyxiation, acute pulmonary edema, permanent ocular injury, cryogenic chemical freeze burns, flammability risk in enclosed spaces (LEL 15-28%), and physical fall hazards from roof decking.", + "necessary_measures": "Mandatory 1,000-foot Exclusion Zone; Level A encapsulated vapor suits with SCBA for all roof entry personnel; Level B suits for ground backup teams; continuous electrochemical ammonia air monitoring at perimeter boundaries; high-volume water curtain deployment for vapor knockdown; mandatory dual-basin chemical wash decontamination corridor at Building 7 main entrance." + }, + "6_prepared_by": { + "name": "Captain Michael Vance", + "position_title": "Planning Section Chief", + "signature": "Michael Vance", + "date_time": "09/05/2026 10:30" + }, + "7_current_and_planned_objectives": [ + "Enforce 1,000-foot Exclusion Zone and isolate Building 7 HVAC intake by 08:30 hours.", + "Perform roof entry under Level A PPE to manually isolate main receiver valve by 11:00 hours.", + "Deploy high-volume water curtain monitoring nozzles to suppress cloud drift by 09:30 hours.", + "Perform continuous downwind air monitoring along Meadowlands border by 09:00 hours.", + "Establish Unified Command (Edison Fire, NJ DEP, EPA R2, Facility RP) by 08:45 hours." + ], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "08:15", + "actions": "Initial alarm dispatch; Edison Fire Engines 4 and 6 respond and assist Building 7 evacuation." + }, + { + "time": "08:35", + "actions": "Local Command established by Chief E. Sullivan; Industrial Parkway closed at Kilmer Road." + }, + { + "time": "09:00", + "actions": "Middlesex County Hazmat Team 2 arrived to set up perimeter air monitoring grid and water fog curtain monitors." + }, + { + "time": "09:40", + "actions": "NJ DEP and EPA Region 2 OSC arrived on scene; Unified Command established at Station 4." + }, + { + "time": "10:15", + "actions": "Drone recon flight confirmed water curtains reduced downwind cloud density by 60%." + }, + { + "time": "11:00", + "actions": "Planned: Entry Team 1 under Level A PPE executes emergency roof entry to isolate main refrigeration manifold." + }, + { + "time": "12:00", + "actions": "Planned: Initiate mechanical ventilation of Building 7 interior through charcoal scrubber array." + }, + { + "time": "13:30", + "actions": "Planned: Conduct clearance air sampling inside Building 7 prior to facility re-entry." + } + ], + "9_current_organization": { + "incident_commanders": [ + "Chief E. Sullivan (Edison Fire IC)", + "OSC H. Miller (EPA R2)", + "Inspector G. Ross (NJ DEP)", + "T. Jenkins (Cold Storage RP IC)" + ], + "safety_officer": "Captain Robert Hayes", + "public_information_officer": "Amanda Walsh (Edison OEM)", + "liaison_officer": "Lt. D. Kincaid (Middlesex PD)", + "operations_section_chief": "Battalion Chief Brian O'Connor", + "planning_section_chief": "Captain Michael Vance", + "logistics_section_chief": "Karen Miller", + "finance_administration_section_chief": "Steven Zhang", + "additional_positions": [ + { + "position": "Refrigeration Systems Specialist", + "name": "C. Bauer (Cold Storage RP)" + }, + { + "position": "Air Monitoring Leader", + "name": "Lt. V. Patel (County Hazmat)" + } + ] + }, + "10_resource_summary": [ + { + "resource": "Middlesex County Hazmat 2", + "resource_identifier": "HZM-MC-02", + "date_time_ordered": "09/05/2026 08:20", + "eta": "N/A", + "arrived": true, + "notes": "Operating water curtains and preparing Level A roof entry." + }, + { + "resource": "Edison Fire Engine 4", + "resource_identifier": "ENG-04", + "date_time_ordered": "09/05/2026 08:15", + "eta": "N/A", + "arrived": true, + "notes": "Supplying high-pressure water to fog monitors for vapor suppression." + }, + { + "resource": "Edison Ladder Truck 2", + "resource_identifier": "LADDER-02", + "date_time_ordered": "09/05/2026 08:15", + "eta": "N/A", + "arrived": true, + "notes": "Positioned for roof access and aerial water stream deployment." + }, + { + "resource": "Police Drone Recon Unit", + "resource_identifier": "DRONE-PD-1", + "date_time_ordered": "09/05/2026 08:30", + "eta": "N/A", + "arrived": true, + "notes": "Conducting continuous thermal and aerial monitoring of plume drift." + }, + { + "resource": "Mobile Mechanical Scrubber Unit", + "resource_identifier": "VENT-SCRUB-3", + "date_time_ordered": "09/05/2026 09:15", + "eta": "09/05/2026 11:45", + "arrived": false, + "notes": "En route to perform positive pressure building scrubbing." + }, + { + "resource": "High-Sensitivity Air Monitoring Truck", + "resource_identifier": "AIR-TRK-07", + "date_time_ordered": "09/05/2026 09:00", + "eta": "09/05/2026 10:15", + "arrived": false, + "notes": "En route to monitor downwind Meadowlands residential perimeter." + } + ] +} diff --git a/benchmark/datasets/ground_truth/ics202_1.json b/benchmark/datasets/ground_truth/ics202_1.json new file mode 100644 index 00000000..f6fc17d9 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics202_1.json @@ -0,0 +1,49 @@ +{ + "ics_202_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_operational_period": { + "date_from": "07/07/2026", + "date_to": "07/08/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_objectives": [ + "Maintain a zero-incident safety record for all response personnel by enforcing mandatory air monitoring and strict personal protective equipment compliance throughout the entirety of the night shift.", + "Deploy an additional five hundred feet of underflow and sorbent booming at designated downstream check-points on Whispering Pines Creek by 22:00 hours to intercept any escaping Benzene sheen.", + "Complete the structural stabilization and grounding of the breached Car #14 by 01:00 hours to prepare the vessel for safe product offloading.", + "Establish a continuous, telemetry-linked vapor monitoring perimeter around the eastern residential boundary by 20:00 hours to guarantee community safety.", + "Finalize the morning resource allocation and shift rotation plan by 04:00 hours to ensure seamless operational continuity." + ], + "4_operational_period_command_emphasis": "Place primary tactical focus on air-monitoring metrics and localized vapor suppression, particularly during the transition into night-shift hours when atmospheric inversion layers can trap hazardous vapors closer to the ground. Command explicitly prioritizes the safety of the hazardous materials entry teams working in low-visibility conditions near the creek bed over speed of recovery.", + "general_situational_awareness": "The local weather forecast predicts clearing skies with a significant ambient temperature drop to 62°F by midnight, accompanied by winds shifting from the Northwest at three to five miles per hour. This wind shift introduces a critical safety warning regarding the potential accumulation of heavy Benzene vapors in low-lying drainage ditches and creek pockets east of the derailment site. Field crews are issued a universal safety message to remain highly vigilant for low-visibility hazards, uneven muddy terrain along the banks, and potential wildlife hazards native to the adjacent wetlands.", + "5_site_safety_plan_required": true, + "approved_site_safety_plans_located_at": "Mobile Command Post inside the Forward Operations Briefing Trailer", + "6_incident_action_plan_attachments": { + "ics_203": true, + "ics_204": true, + "ics_205": true, + "ics_205a": false, + "ics_206": true, + "ics_207": false, + "ics_208": true, + "map_chart": true, + "weather_forecast_tides_currents": true, + "other_attachments": [ + "EPA Plume Trajectory Analysis Sheet", + "CSX Tank Car Cargo Manifest" + ] + }, + "7_prepared_by": { + "name": "Marcus Vance", + "position_title": "Planning Section Chief", + "signature": "Marcus Vance", + "date_time": "07/07/2026 16:30" + }, + "8_approved_by_incident_commander": { + "name": "Chief J. Thomas", + "signature": "Chief J. Thomas", + "date_time": "07/07/2026 17:00" + }, + "iap_page_number": "1" + } +} \ No newline at end of file diff --git a/benchmark/datasets/ground_truth/ics202_2.json b/benchmark/datasets/ground_truth/ics202_2.json new file mode 100644 index 00000000..c0af4580 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics202_2.json @@ -0,0 +1,49 @@ +{ + "ics_202_ground_truth": { + "1_incident_name": "Blackwood Chemical Pipeline Breach", + "2_operational_period": { + "date_from": "08/13/2026", + "date_to": "08/14/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_objectives": [ + "Maintain 100% responder compliance with SCBA Level B PPE within the 500-foot Exclusion Zone throughout the night shift.", + "Complete installation of 1,000 feet of sorbent containment boom array across Blackwood River at Boom Site 2 by 22:00 hours to protect downstream municipal water intake.", + "Complete hot-tap product evacuation of damaged pipeline section by 02:00 hours to stop active anhydrous ammonia leakage.", + "Maintain continuous automated PID perimeter air monitoring downwind along Route 104 with telemetry reporting to CP every 30 minutes.", + "Finalize Operational Period 2 IAP shift plan and resource request documentation by 04:30 hours." + ], + "4_operational_period_command_emphasis": "Focus tactical operations on maintaining river boom integrity under rising night tides and ensuring strict atmospheric air monitoring during the overnight temperature drop when ammonia vapors hug low ground.", + "general_situational_awareness": "Clear night skies, temperatures dropping to 58°F, and wind shifting from East-Northeast to North at 4 mph. Low-lying fog expected near riverbanks between 02:00 and 06:00 hours. High vigilance required for slick riverbank terrain and reduced nighttime visibility.", + "5_site_safety_plan_required": true, + "approved_site_safety_plans_located_at": "Mobile Command Post Briefing Trailer at Station 12", + "6_incident_action_plan_attachments": { + "ics_203": true, + "ics_204": true, + "ics_205": true, + "ics_205a": false, + "ics_206": true, + "ics_207": false, + "ics_208": true, + "map_chart": true, + "weather_forecast_tides_currents": true, + "other_attachments": [ + "Ammonia Air Dispersion Model Map", + "Pipeline Shutoff Schematic" + ] + }, + "7_prepared_by": { + "name": "Sarah L. Jenkins", + "position_title": "Planning Section Chief", + "signature": "Sarah L. Jenkins", + "date_time": "08/13/2026 16:30" + }, + "8_approved_by_incident_commander": { + "name": "Chief R. Henderson", + "signature": "Chief R. Henderson", + "date_time": "08/13/2026 17:15" + }, + "iap_page_number": "1" + } +} diff --git a/benchmark/datasets/ground_truth/ics202_3.json b/benchmark/datasets/ground_truth/ics202_3.json new file mode 100644 index 00000000..786d9948 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics202_3.json @@ -0,0 +1,49 @@ +{ + "ics_202_ground_truth": { + "1_incident_name": "Port of Houston Sulfuric Acid Tanker Leak", + "2_operational_period": { + "date_from": "10/14/2026", + "date_to": "10/15/2026", + "time_from": "07:00", + "time_to": "19:00" + }, + "3_objectives": [ + "Ensure zero safety incidents by enforcing mandatory Level A chemical suit entry procedures for all vessel deck operations.", + "Apply 10 tons of dry sodium bicarbonate slurry to neutralize pooled acid on Berth 42 deck by 12:00 hours.", + "Maintain 2,000 feet of chemical sorbent boom around M/T Stolt Synergy and conduct hourly river pH sampling to ensure zero downstream acid migration.", + "Complete vessel hull structural integrity audit and offloading manifold pressure test by 15:00 hours.", + "Conduct continuous public air monitoring along Channelview community boundary and issue real-time safety updates by 17:00 hours." + ], + "4_operational_period_command_emphasis": "Primary tactical focus is placed on safe chemical neutralization and pH stabilization in the ship channel water column. Personnel safety during high-temperature Level A suit operations takes absolute priority over operational speed.", + "general_situational_awareness": "Daytime temperatures reaching 88°F with high humidity (78%), creating severe heat stress conditions for suit technicians. Winds from Southeast at 9 mph. Work-rest cycles of 20 minutes active entry followed by 40 minutes hydration/cooling are strictly mandated.", + "5_site_safety_plan_required": true, + "approved_site_safety_plans_located_at": "USCG Sector Houston Command Center Safety Office", + "6_incident_action_plan_attachments": { + "ics_203": true, + "ics_204": true, + "ics_205": true, + "ics_205a": true, + "ics_206": true, + "ics_207": false, + "ics_208": true, + "map_chart": true, + "weather_forecast_tides_currents": true, + "other_attachments": [ + "TCEQ Water Quality Monitoring Plan", + "Vessel Cargo Stowage Plan" + ] + }, + "7_prepared_by": { + "name": "Commander Richard Croft", + "position_title": "Planning Section Chief", + "signature": "Richard Croft", + "date_time": "10/14/2026 06:00" + }, + "8_approved_by_incident_commander": { + "name": "Captain H. Vance", + "signature": "Captain H. Vance", + "date_time": "10/14/2026 06:30" + }, + "iap_page_number": "1" + } +} diff --git a/benchmark/datasets/ground_truth/ics202_4.json b/benchmark/datasets/ground_truth/ics202_4.json new file mode 100644 index 00000000..3848dd01 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics202_4.json @@ -0,0 +1,49 @@ +{ + "ics_202_ground_truth": { + "1_incident_name": "Cascade Pass Chlorine Railcar Derailment", + "2_operational_period": { + "date_from": "11/02/2026", + "date_to": "11/03/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_objectives": [ + "Enforce strict Level A PPE compliance and buddy system protocols during all night operations around derailment site.", + "Complete installation and torque testing of Emergency B-Kit capping assembly on chlorine tank car BNSF-77402 by 22:00 hours.", + "Maintain perimeter chlorine air monitoring at 15-minute intervals along State Route 2 evacuation boundary.", + "Operate heated decontamination trailer and warm hydration station continuously at Staging Area Charlie.", + "Formulate environmental sampling plan and morning shift briefing package by 04:00 hours." + ], + "4_operational_period_command_emphasis": "Command emphasizes absolute safety of capping entry teams working under nighttime freezing conditions. Ensure continuous warm water decon availability to prevent suit icing.", + "general_situational_awareness": "Overcast skies with mountain temperatures dropping to 28°F overnight; snow flurries expected after 01:00 hours. Light winds from West at 3 mph drifting toward ravine floor. Icing hazards on rail ballast and steep access slopes. High hypothermia hazard for standing security personnel.", + "5_site_safety_plan_required": true, + "approved_site_safety_plans_located_at": "Skykomish School Gym Operations Briefing Room", + "6_incident_action_plan_attachments": { + "ics_203": true, + "ics_204": true, + "ics_205": true, + "ics_205a": false, + "ics_206": true, + "ics_207": true, + "ics_208": true, + "map_chart": true, + "weather_forecast_tides_currents": true, + "other_attachments": [ + "Railcar Capping Procedure Manual", + "Chlorine Gas Toxicity Chart" + ] + }, + "7_prepared_by": { + "name": "Lt. Colonel Alan Vance", + "position_title": "Planning Section Chief", + "signature": "Alan Vance", + "date_time": "11/02/2026 16:30" + }, + "8_approved_by_incident_commander": { + "name": "Captain E. Miller", + "signature": "Captain E. Miller", + "date_time": "11/02/2026 17:15" + }, + "iap_page_number": "1" + } +} diff --git a/benchmark/datasets/ground_truth/ics202_5.json b/benchmark/datasets/ground_truth/ics202_5.json new file mode 100644 index 00000000..92a48fcc --- /dev/null +++ b/benchmark/datasets/ground_truth/ics202_5.json @@ -0,0 +1,49 @@ +{ + "ics_202_ground_truth": { + "1_incident_name": "Silverwood Reservoir Crude Oil Pipeline Rupture", + "2_operational_period": { + "date_from": "05/18/2026", + "date_to": "05/19/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_objectives": [ + "Maintain 100% safety record with zero heat injuries or toxic vapor exposures during night shift operations.", + "Secure 2,000 feet of containment boom across Sawpit Canyon inlet and maintain skimmer vessel recovery in South arm until 23:00 hours.", + "Complete pipeline mechanical clamp repair on 12-inch main line at MM 87.3 by 02:00 hours.", + "Perform hourly water sampling upstream of Mojave Water Intake facility to ensure non-detectable hydrocarbon levels.", + "Prepare Day 2 Operational Period Incident Action Plan and resource requests by 04:30 hours." + ], + "4_operational_period_command_emphasis": "Focus tactical priority on preventing any oil migration toward the municipal water intake. Night skimming operations must maintain illuminated safety perimeters and life-vest compliance at all times.", + "general_situational_awareness": "Evening temperature cooling to 70°F with calm winds under 5 mph. Mountain lions and nocturnal wildlife reported near Sawpit Canyon inlet. Flashlight illumination required along all shoreline walking paths due to steep, oily riprap.", + "5_site_safety_plan_required": true, + "approved_site_safety_plans_located_at": "Incident Command Post at Hesperia Fire Station 30", + "6_incident_action_plan_attachments": { + "ics_203": true, + "ics_204": true, + "ics_205": true, + "ics_205a": false, + "ics_206": true, + "ics_207": false, + "ics_208": true, + "map_chart": true, + "weather_forecast_tides_currents": true, + "other_attachments": [ + "Silverwood Lake Water Sampling Map", + "Pipeline Repair Safety Plan" + ] + }, + "7_prepared_by": { + "name": "Captain Rachel Brooks", + "position_title": "Planning Section Chief", + "signature": "Rachel Brooks", + "date_time": "05/18/2026 16:30" + }, + "8_approved_by_incident_commander": { + "name": "Chief M. Thorne", + "signature": "Chief M. Thorne", + "date_time": "05/18/2026 17:00" + }, + "iap_page_number": "1" + } +} diff --git a/benchmark/datasets/ground_truth/ics202_6.json b/benchmark/datasets/ground_truth/ics202_6.json new file mode 100644 index 00000000..3ba25549 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics202_6.json @@ -0,0 +1,49 @@ +{ + "ics_202_ground_truth": { + "1_incident_name": "Oakridge Industrial Park Anhydrous Ammonia Release", + "2_operational_period": { + "date_from": "09/05/2026", + "date_to": "09/06/2026", + "time_from": "07:00", + "time_to": "19:00" + }, + "3_objectives": [ + "Enforce strict Level A/B PPE protocols and 1,000-foot Exclusion Zone control throughout daytime mechanical ventilation operations.", + "Complete charcoal scrubber building ventilation of Building 7 interior to reduce interior ammonia concentrations below 15 ppm by 13:00 hours.", + "Conduct full structural and piping stress inspection of Roof Mechanical Room 3 by 15:00 hours.", + "Perform interior clearance air sampling across all 4 building quadrants by 17:00 hours.", + "Submit final environmental decontamination report to NJ DEP and lift perimeter road closures by 18:30 hours." + ], + "4_operational_period_command_emphasis": "Focus operational efforts on safe indoor ventilation and structural validation. Ensure air monitoring teams continuously verify downwind residential air quality before discharging building exhaust.", + "general_situational_awareness": "Mostly sunny with daytime high of 82°F. Winds from West-Southwest at 7 mph. Thermal updrafts on Building 7 roof deck require secure tie-offs for all entry personnel.", + "5_site_safety_plan_required": true, + "approved_site_safety_plans_located_at": "Edison Fire Station 4 Command Post Conference Room", + "6_incident_action_plan_attachments": { + "ics_203": true, + "ics_204": true, + "ics_205": true, + "ics_205a": true, + "ics_206": true, + "ics_207": false, + "ics_208": true, + "map_chart": true, + "weather_forecast_tides_currents": true, + "other_attachments": [ + "Building 7 Ventilation Engineering Plan", + "NJ DEP Air Quality Standard Sheet" + ] + }, + "7_prepared_by": { + "name": "Captain Michael Vance", + "position_title": "Planning Section Chief", + "signature": "Michael Vance", + "date_time": "09/05/2026 06:00" + }, + "8_approved_by_incident_commander": { + "name": "Chief E. Sullivan", + "signature": "Chief E. Sullivan", + "date_time": "09/05/2026 06:30" + }, + "iap_page_number": "1" + } +} diff --git a/benchmark/datasets/ground_truth/ics203_1.json b/benchmark/datasets/ground_truth/ics203_1.json new file mode 100644 index 00000000..f049792d --- /dev/null +++ b/benchmark/datasets/ground_truth/ics203_1.json @@ -0,0 +1,125 @@ +{ + "ics_203_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_operational_period": { + "date_from": "07/07/2026", + "date_to": "07/08/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_incident_commander_and_command_staff": { + "ic_ucs": [ + "Chief J. Thomas (County Fire)", + "S. Albright (State DEQ)", + "D. Miller (CSX Railroad RP)" + ], + "deputy": "Assistant Chief M. Reynolds", + "safety_officer": "Captain R. Mendez", + "public_info_officer": "A. Cho (County OEM)", + "liaison_officer": "Inspector G. Sims (SO)" + }, + "4_agency_organization_representatives": [ + { + "agency_organization": "US EPA Region 4", + "name": "OSC K. Lawson" + }, + { + "agency_organization": "CSX Railroad", + "name": "V. Patel" + }, + { + "agency_organization": "Whispering Pines Police Dept", + "name": "Commander B. Davis" + } + ], + "5_planning_section": { + "chief": "Marcus Vance", + "deputy": "L. Sullivan", + "resources_unit": "T. Jenkins", + "situation_unit": "E. Brooks", + "documentation_unit": "H. Martinez", + "demobilization_unit": "R. Sterling", + "technical_specialists": [ + { + "specialty": "Rail Tank Car Specialist", + "name": "D. Kowalski" + }, + { + "specialty": "Air Dispersion Modeler", + "name": "Dr. A. Chen" + } + ] + }, + "6_logistics_section": { + "chief": "K. Dunavan", + "deputy": "P. Wright", + "support_branch": { + "director": "J. Myers", + "supply_unit": "S. Taylor", + "facilities_unit": "C. Adams", + "ground_support_unit": "M. Evans" + }, + "service_branch": { + "director": "B. Foster", + "communications_unit": "R. Lee", + "medical_unit": "Dr. N. Howard", + "food_unit": "L. King" + } + }, + "7_operations_section": { + "chief": "B. Reynolds", + "deputy": "Lt. Commander D. Miller", + "staging_area": "Staging Area Alpha (County Fairgrounds)", + "branches": [ + { + "branch_name": "Hazardous Materials Branch", + "branch_director": "Lt. T. Kincaid", + "deputy": "Sgt. R. Hall", + "divisions_groups": [ + { + "identifier": "Hazmat Entry Group", + "supervisor": "Capt. P. Gomez" + }, + { + "identifier": "Decontamination Group", + "supervisor": "Lt. S. Baker" + } + ] + }, + { + "branch_name": "Fire Suppression Branch", + "branch_director": "Batt. Chief E. Walters", + "deputy": "Capt. J. Miller", + "divisions_groups": [ + { + "identifier": "Division A (Rail Right-of-Way)", + "supervisor": "Capt. D. Ross" + }, + { + "identifier": "Water Supply Group", + "supervisor": "Lt. M. Turner" + } + ] + } + ], + "air_operations_branch": { + "air_ops_branch_dir": "Capt. H. Nelson" + } + }, + "8_finance_administration_section": { + "chief": "Robert Sterling", + "deputy": "A. Patel", + "time_unit": "C. White", + "procurement_unit": "G. Scott", + "comp_claims_unit": "E. Green", + "cost_unit": "W. Harris" + }, + "9_prepared_by": { + "name": "Marcus Vance", + "position_title": "Planning Section Chief", + "signature": "Marcus Vance", + "date_time": "07/07/2026 16:30" + }, + "iap_page_number": "1" + } +} diff --git a/benchmark/datasets/ground_truth/ics203_2.json b/benchmark/datasets/ground_truth/ics203_2.json new file mode 100644 index 00000000..238a218f --- /dev/null +++ b/benchmark/datasets/ground_truth/ics203_2.json @@ -0,0 +1,125 @@ +{ + "ics_203_ground_truth": { + "1_incident_name": "Blackwood Chemical Pipeline Breach", + "2_operational_period": { + "date_from": "08/13/2026", + "date_to": "08/14/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_incident_commander_and_command_staff": { + "ic_ucs": [ + "Chief R. Vance (Blackwood Fire Dept)", + "Officer M. Ross (State EPA)", + "J. Vance (Blackwood Pipeline Co. RP)" + ], + "deputy": "Deputy Chief L. Morgan", + "safety_officer": "Captain L. Hayes", + "public_info_officer": "E. Wright", + "liaison_officer": "Deputy K. Miller" + }, + "4_agency_organization_representatives": [ + { + "agency_organization": "US EPA Region 5", + "name": "OSC R. Brooks" + }, + { + "agency_organization": "Blackwood County Sheriff", + "name": "Sheriff T. Higgins" + }, + { + "agency_organization": "Valley Water Authority", + "name": "Director P. Simmons" + } + ], + "5_planning_section": { + "chief": "Sarah L. Jenkins", + "deputy": "T. Bradley", + "resources_unit": "A. Patel", + "situation_unit": "C. Webb", + "documentation_unit": "Dr. H. Thorne", + "demobilization_unit": "M. Brody", + "technical_specialists": [ + { + "specialty": "Pipeline Integrity Specialist", + "name": "E. Vance" + }, + { + "specialty": "Chemical Toxicology Specialist", + "name": "Dr. S. Ray" + } + ] + }, + "6_logistics_section": { + "chief": "T. Bradley", + "deputy": "W. Miller", + "support_branch": { + "director": "G. Kross", + "supply_unit": "H. Lin", + "facilities_unit": "R. Sterling", + "ground_support_unit": "D. Miller" + }, + "service_branch": { + "director": "S. Norris", + "communications_unit": "K. Albright", + "medical_unit": "Dr. T. Vance", + "food_unit": "A. Cho" + } + }, + "7_operations_section": { + "chief": "D. Kowalski", + "deputy": "Lt. Timothy Vance", + "staging_area": "Staging Area Bravo (Westside High School)", + "branches": [ + { + "branch_name": "Pipeline Isolation Branch", + "branch_director": "Capt. Donald Kross", + "deputy": "Lt. C. Webb", + "divisions_groups": [ + { + "identifier": "Hot Zone Entry Group", + "supervisor": "Lt. R. Mendez" + }, + { + "identifier": "Vapor Suppression Group", + "supervisor": "Capt. A. Ross" + } + ] + }, + { + "branch_name": "River Spill Containment Branch", + "branch_director": "Commander Thomas Blake", + "deputy": "Inspector G. Sims", + "divisions_groups": [ + { + "identifier": "Booming Division 1", + "supervisor": "Lt. J. Thorne" + }, + { + "identifier": "Water Intake Protection Group", + "supervisor": "Capt. B. Walsh" + } + ] + } + ], + "air_operations_branch": { + "air_ops_branch_dir": "Capt. E. Walters" + } + }, + "8_finance_administration_section": { + "chief": "A. Patel", + "deputy": "Robert Sterling", + "time_unit": "J. Mercer", + "procurement_unit": "Laura Martinez", + "comp_claims_unit": "Inspector R. Sterling", + "cost_unit": "Sandra Keller" + }, + "9_prepared_by": { + "name": "Sarah L. Jenkins", + "position_title": "Planning Section Chief", + "signature": "Sarah L. Jenkins", + "date_time": "08/13/2026 16:30" + }, + "iap_page_number": "1" + } +} diff --git a/benchmark/datasets/ground_truth/ics203_3.json b/benchmark/datasets/ground_truth/ics203_3.json new file mode 100644 index 00000000..e23d680f --- /dev/null +++ b/benchmark/datasets/ground_truth/ics203_3.json @@ -0,0 +1,126 @@ +{ + "ics_203_ground_truth": { + "1_incident_name": "Port of Houston Sulfuric Acid Tanker Leak", + "2_operational_period": { + "date_from": "10/14/2026", + "date_to": "10/15/2026", + "time_from": "07:00", + "time_to": "19:00" + }, + "3_incident_commander_and_command_staff": { + "ic_ucs": [ + "Captain H. Vance (USCG Unified Command IC)", + "OSC M. Reynolds (EPA Co-IC)", + "Chief D. Garcia (Port Authority Fire IC)", + "K. Lindqvist (Stolt Tankers RP IC)" + ], + "deputy": "Commander T. Blake", + "safety_officer": "Commander Thomas Blake", + "public_info_officer": "Laura Martinez (Port Authority)", + "liaison_officer": "Inspector R. Sterling (TCEQ)" + }, + "4_agency_organization_representatives": [ + { + "agency_organization": "Texas Commission on Environmental Quality", + "name": "Inspector R. Sterling" + }, + { + "agency_organization": "Stolt Tankers Shipping", + "name": "K. Lindqvist" + }, + { + "agency_organization": "Port of Houston Pilots", + "name": "Captain M. Brody" + } + ], + "5_planning_section": { + "chief": "Commander Richard Croft", + "deputy": "Lt. J. Thorne", + "resources_unit": "Dr. V. Patel", + "situation_unit": "Sandra Keller", + "documentation_unit": "Wayne Miller", + "demobilization_unit": "Battalion Chief A. Ross", + "technical_specialists": [ + { + "specialty": "Chemical Hazard Specialist", + "name": "Dr. V. Patel" + }, + { + "specialty": "Marine Salvage Engineer", + "name": "E. Miller" + } + ] + }, + "6_logistics_section": { + "chief": "Sandra Keller", + "deputy": "Wayne Miller", + "support_branch": { + "director": "Capt. H. Nelson", + "supply_unit": "C. White", + "facilities_unit": "G. Scott", + "ground_support_unit": "E. Green" + }, + "service_branch": { + "director": "W. Harris", + "communications_unit": "J. Myers", + "medical_unit": "Dr. A. Chen", + "food_unit": "S. Taylor" + } + }, + "7_operations_section": { + "chief": "Battalion Chief A. Ross", + "deputy": "Lt. J. Thorne", + "staging_area": "Staging Area Bravo (Jacintoport Terminal)", + "branches": [ + { + "branch_name": "Vessel Salvage & Entry Branch", + "branch_director": "Lt. J. Thorne", + "deputy": "Capt. P. Gomez", + "divisions_groups": [ + { + "identifier": "Deck Neutralization Group", + "supervisor": "Lt. S. Baker" + }, + { + "identifier": "Manifold Isolation Team", + "supervisor": "Capt. D. Ross" + } + ] + }, + { + "branch_name": "Ship Channel Protection Branch", + "branch_director": "Capt. Donald Kross", + "deputy": "Lt. M. Turner", + "divisions_groups": [ + { + "identifier": "Water Quality Sampling Division", + "supervisor": "Dr. S. Ray" + }, + { + "identifier": "Booming Operations Group", + "supervisor": "Capt. B. Walsh" + } + ] + } + ], + "air_operations_branch": { + "air_ops_branch_dir": "Commander T. Blake" + } + }, + "8_finance_administration_section": { + "chief": "Wayne Miller", + "deputy": "Sandra Keller", + "time_unit": "C. Adams", + "procurement_unit": "M. Evans", + "comp_claims_unit": "B. Foster", + "cost_unit": "R. Lee" + }, + "9_prepared_by": { + "name": "Commander Richard Croft", + "position_title": "Planning Section Chief", + "signature": "Richard Croft", + "date_time": "10/14/2026 06:00" + }, + "iap_page_number": "1" + } +} diff --git a/benchmark/datasets/ground_truth/ics203_4.json b/benchmark/datasets/ground_truth/ics203_4.json new file mode 100644 index 00000000..ec6d638e --- /dev/null +++ b/benchmark/datasets/ground_truth/ics203_4.json @@ -0,0 +1,126 @@ +{ + "ics_203_ground_truth": { + "1_incident_name": "Cascade Pass Chlorine Railcar Derailment", + "2_operational_period": { + "date_from": "11/02/2026", + "date_to": "11/03/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_incident_commander_and_command_staff": { + "ic_ucs": [ + "Captain E. Miller (WSP Unified Command IC)", + "OSC R. Brooks (EPA R10 Co-IC)", + "Chief D. Olson (Skykomish Fire IC)", + "M. Campbell (BNSF Railway RP IC)" + ], + "deputy": "Inspector G. Peterson", + "safety_officer": "Captain Marcus Vance", + "public_info_officer": "Jennifer Hayes (WSDOT)", + "liaison_officer": "Deputy S. Kowalski (KCSO)" + }, + "4_agency_organization_representatives": [ + { + "agency_organization": "Washington State Department of Transportation", + "name": "Jennifer Hayes" + }, + { + "agency_organization": "BNSF Railway", + "name": "G. Peterson" + }, + { + "agency_organization": "King County Sheriff's Office", + "name": "Sgt. H. Lin" + } + ], + "5_planning_section": { + "chief": "Lt. Colonel Alan Vance", + "deputy": "David Sterling", + "resources_unit": "Patricia Ross", + "situation_unit": "Battalion Chief T. Higgins", + "documentation_unit": "Sgt. H. Lin", + "demobilization_unit": "G. Peterson", + "technical_specialists": [ + { + "specialty": "Rail Hazmat Specialist", + "name": "G. Peterson" + }, + { + "specialty": "Toxic Gas Modeler", + "name": "Dr. H. Thorne" + } + ] + }, + "6_logistics_section": { + "chief": "David Sterling", + "deputy": "Patricia Ross", + "support_branch": { + "director": "L. King", + "supply_unit": "J. Myers", + "facilities_unit": "S. Taylor", + "ground_support_unit": "C. Adams" + }, + "service_branch": { + "director": "M. Evans", + "communications_unit": "B. Foster", + "medical_unit": "Dr. N. Howard", + "food_unit": "R. Lee" + } + }, + "7_operations_section": { + "chief": "Battalion Chief T. Higgins", + "deputy": "Sgt. H. Lin", + "staging_area": "Staging Area Charlie (Stevens Pass Yard)", + "branches": [ + { + "branch_name": "Hazmat Capping Branch", + "branch_director": "Capt. P. Gomez", + "deputy": "Lt. S. Baker", + "divisions_groups": [ + { + "identifier": "Railcar Entry Group 1", + "supervisor": "Capt. D. Ross" + }, + { + "identifier": "Decontamination Group", + "supervisor": "Lt. M. Turner" + } + ] + }, + { + "branch_name": "Evacuation & Security Branch", + "branch_director": "Sgt. H. Lin", + "deputy": "Deputy S. Kowalski", + "divisions_groups": [ + { + "identifier": "Highway 2 Control Division", + "supervisor": "Capt. H. Nelson" + }, + { + "identifier": "Skykomish Evacuation Group", + "supervisor": "Sgt. R. Hall" + } + ] + } + ], + "air_operations_branch": { + "air_ops_branch_dir": "Capt. E. Walters" + } + }, + "8_finance_administration_section": { + "chief": "Patricia Ross", + "deputy": "David Sterling", + "time_unit": "W. Harris", + "procurement_unit": "C. White", + "comp_claims_unit": "G. Scott", + "cost_unit": "E. Green" + }, + "9_prepared_by": { + "name": "Lt. Colonel Alan Vance", + "position_title": "Planning Section Chief", + "signature": "Alan Vance", + "date_time": "11/02/2026 16:30" + }, + "iap_page_number": "1" + } +} diff --git a/benchmark/datasets/ground_truth/ics203_5.json b/benchmark/datasets/ground_truth/ics203_5.json new file mode 100644 index 00000000..b807bacd --- /dev/null +++ b/benchmark/datasets/ground_truth/ics203_5.json @@ -0,0 +1,126 @@ +{ + "ics_203_ground_truth": { + "1_incident_name": "Silverwood Reservoir Crude Oil Pipeline Rupture", + "2_operational_period": { + "date_from": "05/18/2026", + "date_to": "05/19/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_incident_commander_and_command_staff": { + "ic_ucs": [ + "OSC C. Martinez (EPA R9 Co-IC)", + "Chief M. Thorne (SBCo Fire IC)", + "Chief Inspector A. Kim (Cal OES)", + "W. Vance (Pipeline RP IC)" + ], + "deputy": "Commander F. Miller", + "safety_officer": "Captain Gregory Hall", + "public_info_officer": "Samantha Norris (Cal OES)", + "liaison_officer": "Ranger D. Stevens (State Parks)" + }, + "4_agency_organization_representatives": [ + { + "agency_organization": "US Forest Service", + "name": "Dr. L. Arispe" + }, + { + "agency_organization": "Mojave Water Agency", + "name": "Engineer K. Ross" + }, + { + "agency_organization": "Clean Harbors Environmental", + "name": "Captain B. Walsh" + } + ], + "5_planning_section": { + "chief": "Captain Rachel Brooks", + "deputy": "Megan Taylor", + "resources_unit": "Jason Wu", + "situation_unit": "Battalion Chief Kevin Ross", + "documentation_unit": "Dr. L. Arispe", + "demobilization_unit": "Captain B. Walsh", + "technical_specialists": [ + { + "specialty": "Environmental Unit Leader", + "name": "Dr. L. Arispe" + }, + { + "specialty": "Hydrological Flow Specialist", + "name": "Dr. S. Ray" + } + ] + }, + "6_logistics_section": { + "chief": "Megan Taylor", + "deputy": "Jason Wu", + "support_branch": { + "director": "Capt. P. Gomez", + "supply_unit": "Lt. S. Baker", + "facilities_unit": "Capt. D. Ross", + "ground_support_unit": "Lt. M. Turner" + }, + "service_branch": { + "director": "Capt. H. Nelson", + "communications_unit": "Sgt. R. Hall", + "medical_unit": "Dr. N. Howard", + "food_unit": "L. King" + } + }, + "7_operations_section": { + "chief": "Battalion Chief Kevin Ross", + "deputy": "Captain B. Walsh", + "staging_area": "Staging Area Delta (Silverwood Lake Marina)", + "branches": [ + { + "branch_name": "Canyon Pipeline Repair Branch", + "branch_director": "Capt. Gregory Hall", + "deputy": "Lt. R. Mendez", + "divisions_groups": [ + { + "identifier": "Clamp Repair Group", + "supervisor": "Capt. A. Ross" + }, + { + "identifier": "Sawpit Containment Group", + "supervisor": "Lt. C. Webb" + } + ] + }, + { + "branch_name": "Reservoir Skimming & Booming Branch", + "branch_director": "Captain B. Walsh", + "deputy": "Lt. J. Thorne", + "divisions_groups": [ + { + "identifier": "South Arm Skimmer Division", + "supervisor": "Capt. B. Walsh" + }, + { + "identifier": "Water Intake Protection Group", + "supervisor": "Dr. L. Arispe" + } + ] + } + ], + "air_operations_branch": { + "air_ops_branch_dir": "Capt. E. Walters" + } + }, + "8_finance_administration_section": { + "chief": "Jason Wu", + "deputy": "Megan Taylor", + "time_unit": "J. Myers", + "procurement_unit": "S. Taylor", + "comp_claims_unit": "C. Adams", + "cost_unit": "M. Evans" + }, + "9_prepared_by": { + "name": "Captain Rachel Brooks", + "position_title": "Planning Section Chief", + "signature": "Rachel Brooks", + "date_time": "05/18/2026 16:30" + }, + "iap_page_number": "1" + } +} diff --git a/benchmark/datasets/ground_truth/ics204_1.json b/benchmark/datasets/ground_truth/ics204_1.json new file mode 100644 index 00000000..6fb91f7d --- /dev/null +++ b/benchmark/datasets/ground_truth/ics204_1.json @@ -0,0 +1,81 @@ +{ + "ics_204_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_operational_period": { + "date_from": "07/07/2026", + "date_to": "07/08/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_branch_division_group_staging_area": { + "branch": "Hazardous Materials Branch", + "division": "Division A", + "group": "Hazmat Entry Group", + "staging_area": "Staging Area Alpha (County Fairgrounds)" + }, + "4_operations_personnel": { + "operations_section_chief": { + "name": "B. Reynolds", + "contact_number": "555-0192 / Ch 1" + }, + "branch_director": { + "name": "Lt. T. Kincaid", + "contact_number": "555-0144 / Ch 3" + }, + "division_group_supervisor": { + "name": "Capt. P. Gomez", + "contact_number": "555-0188 / Ch 4" + } + }, + "5_resources_assigned": [ + { + "resource_identifier": "HZM-01", + "leader": "Lt. T. Kincaid", + "number_of_persons": "6", + "contact": "Radio Ch 4 (462.550 MHz)", + "reporting_location_special_equipment_remarks_notes_information": "Report to Hot Zone Gate 1 by 18:30. Level B SCBA suits, PID air monitors, non-sparking aluminum tools." + }, + { + "resource_identifier": "DECON-02", + "leader": "Lt. S. Baker", + "number_of_persons": "4", + "contact": "Radio Ch 4", + "reporting_location_special_equipment_remarks_notes_information": "Establish wet-decon station at Warm Zone boundary Gate 2 by 18:45. Decon shower trailer with lime wash solution." + }, + { + "resource_identifier": "ENG-41", + "leader": "Capt. D. Ross", + "number_of_persons": "3", + "contact": "Radio Ch 2", + "reporting_location_special_equipment_remarks_notes_information": "Position at Warm Zone boundary for continuous AFFF foam blanket standby during tank car grounding." + } + ], + "6_work_assignments": "Execute Hot Zone entry into rail right-of-way to secure structural stabilization straps on derailed Car #14. Attach grounding cables to prevent static spark ignition. Perform real-time PID air monitoring around breached Benzene manifold and report VOC concentrations to Branch Director every 15 minutes.", + "7_special_instructions": "All entry personnel must wear Level B PPE with SCBA. Continuous air monitoring required; evacuate Hot Zone immediately if PID readings exceed 5 ppm Benzene or 10% LEL. Ensure formal decontamination shower prior to exiting Warm Zone.", + "8_communications": [ + { + "name_function": "Command Channel / Ops Chief", + "primary_contact": "Radio Ch 1 (154.280 MHz)" + }, + { + "name_function": "Hazmat Tactical Channel", + "primary_contact": "Radio Ch 4 (462.550 MHz)" + }, + { + "name_function": "Safety Officer Direct Line", + "primary_contact": "Cell: 555-0177" + }, + { + "name_function": "Medical Emergency Call", + "primary_contact": "Radio Ch 5 / Cell: 555-0199" + } + ], + "9_prepared_by": { + "name": "Marcus Vance", + "position_title": "Planning Section Chief", + "signature": "Marcus Vance", + "date_time": "07/07/2026 16:30" + }, + "iap_page_number": "4" + } +} diff --git a/benchmark/datasets/ground_truth/ics204_2.json b/benchmark/datasets/ground_truth/ics204_2.json new file mode 100644 index 00000000..e1cc69c0 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics204_2.json @@ -0,0 +1,81 @@ +{ + "ics_204_ground_truth": { + "1_incident_name": "Blackwood Chemical Pipeline Breach", + "2_operational_period": { + "date_from": "08/13/2026", + "date_to": "08/14/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_branch_division_group_staging_area": { + "branch": "Pipeline Isolation Branch", + "division": "Division B", + "group": "Hot Zone Entry Group", + "staging_area": "Staging Area Bravo (Westside High School)" + }, + "4_operations_personnel": { + "operations_section_chief": { + "name": "D. Kowalski", + "contact_number": "555-0210 / Ch 1" + }, + "branch_director": { + "name": "Capt. Donald Kross", + "contact_number": "555-0233 / Ch 2" + }, + "division_group_supervisor": { + "name": "Lt. R. Mendez", + "contact_number": "555-0255 / Ch 3" + } + }, + "5_resources_assigned": [ + { + "resource_identifier": "HZM-05", + "leader": "Lt. C. Webb", + "number_of_persons": "5", + "contact": "Radio Ch 3 (467.775 MHz)", + "reporting_location_special_equipment_remarks_notes_information": "Report to Gate 2 by 18:15. Level A encapsulated SCBA suits, pneumatic pipe clamp, thermal imaging camera." + }, + { + "resource_identifier": "ENG-12", + "leader": "Capt. A. Ross", + "number_of_persons": "4", + "contact": "Radio Ch 2", + "reporting_location_special_equipment_remarks_notes_information": "Deploy unmanned fog nozzles at 500 ft perimeter to maintain water curtains over airborne ammonia plume." + }, + { + "resource_identifier": "WT-03", + "leader": "Lt. M. Turner", + "number_of_persons": "2", + "contact": "Radio Ch 2", + "reporting_location_special_equipment_remarks_notes_information": "Supply continuous water feed to Engine 12 monitors." + } + ], + "6_work_assignments": "Enter Hot Zone at Valve Station 14-B under Level A protection to execute manual hot-tap isolation on the 8-inch pressurized line. Secure bypass manifold to stop active liquid ammonia discharge. Maintain water curtains downwind during valve mechanical manipulation.", + "7_special_instructions": "Level A PPE mandatory for entry team. Maintain 2-person backup entry team in Level A at Warm Zone line. If ammonia concentration exceeds 300 ppm IDLH at Warm Zone baseline, sound emergency withdrawal horn (3 long blasts).", + "8_communications": [ + { + "name_function": "Command / Operations", + "primary_contact": "Radio Ch 1 (153.830 MHz)" + }, + { + "name_function": "Pipeline Tactical", + "primary_contact": "Radio Ch 3 (467.775 MHz)" + }, + { + "name_function": "Safety Officer Line", + "primary_contact": "Cell: 555-0288" + }, + { + "name_function": "Decon Line", + "primary_contact": "Radio Ch 6 (462.625 MHz)" + } + ], + "9_prepared_by": { + "name": "Sarah L. Jenkins", + "position_title": "Planning Section Chief", + "signature": "Sarah L. Jenkins", + "date_time": "08/13/2026 16:30" + }, + "iap_page_number": "4" + } +} diff --git a/benchmark/datasets/ground_truth/ics204_3.json b/benchmark/datasets/ground_truth/ics204_3.json new file mode 100644 index 00000000..9d4cb76e --- /dev/null +++ b/benchmark/datasets/ground_truth/ics204_3.json @@ -0,0 +1,81 @@ +{ + "ics_204_ground_truth": { + "1_incident_name": "Port of Houston Sulfuric Acid Tanker Leak", + "2_operational_period": { + "date_from": "10/14/2026", + "date_to": "10/15/2026", + "time_from": "07:00", + "time_to": "19:00" + }, + "3_branch_division_group_staging_area": { + "branch": "Vessel Salvage & Entry Branch", + "division": "Division C (Berth 42)", + "group": "Deck Neutralization Group", + "staging_area": "Staging Area Bravo (Jacintoport Terminal)" + }, + "4_operations_personnel": { + "operations_section_chief": { + "name": "Battalion Chief A. Ross", + "contact_number": "555-0312 / Ch 1" + }, + "branch_director": { + "name": "Lt. J. Thorne", + "contact_number": "555-0344 / Ch 2" + }, + "division_group_supervisor": { + "name": "Lt. S. Baker", + "contact_number": "555-0366 / Ch 4" + } + }, + "5_resources_assigned": [ + { + "resource_identifier": "HZM-PORT-1", + "leader": "Capt. P. Gomez", + "number_of_persons": "6", + "contact": "Radio Ch 4 (453.225 MHz)", + "reporting_location_special_equipment_remarks_notes_information": "Report to Berth 42 Gangway by 07:30. Level A chemical suits, dry lime blower, pH test strips." + }, + { + "resource_identifier": "NEUT-TRK-05", + "leader": "Driver E. Green", + "number_of_persons": "2", + "contact": "Radio Ch 4", + "reporting_location_special_equipment_remarks_notes_information": "Position at Berth 42 apron. Supply dry sodium bicarbonate powder to deck entry team." + }, + { + "resource_identifier": "RV-AC-01", + "leader": "Capt. B. Walsh", + "number_of_persons": "4", + "contact": "Radio Ch 3", + "reporting_location_special_equipment_remarks_notes_information": "Conduct continuous water sampling and maintain acid sorbent boom around vessel hull." + } + ], + "6_work_assignments": "Board M/T Stolt Synergy under Level A protection. Apply dry sodium bicarbonate slurry over 4,200 gallons of pooled sulfuric acid on vessel deck until deck runoff pH stabilizes between 6.5 and 8.5. Inspect offloading manifold for structural stress.", + "7_special_instructions": "Strict 20-minute entry limit per technician due to heat stress (88°F/78% RH). Mandatory lime wash decon before unsuiting. Do not apply raw water directly to concentrated acid pool to prevent violent exothermic splattering.", + "8_communications": [ + { + "name_function": "Operations Command", + "primary_contact": "Radio Ch 1 (156.800 MHz / VHF 16)" + }, + { + "name_function": "Vessel Tactical", + "primary_contact": "Radio Ch 4 (453.225 MHz)" + }, + { + "name_function": "Port Safety Line", + "primary_contact": "Cell: 555-0399" + }, + { + "name_function": "Medical Standby", + "primary_contact": "Radio Ch 5 (462.600 MHz)" + } + ], + "9_prepared_by": { + "name": "Commander Richard Croft", + "position_title": "Planning Section Chief", + "signature": "Richard Croft", + "date_time": "10/14/2026 06:00" + }, + "iap_page_number": "4" + } +} diff --git a/benchmark/datasets/ground_truth/ics204_4.json b/benchmark/datasets/ground_truth/ics204_4.json new file mode 100644 index 00000000..875ee3bc --- /dev/null +++ b/benchmark/datasets/ground_truth/ics204_4.json @@ -0,0 +1,81 @@ +{ + "ics_204_ground_truth": { + "1_incident_name": "Cascade Pass Chlorine Railcar Derailment", + "2_operational_period": { + "date_from": "11/02/2026", + "date_to": "11/03/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_branch_division_group_staging_area": { + "branch": "Hazmat Capping Branch", + "division": "Division Ravine", + "group": "Railcar Entry Group 1", + "staging_area": "Staging Area Charlie (Stevens Pass Yard)" + }, + "4_operations_personnel": { + "operations_section_chief": { + "name": "Battalion Chief T. Higgins", + "contact_number": "555-0411 / Ch 1" + }, + "branch_director": { + "name": "Capt. P. Gomez", + "contact_number": "555-0433 / Ch 2" + }, + "division_group_supervisor": { + "name": "Capt. D. Ross", + "contact_number": "555-0455 / Ch 3" + } + }, + "5_resources_assigned": [ + { + "resource_identifier": "HZM-33", + "leader": "Lt. S. Baker", + "number_of_persons": "5", + "contact": "Radio Ch 3 (462.700 MHz)", + "reporting_location_special_equipment_remarks_notes_information": "Report to Ravine Checkpoint by 18:30. Level A encapsulated suits, Emergency B-Kit capping assembly, pneumatic torque wrenches." + }, + { + "resource_identifier": "BNSF-ER-01", + "leader": "Spec. G. Peterson", + "number_of_persons": "3", + "contact": "Radio Ch 3", + "reporting_location_special_equipment_remarks_notes_information": "Provide railcar dome technical oversight and heavy rigging hardware." + }, + { + "resource_identifier": "DECON-04", + "leader": "Tech M. Turner", + "number_of_persons": "4", + "contact": "Radio Ch 2", + "reporting_location_special_equipment_remarks_notes_information": "Operate heated water decontamination trailer at Staging Area Charlie." + } + ], + "6_work_assignments": "Descend ravine to derailed railcar BNSF-77402 under Level A protection. Mount and torque Emergency B-Kit hood over damaged chlorine angle valve dome. Verify seal integrity using ammonia vapor swab test until zero leakage is detected.", + "7_special_instructions": "Freezing temperature hazard (28°F) and icy slopes. Suit entry teams limited to 30-minute rotations. Heated decon wash mandatory to prevent suit freeze-up. Continuous electrochemical chlorine monitoring required.", + "8_communications": [ + { + "name_function": "Command Channel", + "primary_contact": "Radio Ch 1 (154.400 MHz)" + }, + { + "name_function": "Capping Tactical", + "primary_contact": "Radio Ch 3 (462.700 MHz)" + }, + { + "name_function": "Safety Officer Line", + "primary_contact": "Cell: 555-0488" + }, + { + "name_function": "Evac Control Line", + "primary_contact": "Radio Ch 4 (467.550 MHz)" + } + ], + "9_prepared_by": { + "name": "Lt. Colonel Alan Vance", + "position_title": "Planning Section Chief", + "signature": "Alan Vance", + "date_time": "11/02/2026 16:30" + }, + "iap_page_number": "4" + } +} diff --git a/benchmark/datasets/ground_truth/ics204_5.json b/benchmark/datasets/ground_truth/ics204_5.json new file mode 100644 index 00000000..ccea5412 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics204_5.json @@ -0,0 +1,81 @@ +{ + "ics_204_ground_truth": { + "1_incident_name": "Silverwood Reservoir Crude Oil Pipeline Rupture", + "2_operational_period": { + "date_from": "05/18/2026", + "date_to": "05/19/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_branch_division_group_staging_area": { + "branch": "Reservoir Skimming & Booming Branch", + "division": "Division Reservoir South", + "group": "South Arm Skimmer Division", + "staging_area": "Staging Area Delta (Silverwood Lake Marina)" + }, + "4_operations_personnel": { + "operations_section_chief": { + "name": "Battalion Chief Kevin Ross", + "contact_number": "555-0515 / Ch 1" + }, + "branch_director": { + "name": "Captain B. Walsh", + "contact_number": "555-0535 / Ch 2" + }, + "division_group_supervisor": { + "name": "Lt. J. Thorne", + "contact_number": "555-0560 / Ch 3" + } + }, + "5_resources_assigned": [ + { + "resource_identifier": "RV-LC-01", + "leader": "Capt. B. Walsh", + "number_of_persons": "4", + "contact": "Radio Ch 3 (156.550 MHz / VHF 11)", + "reporting_location_special_equipment_remarks_notes_information": "Report to Marina Slip 4 by 18:15. 1,200 ft hard boom, drum skimmer, high-intensity LED deck searchlights." + }, + { + "resource_identifier": "SKIM-02", + "leader": "Operator R. Mendez", + "number_of_persons": "3", + "contact": "Radio Ch 3", + "reporting_location_special_equipment_remarks_notes_information": "Operate heavy weir skimmer vessel in South arm pool. Pump oil to 5,000 gal floating bladder." + }, + { + "resource_identifier": "AIR-MON-08", + "leader": "Tech A. Ross", + "number_of_persons": "2", + "contact": "Radio Ch 4", + "reporting_location_special_equipment_remarks_notes_information": "Conduct continuous PID benzene air monitoring on boat deck and shoreline baseline." + } + ], + "6_work_assignments": "Deploy and anchor 1,200 feet of hard containment boom across Sawpit Canyon inlet to isolate reservoir. Operate drum skimmers and weir skimmer vessel SKIM-02 continuously throughout night shift to recover floating crude oil slick in South arm.", + "7_special_instructions": "Mandatory USCG-approved PFDs for all over-water personnel. Maintain vessel deck lighting during night operations. If PID readings exceed 1 ppm benzene, mandate half-mask APR organic vapor respirators.", + "8_communications": [ + { + "name_function": "Command Channel", + "primary_contact": "Radio Ch 1 (154.150 MHz)" + }, + { + "name_function": "Marine Tactical Channel", + "primary_contact": "Radio Ch 3 (156.550 MHz / VHF 11)" + }, + { + "name_function": "Safety Officer Direct", + "primary_contact": "Cell: 555-0588" + }, + { + "name_function": "Water Intake Guard", + "primary_contact": "Radio Ch 5 (462.575 MHz)" + } + ], + "9_prepared_by": { + "name": "Captain Rachel Brooks", + "position_title": "Planning Section Chief", + "signature": "Rachel Brooks", + "date_time": "05/18/2026 16:30" + }, + "iap_page_number": "4" + } +} diff --git a/benchmark/datasets/ground_truth/ics205_1.json b/benchmark/datasets/ground_truth/ics205_1.json new file mode 100644 index 00000000..1053aaef --- /dev/null +++ b/benchmark/datasets/ground_truth/ics205_1.json @@ -0,0 +1,76 @@ +{ + "ics_205_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_date_time_prepared": { + "date": "07/07/2026", + "time": "16:00" + }, + "3_operational_period": { + "date_from": "07/07/2026", + "date_to": "07/08/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "4_basic_radio_channel_use": [ + { + "zone_grp": "Zone 1", + "channel_number": "1", + "function": "Command", + "channel_name_trunked_radio_system_talkgroup": "TAC-1", + "assignment": "Unified Command / Section Chiefs", + "rx_frequency_n_or_w": "154.2800 N", + "rx_tone_nac": "156.7", + "tx_frequency_n_or_w": "159.4800 N", + "tx_tone_nac": "156.7", + "mode_a_d_or_m": "A", + "remarks": "Repeater 1 on Ridge Top" + }, + { + "zone_grp": "Zone 1", + "channel_number": "2", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "TAC-2", + "assignment": "Hazmat Entry Group", + "rx_frequency_n_or_w": "462.5500 N", + "rx_tone_nac": "114.8", + "tx_frequency_n_or_w": "467.5500 N", + "tx_tone_nac": "114.8", + "mode_a_d_or_m": "D", + "remarks": "Encrypted digital talkgroup" + }, + { + "zone_grp": "Zone 1", + "channel_number": "3", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "TAC-3", + "assignment": "Fire Suppression Branch", + "rx_frequency_n_or_w": "153.8300 N", + "rx_tone_nac": "156.7", + "tx_frequency_n_or_w": "153.8300 N", + "tx_tone_nac": "156.7", + "mode_a_d_or_m": "A", + "remarks": "Direct tactical simplex" + }, + { + "zone_grp": "Zone 1", + "channel_number": "4", + "function": "Support", + "channel_name_trunked_radio_system_talkgroup": "SUPP-1", + "assignment": "Logistics & Decon", + "rx_frequency_n_or_w": "462.6250 N", + "rx_tone_nac": "123.0", + "tx_frequency_n_or_w": "462.6250 N", + "tx_tone_nac": "123.0", + "mode_a_d_or_m": "A", + "remarks": "Staging & decon trailer" + } + ], + "5_special_instructions": "All emergency traffic must use 'MAYDAY' call sign on Channel 1. Channel 2 encryption key loaded at Staging Area Alpha.", + "6_prepared_by": { + "name": "R. Lee", + "signature": "R. Lee", + "date_time": "07/07/2026 16:00" + }, + "iap_page_number": "5" + } +} diff --git a/benchmark/datasets/ground_truth/ics205_2.json b/benchmark/datasets/ground_truth/ics205_2.json new file mode 100644 index 00000000..59c9b066 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics205_2.json @@ -0,0 +1,76 @@ +{ + "ics_205_ground_truth": { + "1_incident_name": "Blackwood Chemical Pipeline Breach", + "2_date_time_prepared": { + "date": "08/13/2026", + "time": "16:00" + }, + "3_operational_period": { + "date_from": "08/13/2026", + "date_to": "08/14/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "4_basic_radio_channel_use": [ + { + "zone_grp": "Zone A", + "channel_number": "1", + "function": "Command", + "channel_name_trunked_radio_system_talkgroup": "STATE-CMD", + "assignment": "Unified Command / Operations", + "rx_frequency_n_or_w": "153.8300 N", + "rx_tone_nac": "131.8", + "tx_frequency_n_or_w": "158.9700 N", + "tx_tone_nac": "131.8", + "mode_a_d_or_m": "A", + "remarks": "County Repeater 4" + }, + { + "zone_grp": "Zone A", + "channel_number": "2", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "HAZ-TAC-1", + "assignment": "Hot Zone Entry Group", + "rx_frequency_n_or_w": "467.7750 N", + "rx_tone_nac": "D023", + "tx_frequency_n_or_w": "467.7750 N", + "tx_tone_nac": "D023", + "mode_a_d_or_m": "D", + "remarks": "Intrinsically safe radios only" + }, + { + "zone_grp": "Zone A", + "channel_number": "3", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "BOOM-TAC", + "assignment": "River Booming Division", + "rx_frequency_n_or_w": "154.2800 N", + "rx_tone_nac": "131.8", + "tx_frequency_n_or_w": "154.2800 N", + "tx_tone_nac": "131.8", + "mode_a_d_or_m": "A", + "remarks": "Simplex marine/land link" + }, + { + "zone_grp": "Zone A", + "channel_number": "4", + "function": "Dispatch", + "channel_name_trunked_radio_system_talkgroup": "LAW-DISP", + "assignment": "Perimeter Evacuation / SO", + "rx_frequency_n_or_w": "460.1250 N", + "rx_tone_nac": "156.7", + "tx_frequency_n_or_w": "465.1250 N", + "tx_tone_nac": "156.7", + "mode_a_d_or_m": "D", + "remarks": "County Sheriff Dispatch" + } + ], + "5_special_instructions": "Only intrinsically safe portable radios (Class I, Div 1) permitted inside the 500-foot Exclusion Zone. Maintain 30-minute radio check-ins.", + "6_prepared_by": { + "name": "K. Albright", + "signature": "K. Albright", + "date_time": "08/13/2026 16:00" + }, + "iap_page_number": "5" + } +} diff --git a/benchmark/datasets/ground_truth/ics205_3.json b/benchmark/datasets/ground_truth/ics205_3.json new file mode 100644 index 00000000..4844bd5f --- /dev/null +++ b/benchmark/datasets/ground_truth/ics205_3.json @@ -0,0 +1,76 @@ +{ + "ics_205_ground_truth": { + "1_incident_name": "Port of Houston Sulfuric Acid Tanker Leak", + "2_date_time_prepared": { + "date": "10/14/2026", + "time": "05:30" + }, + "3_operational_period": { + "date_from": "10/14/2026", + "date_to": "10/15/2026", + "time_from": "07:00", + "time_to": "19:00" + }, + "4_basic_radio_channel_use": [ + { + "zone_grp": "Zone Port", + "channel_number": "16", + "function": "Command", + "channel_name_trunked_radio_system_talkgroup": "VHF 16 / CMD", + "assignment": "USCG / Unified Command", + "rx_frequency_n_or_w": "156.8000 W", + "rx_tone_nac": "None", + "tx_frequency_n_or_w": "156.8000 W", + "tx_tone_nac": "None", + "mode_a_d_or_m": "A", + "remarks": "International Maritime Distress & Command" + }, + { + "zone_grp": "Zone Port", + "channel_number": "11", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "VHF 11 / OPS", + "assignment": "Vessel Deck Entry Group", + "rx_frequency_n_or_w": "156.5500 W", + "rx_tone_nac": "None", + "tx_frequency_n_or_w": "156.5500 W", + "tx_tone_nac": "None", + "mode_a_d_or_m": "A", + "remarks": "Ship-to-shore deck entry" + }, + { + "zone_grp": "Zone Port", + "channel_number": "4", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "PORT-HAZ", + "assignment": "Chemical Neutralization Team", + "rx_frequency_n_or_w": "453.2250 N", + "rx_tone_nac": "141.3", + "tx_frequency_n_or_w": "458.2250 N", + "tx_tone_nac": "141.3", + "mode_a_d_or_m": "D", + "remarks": "Port Fire Hazmat digital" + }, + { + "zone_grp": "Zone Port", + "channel_number": "5", + "function": "Support", + "channel_name_trunked_radio_system_talkgroup": "MED-NET", + "assignment": "Medical & Decon Operations", + "rx_frequency_n_or_w": "462.6000 N", + "rx_tone_nac": "100.0", + "tx_frequency_n_or_w": "462.6000 N", + "tx_tone_nac": "100.0", + "mode_a_d_or_m": "A", + "remarks": "Decon trailer baseline" + } + ], + "5_special_instructions": "VHF Channel 16 reserved for Command & emergency traffic only. Deck entry team must maintain dual-watch on VHF 11 and Port-Haz Ch 4.", + "6_prepared_by": { + "name": "J. Myers", + "signature": "J. Myers", + "date_time": "10/14/2026 05:30" + }, + "iap_page_number": "5" + } +} diff --git a/benchmark/datasets/ground_truth/ics205_4.json b/benchmark/datasets/ground_truth/ics205_4.json new file mode 100644 index 00000000..5efc9bae --- /dev/null +++ b/benchmark/datasets/ground_truth/ics205_4.json @@ -0,0 +1,76 @@ +{ + "ics_205_ground_truth": { + "1_incident_name": "Cascade Pass Chlorine Railcar Derailment", + "2_date_time_prepared": { + "date": "11/02/2026", + "time": "16:00" + }, + "3_operational_period": { + "date_from": "11/02/2026", + "date_to": "11/03/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "4_basic_radio_channel_use": [ + { + "zone_grp": "Zone Pass", + "channel_number": "1", + "function": "Command", + "channel_name_trunked_radio_system_talkgroup": "WSP-CMD", + "assignment": "Unified Command / Operations", + "rx_frequency_n_or_w": "154.4000 N", + "rx_tone_nac": "103.5", + "tx_frequency_n_or_w": "159.0300 N", + "tx_tone_nac": "103.5", + "mode_a_d_or_m": "A", + "remarks": "Stevens Pass Mountain Repeater" + }, + { + "zone_grp": "Zone Pass", + "channel_number": "3", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "CAPP-TAC", + "assignment": "Railcar Entry & Capping Team", + "rx_frequency_n_or_w": "462.7000 N", + "rx_tone_nac": "D074", + "tx_frequency_n_or_w": "467.7000 N", + "tx_tone_nac": "D074", + "mode_a_d_or_m": "D", + "remarks": "Digital cross-band repeater in ravine" + }, + { + "zone_grp": "Zone Pass", + "channel_number": "4", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "EVAC-TAC", + "assignment": "Highway 2 & Evacuation Security", + "rx_frequency_n_or_w": "467.5500 N", + "rx_tone_nac": "114.8", + "tx_frequency_n_or_w": "467.5500 N", + "tx_tone_nac": "114.8", + "mode_a_d_or_m": "A", + "remarks": "Sheriff patrol direct" + }, + { + "zone_grp": "Zone Pass", + "channel_number": "6", + "function": "Support", + "channel_name_trunked_radio_system_talkgroup": "LOG-SUPP", + "assignment": "Decon & Staging Charlie", + "rx_frequency_n_or_w": "151.6250 N", + "rx_tone_nac": "67.0", + "tx_frequency_n_or_w": "151.6250 N", + "tx_tone_nac": "67.0", + "mode_a_d_or_m": "A", + "remarks": "Staging Area Charlie link" + } + ], + "5_special_instructions": "Portable cross-band repeater deployed at ravine rim to ensure coverage inside mountain shadow. Cold-weather battery packs required for all handheld portables.", + "6_prepared_by": { + "name": "B. Foster", + "signature": "B. Foster", + "date_time": "11/02/2026 16:00" + }, + "iap_page_number": "5" + } +} diff --git a/benchmark/datasets/ground_truth/ics205_5.json b/benchmark/datasets/ground_truth/ics205_5.json new file mode 100644 index 00000000..2429db4f --- /dev/null +++ b/benchmark/datasets/ground_truth/ics205_5.json @@ -0,0 +1,76 @@ +{ + "ics_205_ground_truth": { + "1_incident_name": "Silverwood Reservoir Crude Oil Pipeline Rupture", + "2_date_time_prepared": { + "date": "05/18/2026", + "time": "16:00" + }, + "3_operational_period": { + "date_from": "05/18/2026", + "date_to": "05/19/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "4_basic_radio_channel_use": [ + { + "zone_grp": "Zone Lake", + "channel_number": "1", + "function": "Command", + "channel_name_trunked_radio_system_talkgroup": "FIRE-CMD", + "assignment": "Unified Command / Station 30", + "rx_frequency_n_or_w": "154.1500 N", + "rx_tone_nac": "146.2", + "tx_frequency_n_or_w": "158.8500 N", + "tx_tone_nac": "146.2", + "mode_a_d_or_m": "A", + "remarks": "County Station 30 Repeater" + }, + { + "zone_grp": "Zone Lake", + "channel_number": "3", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "MARINE-11", + "assignment": "Reservoir Skimmer Fleet", + "rx_frequency_n_or_w": "156.5500 W", + "rx_tone_nac": "None", + "tx_frequency_n_or_w": "156.5500 W", + "tx_tone_nac": "None", + "mode_a_d_or_m": "A", + "remarks": "VHF Channel 11 Marine Simplex" + }, + { + "zone_grp": "Zone Lake", + "channel_number": "4", + "function": "Tactical", + "channel_name_trunked_radio_system_talkgroup": "PIPE-TAC", + "assignment": "Canyon Pipeline Repair Group", + "rx_frequency_n_or_w": "462.5750 N", + "rx_tone_nac": "D115", + "tx_frequency_n_or_w": "467.5750 N", + "tx_tone_nac": "D115", + "mode_a_d_or_m": "D", + "remarks": "Sawpit Canyon tactical link" + }, + { + "zone_grp": "Zone Lake", + "channel_number": "5", + "function": "Support", + "channel_name_trunked_radio_system_talkgroup": "PARK-SUPP", + "assignment": "State Parks & Intake Guard", + "rx_frequency_n_or_w": "151.4000 N", + "rx_tone_nac": "146.2", + "tx_frequency_n_or_w": "151.4000 N", + "tx_tone_nac": "146.2", + "mode_a_d_or_m": "A", + "remarks": "Water Agency & Park Rangers" + } + ], + "5_special_instructions": "All marine vessels must maintain continuous watch on VHF Channel 11. Emergency Mayday protocol monitored by Command on Ch 1.", + "6_prepared_by": { + "name": "Sgt. R. Hall", + "signature": "R. Hall", + "date_time": "05/18/2026 16:00" + }, + "iap_page_number": "5" + } +} diff --git a/benchmark/datasets/ground_truth/ics205a_1.json b/benchmark/datasets/ground_truth/ics205a_1.json new file mode 100644 index 00000000..0fb968ff --- /dev/null +++ b/benchmark/datasets/ground_truth/ics205a_1.json @@ -0,0 +1,55 @@ +{ + "ics_205a_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_operational_period": { + "date_from": "07/07/2026", + "date_to": "07/08/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_basic_local_communications_information": [ + { + "incident_assigned_position": "Incident Commander (County Fire)", + "name": "Chief J. Thomas", + "methods_of_contact": "Cell: 555-0101 / Radio Ch 1 / Vehicle: FIRE-CMD-1" + }, + { + "incident_assigned_position": "Co-Incident Commander (State DEQ)", + "name": "S. Albright", + "methods_of_contact": "Cell: 555-0102 / Radio Ch 1" + }, + { + "incident_assigned_position": "Co-Incident Commander (CSX RP)", + "name": "D. Miller", + "methods_of_contact": "Cell: 555-0103 / Radio Ch 1" + }, + { + "incident_assigned_position": "Safety Officer", + "name": "Captain R. Mendez", + "methods_of_contact": "Cell: 555-0177 / Radio Ch 1 & 4" + }, + { + "incident_assigned_position": "Operations Section Chief", + "name": "B. Reynolds", + "methods_of_contact": "Cell: 555-0192 / Radio Ch 1" + }, + { + "incident_assigned_position": "Hazmat Branch Director", + "name": "Lt. T. Kincaid", + "methods_of_contact": "Cell: 555-0144 / Radio Ch 3 & 4 / Vehicle: HZM-01" + }, + { + "incident_assigned_position": "Planning Section Chief", + "name": "Marcus Vance", + "methods_of_contact": "Cell: 555-0150 / CP Desk Ext: 104" + } + ], + "4_prepared_by": { + "name": "R. Lee", + "position_title": "Communications Unit Leader", + "signature": "R. Lee", + "date_time": "07/07/2026 16:30" + }, + "iap_page_number": "6" + } +} diff --git a/benchmark/datasets/ground_truth/ics205a_2.json b/benchmark/datasets/ground_truth/ics205a_2.json new file mode 100644 index 00000000..0a876ffc --- /dev/null +++ b/benchmark/datasets/ground_truth/ics205a_2.json @@ -0,0 +1,55 @@ +{ + "ics_205a_ground_truth": { + "1_incident_name": "Blackwood Chemical Pipeline Breach", + "2_operational_period": { + "date_from": "08/13/2026", + "date_to": "08/14/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_basic_local_communications_information": [ + { + "incident_assigned_position": "Incident Commander (Fire)", + "name": "Chief R. Vance", + "methods_of_contact": "Cell: 555-0201 / Radio Ch 1" + }, + { + "incident_assigned_position": "Incident Commander (State EPA)", + "name": "Officer M. Ross", + "methods_of_contact": "Cell: 555-0202 / Radio Ch 1" + }, + { + "incident_assigned_position": "Safety Officer", + "name": "Captain L. Hayes", + "methods_of_contact": "Cell: 555-0288 / Radio Ch 1" + }, + { + "incident_assigned_position": "Operations Section Chief", + "name": "D. Kowalski", + "methods_of_contact": "Cell: 555-0210 / Radio Ch 1" + }, + { + "incident_assigned_position": "Pipeline Branch Director", + "name": "Capt. Donald Kross", + "methods_of_contact": "Cell: 555-0233 / Radio Ch 2 / Vehicle: HAZ-1" + }, + { + "incident_assigned_position": "Entry Group Supervisor", + "name": "Lt. R. Mendez", + "methods_of_contact": "Cell: 555-0255 / Radio Ch 3 / Vehicle: HZM-05" + }, + { + "incident_assigned_position": "Planning Section Chief", + "name": "Sarah L. Jenkins", + "methods_of_contact": "Cell: 555-0250 / CP Ext: 201" + } + ], + "4_prepared_by": { + "name": "K. Albright", + "position_title": "Communications Unit Leader", + "signature": "K. Albright", + "date_time": "08/13/2026 16:30" + }, + "iap_page_number": "6" + } +} diff --git a/benchmark/datasets/ground_truth/ics205a_3.json b/benchmark/datasets/ground_truth/ics205a_3.json new file mode 100644 index 00000000..1be12fe0 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics205a_3.json @@ -0,0 +1,55 @@ +{ + "ics_205a_ground_truth": { + "1_incident_name": "Port of Houston Sulfuric Acid Tanker Leak", + "2_operational_period": { + "date_from": "10/14/2026", + "date_to": "10/15/2026", + "time_from": "07:00", + "time_to": "19:00" + }, + "3_basic_local_communications_information": [ + { + "incident_assigned_position": "USCG Unified Commander", + "name": "Captain H. Vance", + "methods_of_contact": "Cell: 555-0301 / VHF Ch 16 / Vessel: CG-45601" + }, + { + "incident_assigned_position": "EPA Co-Incident Commander", + "name": "OSC M. Reynolds", + "methods_of_contact": "Cell: 555-0302 / Radio Ch 1" + }, + { + "incident_assigned_position": "Safety Officer", + "name": "Commander Thomas Blake", + "methods_of_contact": "Cell: 555-0399 / VHF Ch 16" + }, + { + "incident_assigned_position": "Operations Section Chief", + "name": "Battalion Chief A. Ross", + "methods_of_contact": "Cell: 555-0312 / VHF Ch 16" + }, + { + "incident_assigned_position": "Vessel Salvage Branch Director", + "name": "Lt. J. Thorne", + "methods_of_contact": "Cell: 555-0344 / VHF Ch 11" + }, + { + "incident_assigned_position": "Deck Entry Supervisor", + "name": "Lt. S. Baker", + "methods_of_contact": "Cell: 555-0366 / Radio Ch 4 / Vehicle: HZM-PORT-1" + }, + { + "incident_assigned_position": "Planning Section Chief", + "name": "Commander Richard Croft", + "methods_of_contact": "Cell: 555-0350 / Sector Ext: 305" + } + ], + "4_prepared_by": { + "name": "J. Myers", + "position_title": "Communications Unit Leader", + "signature": "J. Myers", + "date_time": "10/14/2026 06:15" + }, + "iap_page_number": "6" + } +} diff --git a/benchmark/datasets/ground_truth/ics205a_4.json b/benchmark/datasets/ground_truth/ics205a_4.json new file mode 100644 index 00000000..b1107d23 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics205a_4.json @@ -0,0 +1,55 @@ +{ + "ics_205a_ground_truth": { + "1_incident_name": "Cascade Pass Chlorine Railcar Derailment", + "2_operational_period": { + "date_from": "11/02/2026", + "date_to": "11/03/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_basic_local_communications_information": [ + { + "incident_assigned_position": "WSP Incident Commander", + "name": "Captain E. Miller", + "methods_of_contact": "Cell: 555-0401 / Radio Ch 1 / Unit: WSP-100" + }, + { + "incident_assigned_position": "EPA R10 Co-Commander", + "name": "OSC R. Brooks", + "methods_of_contact": "Cell: 555-0402 / Radio Ch 1" + }, + { + "incident_assigned_position": "Safety Officer", + "name": "Captain Marcus Vance", + "methods_of_contact": "Cell: 555-0488 / Radio Ch 1" + }, + { + "incident_assigned_position": "Operations Section Chief", + "name": "Battalion Chief T. Higgins", + "methods_of_contact": "Cell: 555-0411 / Radio Ch 1" + }, + { + "incident_assigned_position": "Hazmat Capping Branch Director", + "name": "Capt. P. Gomez", + "methods_of_contact": "Cell: 555-0433 / Radio Ch 2 & 3" + }, + { + "incident_assigned_position": "Railcar Entry Supervisor", + "name": "Capt. D. Ross", + "methods_of_contact": "Cell: 555-0455 / Radio Ch 3 / Vehicle: HZM-33" + }, + { + "incident_assigned_position": "Planning Section Chief", + "name": "Lt. Colonel Alan Vance", + "methods_of_contact": "Cell: 555-0450 / CP Desk: Gym-1" + } + ], + "4_prepared_by": { + "name": "B. Foster", + "position_title": "Communications Unit Leader", + "signature": "B. Foster", + "date_time": "11/02/2026 16:30" + }, + "iap_page_number": "6" + } +} diff --git a/benchmark/datasets/ground_truth/ics205a_5.json b/benchmark/datasets/ground_truth/ics205a_5.json new file mode 100644 index 00000000..afaec8e3 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics205a_5.json @@ -0,0 +1,55 @@ +{ + "ics_205a_ground_truth": { + "1_incident_name": "Silverwood Reservoir Crude Oil Pipeline Rupture", + "2_operational_period": { + "date_from": "05/18/2026", + "date_to": "05/19/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_basic_local_communications_information": [ + { + "incident_assigned_position": "EPA R9 Incident Commander", + "name": "OSC C. Martinez", + "methods_of_contact": "Cell: 555-0501 / Radio Ch 1" + }, + { + "incident_assigned_position": "SBCo Fire Incident Commander", + "name": "Chief M. Thorne", + "methods_of_contact": "Cell: 555-0502 / Radio Ch 1 / Vehicle: FIRE-SB-1" + }, + { + "incident_assigned_position": "Safety Officer", + "name": "Captain Gregory Hall", + "methods_of_contact": "Cell: 555-0588 / Radio Ch 1" + }, + { + "incident_assigned_position": "Operations Section Chief", + "name": "Battalion Chief Kevin Ross", + "methods_of_contact": "Cell: 555-0515 / Radio Ch 1" + }, + { + "incident_assigned_position": "Marine Skimming Branch Director", + "name": "Captain B. Walsh", + "methods_of_contact": "Cell: 555-0535 / Radio Ch 3 (VHF 11) / Vessel: RV-LC-01" + }, + { + "incident_assigned_position": "Canyon Repair Group Supervisor", + "name": "Lt. J. Thorne", + "methods_of_contact": "Cell: 555-0560 / Radio Ch 4 / Vehicle: CREW-04" + }, + { + "incident_assigned_position": "Planning Section Chief", + "name": "Captain Rachel Brooks", + "methods_of_contact": "Cell: 555-0550 / CP Desk Ext: 403" + } + ], + "4_prepared_by": { + "name": "Sgt. R. Hall", + "position_title": "Communications Unit Leader", + "signature": "R. Hall", + "date_time": "05/18/2026 16:30" + }, + "iap_page_number": "6" + } +} diff --git a/benchmark/datasets/ground_truth/ics206_1.json b/benchmark/datasets/ground_truth/ics206_1.json new file mode 100644 index 00000000..9b8566b6 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics206_1.json @@ -0,0 +1,80 @@ +{ + "ics_206_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_operational_period": { + "date_from": "07/07/2026", + "date_to": "07/08/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_medical_aid_stations": [ + { + "name": "Staging Area Alpha First Aid Station", + "location": "Whispering Pines Creek Staging Area", + "contact_number_frequency": "462.5500 MHz / Ch 1", + "paramedic_service": true + }, + { + "name": "Forward Decon Medical Post", + "location": "Derailment Site Perimeter West", + "contact_number_frequency": "467.7750 MHz / Ch 2", + "paramedic_service": true + } + ], + "4_transportation_services": { + "ambulance_services": [ + { + "name": "County Emergency Medical Services Unit 41", + "location": "Whispering Pines Staging Area", + "contact_number_frequency": "(555) 234-8901 / Ch 1", + "paramedic_service": true + }, + { + "name": "Pine Valley Volunteer Fire & Rescue Ambulance 12", + "location": "Station 12 Base", + "contact_number_frequency": "(555) 234-8902 / Ch 1", + "paramedic_service": false + } + ], + "air_ambulance_services": [ + { + "name": "LifeFlight Air Medical Helicopter", + "location": "Regional Trauma Center Helipad", + "contact_number_frequency": "(555) 999-4321 / VHF 155.340 MHz", + "paramedic_service": true + } + ] + }, + "5_hospitals": [ + { + "hospital_name": "Whispering Pines Regional Medical Center", + "address_latitude_longitude": "100 Medical Center Drive, Whispering Pines, 42.1234 N, 73.5678 W", + "contact_number_frequency": "(555) 789-0100 / Med Channel 3", + "air_ambulance_helipad": true, + "burn_center": false, + "trauma_center": true + }, + { + "hospital_name": "State University Burn & Trauma Center", + "address_latitude_longitude": "500 University Ave, Capital City, 42.3500 N, 73.8000 W", + "contact_number_frequency": "(555) 789-0900 / Med Channel 5", + "air_ambulance_helipad": true, + "burn_center": true, + "trauma_center": true + } + ], + "6_special_medical_emergency_procedures": "In the event of a medical emergency or chemical exposure during night operations, responders must immediately notify the Incident Commander and Medical Unit Leader over Command Channel 1. All entry personnel exposed to Benzene must undergo full gross and technical decontamination at the Forward Decon Medical Post before transport. For critical life safety, LifeFlight Air Medical is on standby for immediate evacuation from Landing Zone Alpha located adjacent to Staging Area Alpha.", + "7_prepared_by": { + "name": "Dr. Evelyn Reed", + "position_title": "Medical Unit Leader", + "signature": "Evelyn Reed", + "date_time": "07/07/2026 16:30" + }, + "8_approved_by_safety_officer": { + "name": "Captain Thomas Wright", + "signature": "Thomas Wright", + "date_time": "07/07/2026 17:00" + }, + "iap_page_number": "5" + } +} diff --git a/benchmark/datasets/ground_truth/ics206_2.json b/benchmark/datasets/ground_truth/ics206_2.json new file mode 100644 index 00000000..b216b947 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics206_2.json @@ -0,0 +1,80 @@ +{ + "ics_206_ground_truth": { + "1_incident_name": "Blackwood Chemical Pipeline Breach", + "2_operational_period": { + "date_from": "08/13/2026", + "date_to": "08/14/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_medical_aid_stations": [ + { + "name": "Blackwood Command Post Medical Station", + "location": "Station 12 Briefing Trailer", + "contact_number_frequency": "453.2125 MHz / Ch 1", + "paramedic_service": true + }, + { + "name": "Hot Zone Emergency Decon Aid Station", + "location": "Pipeline Gate 4 Access Point", + "contact_number_frequency": "458.2125 MHz / Ch 2", + "paramedic_service": true + } + ], + "4_transportation_services": { + "ambulance_services": [ + { + "name": "Blackwood County EMS Unit 10", + "location": "Station 12 Staging Area", + "contact_number_frequency": "(555) 345-6789 / Ch 1", + "paramedic_service": true + }, + { + "name": "Metro West Medic 5", + "location": "Route 104 Checkpoint", + "contact_number_frequency": "(555) 345-6790 / Ch 1", + "paramedic_service": true + } + ], + "air_ambulance_services": [ + { + "name": "AirEvac Response Helicopter 3", + "location": "Blackwood Airport Helipad", + "contact_number_frequency": "(555) 888-1234 / VHF 155.400 MHz", + "paramedic_service": true + } + ] + }, + "5_hospitals": [ + { + "hospital_name": "Blackwood Community Hospital", + "address_latitude_longitude": "45 River Road, Blackwood, 39.8765 N, 84.1234 W", + "contact_number_frequency": "(555) 678-1100 / Med Net 1", + "air_ambulance_helipad": true, + "burn_center": false, + "trauma_center": true + }, + { + "hospital_name": "Valley Regional Toxicology & Trauma Center", + "address_latitude_longitude": "1200 Health Park Way, Dayton, 39.7500 N, 84.2000 W", + "contact_number_frequency": "(555) 678-9900 / Med Net 4", + "air_ambulance_helipad": true, + "burn_center": true, + "trauma_center": true + } + ], + "6_special_medical_emergency_procedures": "In the event of an acute respiratory exposure to Anhydrous Ammonia, responders must immediately evacuate the patient upwind to the Hot Zone Emergency Decon Aid Station at Gate 4. Continuous high-flow oxygen administration and eye/skin water irrigation must commence immediately during technical decon. AirEvac Response Helicopter 3 is available at LZ Bravo near Gate 4 for rapid transfer to Valley Regional Toxicology Center.", + "7_prepared_by": { + "name": "Dr. Aris Thorne", + "position_title": "Medical Unit Leader", + "signature": "Aris Thorne", + "date_time": "08/13/2026 16:30" + }, + "8_approved_by_safety_officer": { + "name": "Safety Officer Mark Davis", + "signature": "Mark Davis", + "date_time": "08/13/2026 17:15" + }, + "iap_page_number": "5" + } +} diff --git a/benchmark/datasets/ground_truth/ics206_3.json b/benchmark/datasets/ground_truth/ics206_3.json new file mode 100644 index 00000000..37f29f5d --- /dev/null +++ b/benchmark/datasets/ground_truth/ics206_3.json @@ -0,0 +1,80 @@ +{ + "ics_206_ground_truth": { + "1_incident_name": "Port of Houston Sulfuric Acid Tanker Leak", + "2_operational_period": { + "date_from": "10/14/2026", + "date_to": "10/15/2026", + "time_from": "07:00", + "time_to": "19:00" + }, + "3_medical_aid_stations": [ + { + "name": "Berth 42 Decon & Medical Station", + "location": "Berth 42 Dockside Command Post", + "contact_number_frequency": "156.800 MHz / Ch 16", + "paramedic_service": true + }, + { + "name": "M/T Stolt Synergy Deck Medical Post", + "location": "Vessel Starboard Main Deck", + "contact_number_frequency": "467.525 MHz / Ch 3", + "paramedic_service": true + } + ], + "4_transportation_services": { + "ambulance_services": [ + { + "name": "Houston Fire Department Medic 42", + "location": "Port Gate 5 Security Staging", + "contact_number_frequency": "(555) 456-7890 / Ch 1", + "paramedic_service": true + }, + { + "name": "Harris County Emergency Corps Unit 18", + "location": "Channelview Staging Area", + "contact_number_frequency": "(555) 456-7891 / Ch 1", + "paramedic_service": true + } + ], + "air_ambulance_services": [ + { + "name": "Memorial Hermann Life Flight", + "location": "Houston Medical Center Helipad", + "contact_number_frequency": "(555) 777-9111 / VHF 155.280 MHz", + "paramedic_service": true + } + ] + }, + "5_hospitals": [ + { + "hospital_name": "Houston Methodist Hospital Baytown", + "address_latitude_longitude": "4401 Garth Road, Baytown, 29.7355 N, 94.9774 W", + "contact_number_frequency": "(555) 890-2200 / Marine Channel 22", + "air_ambulance_helipad": true, + "burn_center": false, + "trauma_center": true + }, + { + "hospital_name": "Memorial Hermann Texas Medical Center", + "address_latitude_longitude": "6411 Fannin St, Houston, 29.7108 N, 95.3986 W", + "contact_number_frequency": "(555) 890-9900 / Marine Channel 24", + "air_ambulance_helipad": true, + "burn_center": true, + "trauma_center": true + } + ], + "6_special_medical_emergency_procedures": "Given high ambient heat and humidity during Level A chemical suit entry, responder entry times are strictly capped at 20 minutes followed by 40 minutes active cooling and hydration. In the event of chemical acid splashes or suit breaches, perform instant water deluge at the Berth 42 Decon Station for a minimum of 15 minutes. Memorial Hermann Life Flight is designated for critical chemical burn transport from Berth 42 Pier Helipad.", + "7_prepared_by": { + "name": "LT Commander James Miller", + "position_title": "Medical Unit Leader", + "signature": "James Miller", + "date_time": "10/14/2026 06:00" + }, + "8_approved_by_safety_officer": { + "name": "Safety Officer Sarah Jenkins", + "signature": "Sarah Jenkins", + "date_time": "10/14/2026 06:30" + }, + "iap_page_number": "5" + } +} diff --git a/benchmark/datasets/ground_truth/ics206_4.json b/benchmark/datasets/ground_truth/ics206_4.json new file mode 100644 index 00000000..06b4103c --- /dev/null +++ b/benchmark/datasets/ground_truth/ics206_4.json @@ -0,0 +1,80 @@ +{ + "ics_206_ground_truth": { + "1_incident_name": "Cascade Pass Chlorine Railcar Derailment", + "2_operational_period": { + "date_from": "11/02/2026", + "date_to": "11/03/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_medical_aid_stations": [ + { + "name": "Staging Area Charlie Medical Station", + "location": "Skykomish School Gym Briefing Room", + "contact_number_frequency": "461.2250 MHz / Ch 1", + "paramedic_service": true + }, + { + "name": "Warm Decon Hydration & Medical Aid Station", + "location": "State Route 2 Derailment Overlook", + "contact_number_frequency": "466.2250 MHz / Ch 2", + "paramedic_service": true + } + ], + "4_transportation_services": { + "ambulance_services": [ + { + "name": "Cascade Regional EMS Medic 3", + "location": "Staging Area Charlie", + "contact_number_frequency": "(555) 567-8901 / Ch 1", + "paramedic_service": true + }, + { + "name": "Skykomish Volunteer Fire Department Ambulance 8", + "location": "Skykomish Fire Station", + "contact_number_frequency": "(555) 567-8902 / Ch 1", + "paramedic_service": false + } + ], + "air_ambulance_services": [ + { + "name": "Airlift Northwest Helicopter 1", + "location": "Arlington Regional Helipad", + "contact_number_frequency": "(555) 666-5432 / VHF 155.355 MHz", + "paramedic_service": true + } + ] + }, + "5_hospitals": [ + { + "hospital_name": "Everett General Hospital", + "address_latitude_longitude": "1330 Colby Ave, Everett, 47.9789 N, 122.2012 W", + "contact_number_frequency": "(555) 901-3300 / State EMS Ch 4", + "air_ambulance_helipad": true, + "burn_center": false, + "trauma_center": true + }, + { + "hospital_name": "Harborview Medical Center", + "address_latitude_longitude": "325 9th Ave, Seattle, 47.6042 N, 122.3242 W", + "contact_number_frequency": "(555) 901-9900 / State EMS Ch 8", + "air_ambulance_helipad": true, + "burn_center": true, + "trauma_center": true + } + ], + "6_special_medical_emergency_procedures": "Under freezing night conditions (28°F overnight) and toxic Chlorine threat, heated water decontamination trailers and active warming blankets must be operated continuously at the Warm Decon Station to prevent suit icing and hypothermia. Any exposure to Chlorine vapor requires immediate inhalation treatment with humidified oxygen and urgent transport to Harborview Medical Center. Airlift Northwest Helicopter 1 is positioned at Skykomish High School Football Field LZ.", + "7_prepared_by": { + "name": "Captain David Miller", + "position_title": "Medical Unit Leader", + "signature": "David Miller", + "date_time": "11/02/2026 16:30" + }, + "8_approved_by_safety_officer": { + "name": "Safety Officer Carl Stevens", + "signature": "Carl Stevens", + "date_time": "11/02/2026 17:15" + }, + "iap_page_number": "5" + } +} diff --git a/benchmark/datasets/ground_truth/ics206_5.json b/benchmark/datasets/ground_truth/ics206_5.json new file mode 100644 index 00000000..94c6c702 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics206_5.json @@ -0,0 +1,80 @@ +{ + "ics_206_ground_truth": { + "1_incident_name": "Silverwood Reservoir Crude Oil Pipeline Rupture", + "2_operational_period": { + "date_from": "05/18/2026", + "date_to": "05/19/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_medical_aid_stations": [ + { + "name": "ICP Main Medical Station", + "location": "Hesperia Fire Station 30", + "contact_number_frequency": "460.1250 MHz / Ch 1", + "paramedic_service": true + }, + { + "name": "Sawpit Canyon Water Rescue & Medical Aid Station", + "location": "Sawpit Canyon Boat Launch", + "contact_number_frequency": "465.1250 MHz / Ch 2", + "paramedic_service": true + } + ], + "4_transportation_services": { + "ambulance_services": [ + { + "name": "San Bernardino County Fire Medic 30", + "location": "Hesperia Fire Station 30", + "contact_number_frequency": "(555) 678-9012 / Ch 1", + "paramedic_service": true + }, + { + "name": "Desert Ambulance Unit 14", + "location": "Silverwood Lake Main Entrance", + "contact_number_frequency": "(555) 678-9013 / Ch 1", + "paramedic_service": false + } + ], + "air_ambulance_services": [ + { + "name": "Mercy Air Helicopter 2", + "location": "Victorville Regional Airport Helipad", + "contact_number_frequency": "(555) 444-8765 / VHF 155.340 MHz", + "paramedic_service": true + } + ] + }, + "5_hospitals": [ + { + "hospital_name": "Desert Valley Hospital", + "address_latitude_longitude": "16850 Bear Valley Rd, Victorville, 34.4712 N, 117.2954 W", + "contact_number_frequency": "(555) 012-4400 / County Med Net 2", + "air_ambulance_helipad": true, + "burn_center": false, + "trauma_center": true + }, + { + "hospital_name": "Loma Linda University Medical Center", + "address_latitude_longitude": "11234 Anderson St, Loma Linda, 34.0489 N, 117.2641 W", + "contact_number_frequency": "(555) 012-9900 / County Med Net 9", + "air_ambulance_helipad": true, + "burn_center": true, + "trauma_center": true + } + ], + "6_special_medical_emergency_procedures": "Night operations on water present dual risks of hydrocarbon skin absorption/ingestion and water submersion. All personnel operating on skimmer vessels or boom lines must wear USCG-approved PFDs and safety tether lines. In case of accidental water entry or oil ingestion, immediately transport the patient to Sawpit Canyon Water Rescue Medical Aid Station for emergency decon and airway management. Mercy Air Helicopter 2 is on standby at Hesperia Fire Station 30 Helipad.", + "7_prepared_by": { + "name": "Dr. Lisa Martinez", + "position_title": "Medical Unit Leader", + "signature": "Lisa Martinez", + "date_time": "05/18/2026 16:30" + }, + "8_approved_by_safety_officer": { + "name": "Safety Officer Frank Owens", + "signature": "Frank Owens", + "date_time": "05/18/2026 17:00" + }, + "iap_page_number": "5" + } +} diff --git a/benchmark/datasets/ground_truth/ics207_1.json b/benchmark/datasets/ground_truth/ics207_1.json new file mode 100644 index 00000000..2fbba43b --- /dev/null +++ b/benchmark/datasets/ground_truth/ics207_1.json @@ -0,0 +1,81 @@ +{ + "ics_207_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_operational_period": { + "date_from": "07/07/2026", + "date_to": "07/08/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_organization_chart": { + "incident_commanders": [ + "Chief J. Thomas (County Fire)", + "S. Albright (State DEQ)", + "D. Miller (CSX Railroad RP)" + ], + "command_staff": { + "safety_officer": "Captain R. Mendez", + "public_information_officer": "A. Cho (County OEM)", + "liaison_officer": "Inspector G. Sims (SO)" + }, + "operations_section": { + "chief": "B. Reynolds", + "staging_area_manager": "Staging Area Alpha Manager", + "branches_divisions_groups": [ + { + "title": "Hazardous Materials Branch Director", + "name": "Lt. T. Kincaid" + }, + { + "title": "Hazmat Entry Group Supervisor", + "name": "Capt. P. Gomez" + }, + { + "title": "Decontamination Group Supervisor", + "name": "Lt. S. Baker" + }, + { + "title": "Fire Suppression Branch Director", + "name": "Batt. Chief E. Walters" + } + ] + }, + "planning_section": { + "chief": "Marcus Vance", + "resources_unit_ldr": "T. Jenkins", + "situation_unit_ldr": "E. Brooks", + "documentation_unit_ldr": "H. Martinez", + "demobilization_unit_ldr": "R. Sterling" + }, + "logistics_section": { + "chief": "K. Dunavan", + "support_branch": { + "director": "J. Myers", + "supply_unit_ldr": "S. Taylor", + "facilities_unit_ldr": "C. Adams", + "ground_spt_unit_ldr": "M. Evans" + }, + "service_branch": { + "director": "B. Foster", + "comms_unit_ldr": "R. Lee", + "medical_unit_ldr": "Dr. N. Howard", + "food_unit_ldr": "L. King" + } + }, + "finance_administration_section": { + "chief": "Robert Sterling", + "time_unit_ldr": "C. White", + "procurement_unit_ldr": "G. Scott", + "comp_claims_unit_ldr": "E. Green", + "cost_unit_ldr": "W. Harris" + } + }, + "4_prepared_by": { + "name": "T. Jenkins", + "position_title": "Resources Unit Leader", + "signature": "T. Jenkins", + "date_time": "07/07/2026 16:30" + }, + "iap_page_number": "4" + } +} diff --git a/benchmark/datasets/ground_truth/ics207_2.json b/benchmark/datasets/ground_truth/ics207_2.json new file mode 100644 index 00000000..3542b22b --- /dev/null +++ b/benchmark/datasets/ground_truth/ics207_2.json @@ -0,0 +1,81 @@ +{ + "ics_207_ground_truth": { + "1_incident_name": "Blackwood Chemical Pipeline Breach", + "2_operational_period": { + "date_from": "08/13/2026", + "date_to": "08/14/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_organization_chart": { + "incident_commanders": [ + "Chief R. Vance (Blackwood Fire Dept)", + "Officer M. Ross (State EPA)", + "J. Vance (Blackwood Pipeline Co. RP)" + ], + "command_staff": { + "safety_officer": "Captain L. Hayes", + "public_information_officer": "E. Wright", + "liaison_officer": "Deputy K. Miller" + }, + "operations_section": { + "chief": "D. Kowalski", + "staging_area_manager": "Staging Area Bravo Manager", + "branches_divisions_groups": [ + { + "title": "Pipeline Isolation Branch Director", + "name": "Capt. Donald Kross" + }, + { + "title": "Hot Zone Entry Group Supervisor", + "name": "Lt. R. Mendez" + }, + { + "title": "Vapor Suppression Group Supervisor", + "name": "Capt. A. Ross" + }, + { + "title": "River Spill Containment Branch Director", + "name": "Commander Thomas Blake" + } + ] + }, + "planning_section": { + "chief": "Sarah L. Jenkins", + "resources_unit_ldr": "A. Patel", + "situation_unit_ldr": "C. Webb", + "documentation_unit_ldr": "Dr. H. Thorne", + "demobilization_unit_ldr": "M. Brody" + }, + "logistics_section": { + "chief": "T. Bradley", + "support_branch": { + "director": "G. Kross", + "supply_unit_ldr": "H. Lin", + "facilities_unit_ldr": "R. Sterling", + "ground_spt_unit_ldr": "D. Miller" + }, + "service_branch": { + "director": "S. Norris", + "comms_unit_ldr": "K. Albright", + "medical_unit_ldr": "Dr. T. Vance", + "food_unit_ldr": "A. Cho" + } + }, + "finance_administration_section": { + "chief": "A. Patel", + "time_unit_ldr": "J. Mercer", + "procurement_unit_ldr": "Laura Martinez", + "comp_claims_unit_ldr": "Inspector R. Sterling", + "cost_unit_ldr": "Sandra Keller" + } + }, + "4_prepared_by": { + "name": "A. Patel", + "position_title": "Resources Unit Leader", + "signature": "A. Patel", + "date_time": "08/13/2026 16:30" + }, + "iap_page_number": "4" + } +} diff --git a/benchmark/datasets/ground_truth/ics207_3.json b/benchmark/datasets/ground_truth/ics207_3.json new file mode 100644 index 00000000..8f6442da --- /dev/null +++ b/benchmark/datasets/ground_truth/ics207_3.json @@ -0,0 +1,82 @@ +{ + "ics_207_ground_truth": { + "1_incident_name": "Port of Houston Sulfuric Acid Tanker Leak", + "2_operational_period": { + "date_from": "10/14/2026", + "date_to": "10/15/2026", + "time_from": "07:00", + "time_to": "19:00" + }, + "3_organization_chart": { + "incident_commanders": [ + "Captain H. Vance (USCG Unified Command IC)", + "OSC M. Reynolds (EPA Co-IC)", + "Chief D. Garcia (Port Authority Fire IC)", + "K. Lindqvist (Stolt Tankers RP IC)" + ], + "command_staff": { + "safety_officer": "Commander Thomas Blake", + "public_information_officer": "Laura Martinez (Port Authority)", + "liaison_officer": "Inspector R. Sterling (TCEQ)" + }, + "operations_section": { + "chief": "Battalion Chief A. Ross", + "staging_area_manager": "Staging Area Bravo Manager", + "branches_divisions_groups": [ + { + "title": "Vessel Salvage & Entry Branch Director", + "name": "Lt. J. Thorne" + }, + { + "title": "Deck Neutralization Group Supervisor", + "name": "Lt. S. Baker" + }, + { + "title": "Manifold Isolation Team Supervisor", + "name": "Capt. D. Ross" + }, + { + "title": "Ship Channel Protection Branch Director", + "name": "Capt. Donald Kross" + } + ] + }, + "planning_section": { + "chief": "Commander Richard Croft", + "resources_unit_ldr": "Dr. V. Patel", + "situation_unit_ldr": "Sandra Keller", + "documentation_unit_ldr": "Wayne Miller", + "demobilization_unit_ldr": "Battalion Chief A. Ross" + }, + "logistics_section": { + "chief": "Sandra Keller", + "support_branch": { + "director": "Capt. H. Nelson", + "supply_unit_ldr": "C. White", + "facilities_unit_ldr": "G. Scott", + "ground_spt_unit_ldr": "E. Green" + }, + "service_branch": { + "director": "W. Harris", + "comms_unit_ldr": "J. Myers", + "medical_unit_ldr": "Dr. A. Chen", + "food_unit_ldr": "S. Taylor" + } + }, + "finance_administration_section": { + "chief": "Wayne Miller", + "time_unit_ldr": "C. Adams", + "procurement_unit_ldr": "M. Evans", + "comp_claims_unit_ldr": "B. Foster", + "cost_unit_ldr": "R. Lee" + } + }, + "4_prepared_by": { + "name": "Dr. V. Patel", + "position_title": "Resources Unit Leader", + "signature": "Dr. V. Patel", + "date_time": "10/14/2026 06:00" + }, + "iap_page_number": "4" + } +} diff --git a/benchmark/datasets/ground_truth/ics207_4.json b/benchmark/datasets/ground_truth/ics207_4.json new file mode 100644 index 00000000..89685ecf --- /dev/null +++ b/benchmark/datasets/ground_truth/ics207_4.json @@ -0,0 +1,82 @@ +{ + "ics_207_ground_truth": { + "1_incident_name": "Cascade Pass Chlorine Railcar Derailment", + "2_operational_period": { + "date_from": "11/02/2026", + "date_to": "11/03/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_organization_chart": { + "incident_commanders": [ + "Captain E. Miller (WSP Unified Command IC)", + "OSC R. Brooks (EPA R10 Co-IC)", + "Chief D. Olson (Skykomish Fire IC)", + "M. Campbell (BNSF Railway RP IC)" + ], + "command_staff": { + "safety_officer": "Captain Marcus Vance", + "public_information_officer": "Jennifer Hayes (WSDOT)", + "liaison_officer": "Deputy S. Kowalski (KCSO)" + }, + "operations_section": { + "chief": "Battalion Chief T. Higgins", + "staging_area_manager": "Staging Area Charlie Manager", + "branches_divisions_groups": [ + { + "title": "Hazmat Capping Branch Director", + "name": "Capt. P. Gomez" + }, + { + "title": "Railcar Entry Group 1 Supervisor", + "name": "Capt. D. Ross" + }, + { + "title": "Decontamination Group Supervisor", + "name": "Lt. M. Turner" + }, + { + "title": "Evacuation & Security Branch Director", + "name": "Sgt. H. Lin" + } + ] + }, + "planning_section": { + "chief": "Lt. Colonel Alan Vance", + "resources_unit_ldr": "Patricia Ross", + "situation_unit_ldr": "Battalion Chief T. Higgins", + "documentation_unit_ldr": "Sgt. H. Lin", + "demobilization_unit_ldr": "G. Peterson" + }, + "logistics_section": { + "chief": "David Sterling", + "support_branch": { + "director": "L. King", + "supply_unit_ldr": "J. Myers", + "facilities_unit_ldr": "S. Taylor", + "ground_spt_unit_ldr": "C. Adams" + }, + "service_branch": { + "director": "M. Evans", + "comms_unit_ldr": "B. Foster", + "medical_unit_ldr": "Dr. N. Howard", + "food_unit_ldr": "R. Lee" + } + }, + "finance_administration_section": { + "chief": "Patricia Ross", + "time_unit_ldr": "W. Harris", + "procurement_unit_ldr": "C. White", + "comp_claims_unit_ldr": "G. Scott", + "cost_unit_ldr": "E. Green" + } + }, + "4_prepared_by": { + "name": "Patricia Ross", + "position_title": "Resources Unit Leader", + "signature": "Patricia Ross", + "date_time": "11/02/2026 16:30" + }, + "iap_page_number": "4" + } +} diff --git a/benchmark/datasets/ground_truth/ics207_5.json b/benchmark/datasets/ground_truth/ics207_5.json new file mode 100644 index 00000000..6c0b7119 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics207_5.json @@ -0,0 +1,82 @@ +{ + "ics_207_ground_truth": { + "1_incident_name": "Silverwood Reservoir Crude Oil Pipeline Rupture", + "2_operational_period": { + "date_from": "05/18/2026", + "date_to": "05/19/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_organization_chart": { + "incident_commanders": [ + "OSC C. Martinez (EPA R9 Co-IC)", + "Chief M. Thorne (SBCo Fire IC)", + "Chief Inspector A. Kim (Cal OES)", + "W. Vance (Pipeline RP IC)" + ], + "command_staff": { + "safety_officer": "Captain Gregory Hall", + "public_information_officer": "Samantha Norris (Cal OES)", + "liaison_officer": "Ranger D. Stevens (State Parks)" + }, + "operations_section": { + "chief": "Battalion Chief Kevin Ross", + "staging_area_manager": "Staging Area Delta Manager", + "branches_divisions_groups": [ + { + "title": "Canyon Pipeline Repair Branch Director", + "name": "Capt. Gregory Hall" + }, + { + "title": "Clamp Repair Group Supervisor", + "name": "Capt. A. Ross" + }, + { + "title": "Reservoir Skimming & Booming Branch Director", + "name": "Captain B. Walsh" + }, + { + "title": "South Arm Skimmer Division Supervisor", + "name": "Capt. B. Walsh" + } + ] + }, + "planning_section": { + "chief": "Captain Rachel Brooks", + "resources_unit_ldr": "Jason Wu", + "situation_unit_ldr": "Battalion Chief Kevin Ross", + "documentation_unit_ldr": "Dr. L. Arispe", + "demobilization_unit_ldr": "Captain B. Walsh" + }, + "logistics_section": { + "chief": "Megan Taylor", + "support_branch": { + "director": "Capt. P. Gomez", + "supply_unit_ldr": "Lt. S. Baker", + "facilities_unit_ldr": "Capt. D. Ross", + "ground_spt_unit_ldr": "Lt. M. Turner" + }, + "service_branch": { + "director": "Capt. H. Nelson", + "comms_unit_ldr": "Sgt. R. Hall", + "medical_unit_ldr": "Dr. N. Howard", + "food_unit_ldr": "L. King" + } + }, + "finance_administration_section": { + "chief": "Jason Wu", + "time_unit_ldr": "J. Myers", + "procurement_unit_ldr": "S. Taylor", + "comp_claims_unit_ldr": "C. Adams", + "cost_unit_ldr": "M. Evans" + } + }, + "4_prepared_by": { + "name": "Jason Wu", + "position_title": "Resources Unit Leader", + "signature": "Jason Wu", + "date_time": "05/18/2026 16:30" + }, + "iap_page_number": "4" + } +} diff --git a/benchmark/datasets/ground_truth/ics208_1.json b/benchmark/datasets/ground_truth/ics208_1.json new file mode 100644 index 00000000..8ad9a4ca --- /dev/null +++ b/benchmark/datasets/ground_truth/ics208_1.json @@ -0,0 +1,21 @@ +{ + "ics_208_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_operational_period": { + "date_from": "07/07/2026", + "date_to": "07/08/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_safety_message_expanded_safety_message_safety_plan_site_safety_plan": "Place primary tactical focus on air-monitoring metrics and localized vapor suppression, particularly during the transition into night-shift hours when atmospheric inversion layers can trap Benzene vapors closer to the ground. Mandate Level B SCBA PPE within the 300-foot exclusion zone. Mandatory buddy system and continuous photoionization detector air monitoring required for all entry crews along creek banks.", + "4_site_safety_plan_required": true, + "approved_site_safety_plan_located_at": "Mobile Command Post inside the Forward Operations Briefing Trailer", + "5_prepared_by": { + "name": "Captain R. Mendez", + "position_title": "Safety Officer", + "signature": "R. Mendez", + "date_time": "07/07/2026 16:30" + }, + "iap_page_number": "6" + } +} diff --git a/benchmark/datasets/ground_truth/ics208_2.json b/benchmark/datasets/ground_truth/ics208_2.json new file mode 100644 index 00000000..82b4e974 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics208_2.json @@ -0,0 +1,21 @@ +{ + "ics_208_ground_truth": { + "1_incident_name": "Blackwood Chemical Pipeline Breach", + "2_operational_period": { + "date_from": "08/13/2026", + "date_to": "08/14/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_safety_message_expanded_safety_message_safety_plan_site_safety_plan": "Focus tactical operations on maintaining river boom integrity under rising night tides and ensuring strict atmospheric air monitoring during the overnight temperature drop when Anhydrous Ammonia vapors hug low ground. SCBA Level B PPE is mandatory within the 500-foot exclusion zone. Vigilance required for reduced visibility, riverbank slip hazards, and toxic vapor pockets.", + "4_site_safety_plan_required": true, + "approved_site_safety_plan_located_at": "Mobile Command Post Briefing Trailer at Station 12", + "5_prepared_by": { + "name": "Captain L. Hayes", + "position_title": "Safety Officer", + "signature": "L. Hayes", + "date_time": "08/13/2026 16:30" + }, + "iap_page_number": "6" + } +} diff --git a/benchmark/datasets/ground_truth/ics208_3.json b/benchmark/datasets/ground_truth/ics208_3.json new file mode 100644 index 00000000..41aa8307 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics208_3.json @@ -0,0 +1,21 @@ +{ + "ics_208_ground_truth": { + "1_incident_name": "Port of Houston Sulfuric Acid Tanker Leak", + "2_operational_period": { + "date_from": "10/14/2026", + "date_to": "10/15/2026", + "time_from": "07:00", + "time_to": "19:00" + }, + "3_safety_message_expanded_safety_message_safety_plan_site_safety_plan": "Primary tactical focus is placed on safe chemical neutralization and pH stabilization in the ship channel water column. Mandatory Level A chemical suit entry procedures enforced for all vessel deck operations. Due to extreme daytime heat (88°F, 78% humidity), entry work cycles are capped at 20 minutes active entry followed by 40 minutes active hydration and cooling.", + "4_site_safety_plan_required": true, + "approved_site_safety_plan_located_at": "USCG Sector Houston Command Center Safety Office", + "5_prepared_by": { + "name": "Commander Thomas Blake", + "position_title": "Safety Officer", + "signature": "Thomas Blake", + "date_time": "10/14/2026 06:00" + }, + "iap_page_number": "6" + } +} diff --git a/benchmark/datasets/ground_truth/ics208_4.json b/benchmark/datasets/ground_truth/ics208_4.json new file mode 100644 index 00000000..c8d4f68b --- /dev/null +++ b/benchmark/datasets/ground_truth/ics208_4.json @@ -0,0 +1,21 @@ +{ + "ics_208_ground_truth": { + "1_incident_name": "Cascade Pass Chlorine Railcar Derailment", + "2_operational_period": { + "date_from": "11/02/2026", + "date_to": "11/03/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_safety_message_expanded_safety_message_safety_plan_site_safety_plan": "Command emphasizes absolute safety of capping entry teams working under nighttime freezing conditions (28°F overnight). Enforce mandatory Level A PPE compliance and buddy system protocols. Heated decontamination water and warm hydration must be maintained continuously to prevent suit icing and hypothermia.", + "4_site_safety_plan_required": true, + "approved_site_safety_plan_located_at": "Skykomish School Gym Operations Briefing Room", + "5_prepared_by": { + "name": "Captain Marcus Vance", + "position_title": "Safety Officer", + "signature": "Marcus Vance", + "date_time": "11/02/2026 16:30" + }, + "iap_page_number": "6" + } +} diff --git a/benchmark/datasets/ground_truth/ics208_5.json b/benchmark/datasets/ground_truth/ics208_5.json new file mode 100644 index 00000000..90bb9bad --- /dev/null +++ b/benchmark/datasets/ground_truth/ics208_5.json @@ -0,0 +1,21 @@ +{ + "ics_208_ground_truth": { + "1_incident_name": "Silverwood Reservoir Crude Oil Pipeline Rupture", + "2_operational_period": { + "date_from": "05/18/2026", + "date_to": "05/19/2026", + "time_from": "18:00", + "time_to": "06:00" + }, + "3_safety_message_expanded_safety_message_safety_plan_site_safety_plan": "Focus tactical priority on preventing any oil migration toward the municipal water intake. Night skimming operations must maintain illuminated safety perimeters and 100% life-vest compliance at all times. High vigilance required for steep, oil-covered riprap banks and wildlife hazards.", + "4_site_safety_plan_required": true, + "approved_site_safety_plan_located_at": "Incident Command Post at Hesperia Fire Station 30", + "5_prepared_by": { + "name": "Captain Gregory Hall", + "position_title": "Safety Officer", + "signature": "Gregory Hall", + "date_time": "05/18/2026 16:30" + }, + "iap_page_number": "6" + } +} diff --git a/benchmark/datasets/ground_truth/ics213_1.json b/benchmark/datasets/ground_truth/ics213_1.json new file mode 100644 index 00000000..0a0836f1 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics213_1.json @@ -0,0 +1,29 @@ +{ + "ics_213_ground_truth": { + "1_incident_name": "Whispering Pines Derailment", + "2_to": { + "name": "Marcus Vance", + "position": "Planning Section Chief" + }, + "3_from": { + "name": "Commander Eric Sterling", + "position": "Operations Section Chief" + }, + "4_subject": "Request for Additional Vapor Suppression Foam and Boom Resources", + "5_date": "07/07/2026", + "6_time": "19:15", + "7_message": "Due to increased ambient vapor concentrations of Benzene detected downwind along Whispering Pines Creek, Operations urgently requests five additional totes (1,250 gallons) of fluoroprotein vapor suppression foam and 500 feet of sorbent boom to reinforce Checkpoint Bravo before 22:00 hours.", + "8_approved_by": { + "name": "Chief J. Thomas", + "position_title": "Incident Commander", + "signature": "Chief J. Thomas" + }, + "9_reply": "Supply Unit has authorized immediate dispatch of five totes of foam and 500 feet of sorbent boom from Regional Logistics Depot. ETA to Staging Area Alpha is 21:00 hours.", + "10_replied_by": { + "name": "Marcus Vance", + "position_title": "Planning Section Chief", + "signature": "Marcus Vance", + "date_time": "07/07/2026 19:45" + } + } +} diff --git a/benchmark/datasets/ground_truth/ics213_2.json b/benchmark/datasets/ground_truth/ics213_2.json new file mode 100644 index 00000000..f8d59ec3 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics213_2.json @@ -0,0 +1,29 @@ +{ + "ics_213_ground_truth": { + "1_incident_name": "Blackwood Chemical Pipeline Breach", + "2_to": { + "name": "Sarah L. Jenkins", + "position": "Planning Section Chief" + }, + "3_from": { + "name": "Division Supervisor Alan Cole", + "position": "Division A Supervisor" + }, + "4_subject": "Downstream Municipal Water Intake Precautionary Shutoff Notice", + "5_date": "08/13/2026", + "6_time": "19:30", + "7_message": "Field water monitoring team at Boom Site 2 reports low-level dissolved ammonia readings reaching 0.05 ppm near Blackwood River mile 14. Recommend immediately notifying Blackwood Water Authority to initiate precautionary intake gate closure.", + "8_approved_by": { + "name": "Chief R. Henderson", + "position_title": "Incident Commander", + "signature": "Chief R. Henderson" + }, + "9_reply": "Liaison Officer contacted Blackwood Water Authority at 19:50 hours. Water intake gates closed at 20:00 hours. Alternate reservoir supply activated.", + "10_replied_by": { + "name": "Sarah L. Jenkins", + "position_title": "Planning Section Chief", + "signature": "Sarah L. Jenkins", + "date_time": "08/13/2026 20:10" + } + } +} diff --git a/benchmark/datasets/ground_truth/ics213_3.json b/benchmark/datasets/ground_truth/ics213_3.json new file mode 100644 index 00000000..27df43b8 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics213_3.json @@ -0,0 +1,29 @@ +{ + "ics_213_ground_truth": { + "1_incident_name": "Port of Houston Sulfuric Acid Tanker Leak", + "2_to": { + "name": "Commander Richard Croft", + "position": "Planning Section Chief" + }, + "3_from": { + "name": "Hazmat Group Supervisor Mark Ross", + "position": "Hazmat Group Supervisor" + }, + "4_subject": "Authorization for Sodium Bicarbonate Neutralization Slurry Application", + "5_date": "10/14/2026", + "6_time": "08:45", + "7_message": "Hazmat entry team has contained deck pooling at Berth 42. Request formal authorization from UC to apply 10 tons of dry sodium bicarbonate slurry to deck pooling to neutralize concentrated sulfuric acid prior to washdown.", + "8_approved_by": { + "name": "Captain H. Vance", + "position_title": "Incident Commander", + "signature": "Captain H. Vance" + }, + "9_reply": "Unified Command approves application of 10 tons sodium bicarbonate slurry. Technical Specialists from TCEQ are monitoring runoff pH at Berth 42 outfall.", + "10_replied_by": { + "name": "Commander Richard Croft", + "position_title": "Planning Section Chief", + "signature": "Richard Croft", + "date_time": "10/14/2026 09:15" + } + } +} diff --git a/benchmark/datasets/ground_truth/ics213_4.json b/benchmark/datasets/ground_truth/ics213_4.json new file mode 100644 index 00000000..829659e5 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics213_4.json @@ -0,0 +1,29 @@ +{ + "ics_213_ground_truth": { + "1_incident_name": "Cascade Pass Chlorine Railcar Derailment", + "2_to": { + "name": "Lt. Colonel Alan Vance", + "position": "Planning Section Chief" + }, + "3_from": { + "name": "Rail Tactical Specialist George Miller", + "position": "Technical Specialist" + }, + "4_subject": "Urgent Transport Request for Emergency B-Kit Capping Assembly", + "5_date": "11/02/2026", + "6_time": "19:00", + "7_message": "Capping team at car BNSF-77402 requires specialized torque wrench set and secondary seal gaskets for Emergency B-Kit capping assembly. Request immediate dispatch from Staging Area Charlie via all-terrain vehicle.", + "8_approved_by": { + "name": "Captain E. Miller", + "position_title": "Incident Commander", + "signature": "Captain E. Miller" + }, + "9_reply": "Ground Support Unit dispatched ATV-02 with requested torque wrench set and B-Kit gaskets at 19:20 hours. ETA to railcar site is 19:45 hours.", + "10_replied_by": { + "name": "Lt. Colonel Alan Vance", + "position_title": "Planning Section Chief", + "signature": "Alan Vance", + "date_time": "11/02/2026 19:30" + } + } +} diff --git a/benchmark/datasets/ground_truth/ics213_5.json b/benchmark/datasets/ground_truth/ics213_5.json new file mode 100644 index 00000000..fe5be9a3 --- /dev/null +++ b/benchmark/datasets/ground_truth/ics213_5.json @@ -0,0 +1,29 @@ +{ + "ics_213_ground_truth": { + "1_incident_name": "Silverwood Reservoir Crude Oil Pipeline Rupture", + "2_to": { + "name": "Rachel Brooks", + "position": "Planning Section Chief" + }, + "3_from": { + "name": "Skimmer Operations Leader Frank Gomez", + "position": "Operations Group Supervisor" + }, + "4_subject": "Skimmer Vessel Relocation and Sorbent Boom Realignment", + "5_date": "05/18/2026", + "6_time": "20:00", + "7_message": "Due to shifts in surface currents toward Sawpit Canyon inlet, requesting authorization to reposition Skimmer Vessel RV-LC-01 to South Arm and deploy an additional 500 feet of hard containment boom by 22:00 hours.", + "8_approved_by": { + "name": "Chief M. Thorne", + "position_title": "Incident Commander", + "signature": "Chief M. Thorne" + }, + "9_reply": "Operations Chief approves relocation of RV-LC-01 and deployment of 500 feet hard boom. Work Boat 3 assigned to assist boom rigging.", + "10_replied_by": { + "name": "Rachel Brooks", + "position_title": "Planning Section Chief", + "signature": "Rachel Brooks", + "date_time": "05/18/2026 20:30" + } + } +} diff --git a/benchmark/datasets/narratives/ics201_1.txt b/benchmark/datasets/narratives/ics201_1.txt new file mode 100644 index 00000000..a3d83038 --- /dev/null +++ b/benchmark/datasets/narratives/ics201_1.txt @@ -0,0 +1,13 @@ +### Whispering Pines Derailment Mockup Incident Briefing (ICS 201) + +The Whispering Pines Derailment incident, designated under incident number US-EPA-R4-2026-0707, was formally initiated on July 07, 2026, at 06:30 hours. + +The operational landscape, mapped with North oriented at the top of the page, encompasses a 1.5-mile radius centered around the intersection of CSX Rail Milepost 142.5 and Highway 411. Within this sector, County Line Road is completely closed to public traffic to secure the Staging Area established at the County Fairgrounds. The primary incident site is located at Rail Milepost 142.5, where seven freight cars (#12 through #18) have jackknifed. The actively impacted area includes Car #14, a breached tank car releasing a Class 3 flammable and toxic liquid (Benzene) directly into Whispering Pines Creek at an estimated rate of 20 gallons per minute, causing visible surface sheening extending 500 meters downstream. Local air monitoring indicates elevated Volatile Organic Compounds within a 300-foot downwind plume tracking East-Southeast at 5 miles per hour. The critical threatened areas downstream include the Whispering Pines Nature Reserve Wetlands one mile away and the Municipal Water Intake located two miles downstream. Trajectory modeling shows waterborne containment issues moving East at 1.5 knots, which commands immediate defensive booming actions. + +The situation summary reveals that the derailment occurred at 05:45 hours due to a mechanical rail car failure, sparking a secondary 0.5-acre brush fire in the right-of-way that directly threatens an adjacent, intact liquefied petroleum gas tank car. In response, a mandatory 0.5-mile residential evacuation is being executed by local law enforcement. The comprehensive health and safety briefing identifies primary hazards as toxic Benzene inhalation, dermal exposure risks, flash fires from pooling product, heavy machinery movement around compromised rail lines, responder heat stress in the ambient 88°F weather, and slip-and-trip hazards along the steep creek banks. To mitigate these risks, an immediate 300-foot Exclusion Zone has been established around the rail cars. Responders entering the Hot Zone for containment are strictly required to wear Level B personal protective equipment, including self-contained breathing apparatus and chemical-resistant clothing. Level C protection is authorized for warm zone booming teams only if continuous photoionization detector monitoring confirms volatile organic compound levels remain below 1 part per million. Firefighters must wear full structural turnout gear with self-contained breathing apparatus, and all personnel must pass through a formal wet decontamination corridor set up at the Warm-to-Cold zone interface before leaving the operational area. This section was officially prepared by Marcus Vance, serving as the Initial Planning Section Chief, on July 07, 2026, at 08:00 hours. + +The current and planned objectives focus heavily on safety and containment, aiming to ensure the life safety of all emergency responders and the public within the perimeter by 09:00 hours, complete the 0.5-mile downwind residential evacuation by 09:30 hours, suppress the brush fire near the liquefied petroleum gas car to eliminate thermal risks by 10:00 hours, deploy effective deflection and underflow containment booming across the creek to protect the water intake, and formally establish a Unified Command structure by 10:30 hours. The chronological strategy and tactics began at 06:00 hours with the initial dispatch of County Fire and Sheriff units and the setup of a 500-foot isolation perimeter. At 06:15 hours, local Fire Chief Thomas established command and notified the State Department of Environmental Quality, the Environmental Protection Agency, and CSX Railroad. By 06:45 hours, the Sheriff’s Department initiated door-to-door evacuations of 45 homes. At 07:15 hours, Regional Hazmat Team 1 arrived to deploy an air-monitoring grid and inspect the damaged tanks, followed at 07:30 hours by Engine 41 and Tanker 5 initiating defensive foam applications on the brush fire. By 07:45 hours, advance teams from the state environmental agency and the railroad arrived to finalize the water-containment strategy. Planned actions include deploying a specialized spill contractor to drop 500 feet of deflection boom at Boom Site 1 at 08:15 hours, launching a drone overflight at 08:45 hours to map downstream tracking, and completing the transition to a fully unified command at the Mobile Command Post at 09:30 hours. This programmatic operational strategy was compiled and signed by Planning Section Chief Marcus Vance on July 07, 2026, at 08:00 hours. + +The current command and general staff organization is structured as a Unified Command consisting of Chief J. Thomas from County Fire, S. Albright from the State Department of Environmental Quality, and D. Miller representing CSX Railroad as the Responsible Party. This command core is directly supported by Safety Officer Captain R. Mendez, Public Information Officer A. Cho representing the county, and Liaison Officer Inspector G. Sims from the Sheriff's Office. The General Staff is led by Operations Section Chief B. Reynolds from the state agency, Planning Section Chief Marcus Vance, and Logistics Section Chief K. Dunavan. Under the Operations Section, field execution is split into the Hazardous Materials Group, supervised by Lieutenant T. Kincaid of Regional Hazmat Team 1, and the Fire Suppression Division, commanded by Battalion Chief E. Walters. This organizational layout was logged and validated by Planning Section Chief Marcus Vance on July 07, 2026, at 08:00 hours. + +The resource summary details the specific assets allocated to stabilize the incident. Regional Hazmat Team 1, a Type 1 Hazardous Materials unit, was ordered at 06:00 hours, arrived on scene at 07:00 hours, and is currently positioned at the Cold Zone boundary conducting perimeter monitoring and plugging operations. County Engine 41 and County Engine 45 were both ordered at 05:48 hours, arriving at 06:00 hours and 06:05 hours respectively; Engine 41 is actively suppressing the brush fire while Engine 45 manages critical water supply lines. County Tanker 5, a water tender ordered at 06:02 hours, arrived at 06:20 hours and is providing continuous flow for foam application. Four law enforcement units from the County Sheriff arrived at 05:55 hours following a 05:48 hours dispatch and are running traffic checkpoints and roadblocks on Creek Road alongside evacuation duties. County EMS Unit 12 arrived at 06:12 hours after being ordered at 06:00 hours, standing by at the Staging Area for responder rehabilitation and medical backup. Several critical resources are currently en route: HEPACO Spill Team A was ordered at 06:45 hours with an estimated arrival of 08:15 hours to deploy 1,000 feet of containment boom and vacuum trucks; State DEQ Drone Unit 1 was ordered at 07:10 hours with an estimated arrival of 08:30 hours to provide aerial thermal imagery; and the CSX contractor vacuum truck TechRad was ordered at 07:15 hours with an estimated arrival of 09:30 hours to begin product offloading from the breached tank car once the scene stabilizes. This complete resource ledger was verified and signed by Planning Section Chief Marcus Vance on July 07, 2026, at 08:00 hours. \ No newline at end of file diff --git a/benchmark/datasets/narratives/ics201_2.txt b/benchmark/datasets/narratives/ics201_2.txt new file mode 100644 index 00000000..1ff0ef5c --- /dev/null +++ b/benchmark/datasets/narratives/ics201_2.txt @@ -0,0 +1,24 @@ +Blackwood Chemical Pipeline Breach Mockup Incident Briefing (ICS 201) +The Blackwood Chemical Pipeline Breach incident, designated under incident number US-EPA-R5-2026-0813, was formally initiated on August 13, 2026, at 07:15 hours. + +The operational landscape, mapped with standard graphics and GIS symbology, encompasses a total area of operations spanning a 3.0-mile radius around the Blackwood Industrial Corridor. Within this zone, the primary incident site area is centered at Pipeline Valve Station 14-B along Blackwood River Road. The actively impacted areas include a 150-foot radius surrounding the breached 8-inch pressurized line releasing anhydrous ammonia gas, along with an impacted shoreline extending 1,000 yards down the adjacent Blackwood River. Threatened areas downstream include the Oakridge Residential Subdivision 0.75 miles downwind to the East, as well as the Valley Water Authority Municipal Intake Facility located 1.5 miles downstream. Overflight results from state police aviation confirm a dense, low-hanging vapor cloud hugging the ground and moving steadily downwind, alongside a localized surface sheen on the riverbank. Dispersion trajectories model a toxic vapor plume moving East-Northeast at 6 miles per hour, with waterborne chemical runoff traveling downstream at approximately 2.0 knots. + +The situation summary indicates that a third-party excavation crew accidentally punctured the main transfer pipeline at 06:50 hours, causing an uncontrolled high-pressure release of hazardous material. The comprehensive health and safety briefing identifies primary hazards as severe atmospheric exposure to anhydrous ammonia vapor, cryogenic freeze burns upon direct contact with liquid leakage, respiratory injury, structural eye damage, heat stress among response personnel wearing heavy gear in 85°F temperatures, and slip-and-fall risks near steep river embankment slopes. Necessary measures to protect responders and the public include the immediate establishment of a 500-foot Exclusion Zone, mandatory Level A vapor-tight personal protective equipment with self-contained breathing apparatus for all entries into the Hot Zone, continuous photoionization detector air monitoring at all control perimeter boundaries, water curtain deployment to knock down vapor clouds, and a compulsory full-body chemical decontamination procedure at the Warm-to-Cold zone boundary prior to exiting the site. This section was formally prepared by Sarah Jenkins, serving as the Initial Planning Section Chief, who applied her signature on August 13, 2026, at 08:30 hours. + +Current and planned objectives center on life safety, hazard isolation, and environmental mitigation: achieve complete isolation of the pipeline segment by closing upstream valves by 09:30 hours; finish the sheltering-in-place order and partial evacuation of 120 homes in the downwind Oakridge subdivision by 10:00 hours; deploy absorbent and containment booming across the Blackwood River above the municipal water intake by 10:30 hours; and fully establish a Multi-Agency Unified Command at the Regional Emergency Operations Center by 11:00 hours. The chronological sequence of current and planned actions, strategies, and tactics began at 07:00 hours, when initial dispatch sent Blackwood Fire Department and Local Sheriff units to establish an outer safety perimeter. At 07:20 hours, Fire Chief R. Vance established Incident Command and ordered an immediate downwind shelter-in-place alert. At 07:45 hours, Hazmat Team 5 arrived on scene to conduct initial perimeter air monitoring and assist in establishing control zones. At 08:15 hours, pipeline technicians confirmed valve isolation procedures were initiated, while fire crews set up unmanned monitor nozzles to disperse airborne vapors. Planned actions include deploying the Regional Spill Response Team at 09:00 hours to launch containment boom at River Boom Site Alpha, conducting a secondary drone air sampling flight at 09:30 hours, and finalizing the shift to a Unified Command structure at 10:00 hours. + +The current command and general staff organization operates under a Unified Command structure led by Incident Commanders Chief R. Vance (Blackwood Fire Department), Officer M. Ross (State Environmental Protection Agency), and J. Vance (Blackwood Pipeline Co., Responsible Party). The Command Staff features Safety Officer Captain L. Hayes, Public Information Officer E. Wright, and Liaison Officer Deputy K. Miller. The General Staff comprises Operations Section Chief D. Kowalski, Planning Section Chief Sarah Jenkins, Logistics Section Chief T. Bradley, and Finance/Administration Section Chief A. Patel. Additional tactical positions established within the operational structure include Hazmat Group Supervisor Lieutenant C. Webb and Air Monitoring Specialist Dr. H. Thorne. + +The resource summary details the operational status and tracking of critical response assets: + +Hazmat Team 5 (Resource ID: HZM-05), ordered on August 13 at 07:00 hours, arrived on scene at 07:40 hours (Arrived: True) and is currently executing air monitoring and entry ops at the Hot Zone perimeter. + +Blackwood Engine 12 (Resource ID: ENG-12), ordered at 06:55 hours, arrived at 07:05 hours (Arrived: True) and is actively operating water curtains for vapor suppression. + +County Water Tender 3 (Resource ID: WT-03), ordered at 07:10 hours, arrived at 07:25 hours (Arrived: True) and is supplying continuous water flow to Engine 12. + +Sheriff Patrol Unit Group Alpha (Resource ID: SO-ALPHA), ordered at 06:55 hours, arrived at 07:10 hours (Arrived: True) and is maintaining road closures and executing downwind evacuation notices. + +CleanHarbor Spill Response Team (Resource ID: CH-SRT-1), ordered at 07:30 hours with an estimated time of arrival at 09:00 hours (Arrived: False), is currently en route with 1,500 feet of river containment boom and vacuum recovery equipment. + +State EPA Air Monitoring Drone Unit (Resource ID: EPA-DRONE-2), ordered at 07:40 hours with an estimated time of arrival at 08:45 hours (Arrived: False), is en route to provide real-time thermal and chemical plume mapping. \ No newline at end of file diff --git a/benchmark/datasets/narratives/ics201_3.txt b/benchmark/datasets/narratives/ics201_3.txt new file mode 100644 index 00000000..a1c04a37 --- /dev/null +++ b/benchmark/datasets/narratives/ics201_3.txt @@ -0,0 +1,29 @@ +Cypress Bend Tanker Collision Mockup Incident Briefing (ICS 201) +The Cypress Bend Tanker Collision incident, designated under incident number US-CG-D8-2026-0921, was formally initiated on September 21, +2026, at 14: 15 hours. + +The operational landscape, mapped with standard navigational charts and GIS symbology, encompasses a total area of operations spanning a 4.0-mile radius centered at Intracoastal Waterway Mile Marker 245. Within this zone, the primary incident site area is located at the confluence of the Intracoastal Waterway and Cypress Bayou. The actively impacted areas include a 300-yard containment zone surrounding a punctured double-hulled barge discharging Heavy Fuel Oil (HFO 380) at approximately 30 gallons per minute, alongside an impacted shoreline extending 1.5 miles south along the eastern bank of Cypress Bayou. Threatened areas downstream include the Grand Cypress Mangrove Sanctuary located 2.0 miles south-southeast and the Delta Commercial Oyster Leases 3.5 miles down-river. Overflight results from US Coast Guard Aviation Unit 65 confirm a surface slick measuring 2.0 miles long by 100 yards wide moving with the ebb tide, with visible heavy sheen accumulating along the shoreline. Dispersion trajectories model the waterborne oil plume moving South-Southeast at 1.8 knots with local coastal wind vectors blowing from the Northwest at 12 knots. + +The situation summary indicates that a tugboat towing two loaded asphalt barges collided with an anchored commercial tanker at 13: 50 hours, rupturing Cargo Tank #2 starboard. The comprehensive health and safety briefing identifies primary hazards as hydrogen sulfide gas accumulation from the fuel oil cargo, inhalation of petroleum hydrocarbons, direct dermal irritation, slip-and-fall hazards on oily vessel decks and muddy riverbanks, responder heat exhaustion in humid 91°F conditions, and water safety/drowning risks during vessel-to-vessel transfers. Necessary measures to protect responders include establishing a 1, +000-foot Maritime Safety Zone, requiring Level C personal protective equipment with half-mask organic vapor respirators and personal flotation devices for all over-water personnel, continuous multi-gas air monitoring near the breached tank, mandatory work-rest cycles with hydration stations in the staging area, and operating a vessel-based decontamination station anchored at the cold zone boundary. This section was formally prepared by Commander Elena Rostova, serving as the Initial Planning Section Chief, who applied her signature on September 21, +2026, at 15: 30 hours. + +Current and planned objectives prioritize environmental protection and spill isolation: complete primary deflection boom deployment across the mouth of Cypress Bayou by 16: 30 hours; secure mechanical patching or product transfer (lightering) of Cargo Tank #2 by 18: 00 hours; deploy skimming vessels to recover free-floating surface product before nightfall at 19: 30 hours; and establish a full Joint Information Center to handle media inquiries by 20: 00 hours. The chronological sequence of current and planned actions, strategies, and tactics began at 14: 00 hours, when Coast Guard Station Cypress Bend dispatched Sector Patrol Craft and issued a Notice to Mariners closing the waterway. At 14: 30 hours, Captain M. Thorne established Incident Command and deployed first-responder skimmer boats. At 15: 00 hours, Port Authority Hazmat Teams completed initial safety sweeps and confirmed zero structural fire threats. At 15: 30 hours, marine salvage engineers boarded the barge to inspect damage and prep transfer pumps. Planned actions include dropping 2, +000 feet of hard boom across the mangrove inlet at 16: 00 hours, initiating lightering operations to pump fuel out of the damaged tank at 17: 00 hours, and deploying an evening drone overflight at 18: 30 hours to track thermal slick drift patterns. + +The current command and general staff organization operates under a Unified Command structure led by Incident Commanders Captain M. Thorne (US Coast Guard), Director D. Sterling (State Department of Environmental Quality), and H. Vance (Cypress Towing Co., Responsible Party). The Command Staff features Safety Officer Lieutenant Commander J. Ruiz, Public Information Officer C. Alvarez, and Liaison Officer Agent P. Brooks. The General Staff comprises Operations Section Chief G. Morales, Planning Section Chief Commander Elena Rostova, Logistics Section Chief R. O'Connor, and Finance/Administration Section Chief M. Lin. Additional tactical positions established within the operational structure include Salvage & Engineering Group Supervisor Chief Specialist K. Vance and Wildlife Rescue Leader Dr. A. Mercer. + +The resource summary details the operational status and tracking of critical response assets: + +USCG Marine Safety Detachment 1 (Resource ID: USCG-MSD-01), ordered on September 21 at 14: 00 hours, arrived on scene at 14: 25 hours (Arrived: True) and is currently enforcing the maritime safety zone and conducting gas monitoring. + +Cypress Port Skimmer Vessel 4 (Resource ID: SKIM-04), ordered at 14: 10 hours, arrived at 14: 35 hours (Arrived: True) and is actively skimming free surface product around the barge stern. + +Delta Salvage Tug 'Warrior' (Resource ID: TUG-WARRIOR), ordered at 14: 30 hours, arrived at 15: 15 hours (Arrived: True) and is providing stabilizing push-support and powering transfer pumps. + +State DEQ Water Sampling Craft (Resource ID: DEQ-BOAT-2), ordered at 14: 20 hours, arrived at 15: 00 hours (Arrived: True) and is collecting downstream water samples and turbidity readings. + +National Spill Response Team Barge 8 (Resource ID: NSRT-B-08), ordered at 14: 45 hours with an estimated time of arrival at 16: 30 hours (Arrived: False), is currently en route with 3, +000 feet of ocean containment boom and heavy skimmers. + +Gulf Coast Wildlife Rescue Unit (Resource ID: GC-WILD-1), ordered at 15: 10 hours with an estimated time of arrival at 17: 15 hours (Arrived: False), is en route to set up a oily bird stabilization and staging facility. \ No newline at end of file diff --git a/benchmark/datasets/narratives/ics201_4.txt b/benchmark/datasets/narratives/ics201_4.txt new file mode 100644 index 00000000..d3f129a4 --- /dev/null +++ b/benchmark/datasets/narratives/ics201_4.txt @@ -0,0 +1,11 @@ +ICS 201 Incident Briefing Narrative: Blackwood River Chemical Spill + +Paragraph 1: Header, Initiation & Tactical Map/Sketch Details The Blackwood River Chemical Spill (Incident Number: USCG-EPA-R4-2026-0813) was formally initiated on 08/13/2026 at 07:15 EDT. The designated total area of operations encompasses a 3.5-mile radius including the Blackwood Industrial Park, Mile Marker 42 of the Blackwood River, and the adjacent State Route 104 transportation corridor. The primary incident site is localized at Storage Tank #4 within the Apex Chemical Tank Farm (MM 42.1, East Bank), where a structural shell fracture is leaking concentrated Styrene Monomer. Currently impacted areas include 1,200 meters of the river surface displaying heavy chemical sheening and a volatile organic compound (VOC) vapor plume extending 800 yards downwind (East-Northeast) across State Route 104. Primary threatened locations include the Blackwood Municipal Drinking Water Intake situated 3.0 miles downstream at MM 39.1 and the Blackwood Marsh Ecological Reserve located 1.5 miles downstream. Overflight reconnaissance conducted via USCG Aux Drone Flight #1 confirmed a 200-yard wide chemical slick migrating South-Southwest at 1.8 knots with moderate shore oiling along the east bank. Dispersion trajectories indicate the airborne VOC plume is tracking East-Northeast at 6 mph towards unpopulated forestry, while the aquatic slick moves downstream toward the municipal water intake. Impacted shorelines are currently restricted to the east bank riprap and adjacent low-lying mudflats from MM 42.1 to MM 41.3. Tactical graphics and maps oriented North vertically depict Staging Area A at Westside High School, Boom Site 1 (Deflection), Boom Site 2 (Containment), the Mobile Command Post at County Fire Station 12, a 500-foot Exclusion Zone perimeter, and downstream drinking water intake protection zones. + +Paragraph 2: Situation Summary & Health/Safety Briefing At 06:45 EDT on 08/13/2026, a catastrophic seal failure occurred on Tank #4 at the Apex Chemical Facility, releasing approximately 8,500 gallons of liquid Styrene Monomer into secondary containment, with overflow entering the Blackwood River via storm drain outfall #3 at an estimated 30 gpm. A secondary vapor cloud formed across State Route 104, triggering immediate road closures and precautionary evacuations of 60 surrounding industrial properties. Primary health and safety hazards include acute inhalation toxicity from styrene vapors (causing narcotic effects, central nervous system depression, and respiratory irritation), flammability risk (flash point 88°F), dermal chemical burns, slip/trip/fall hazards along steep river banks, and ambient heat stress (current temperature 91°F). Necessary protective measures require establishing a strict 500-foot Exclusion Zone; mandating Level B PPE (supplied air SCBA with continuous PID/LEL/O2 monitoring) for all Hot Zone operations; Level C PPE (full-face APR with organic vapor cartridges) within the Warm Zone; continuous perimeter air monitoring at CP and downwind baselines; and operating a formal wet-decontamination corridor at Facility Gate 2. This briefing was formally prepared by Sarah L. Jenkins, Planning Section Chief, signed Sarah L. Jenkins, on 08/13/2026 at 09:30 EDT. + +Paragraph 3: Objectives & Action Tactics Current and planned strategic objectives for Operational Period 1 (08/13/2026) are: (1) Maintain life safety and enforce the 500-foot exclusion perimeter by 08:00 hours; (2) Complete containment booming at Boom Site 1 (MM 41.5) by 10:30 hours to protect downstream drinking water intake; (3) Secure the leak source on Apex Tank #4 and complete product transfer by 12:00 hours; (4) Perform continuous air monitoring downwind along Route 104 and publish public safety advisories by 11:00 hours; and (5) Transition to full Unified Command (USCG, EPA, State DEQ, County Hazmat) by 10:00 hours. The chronological timeline of tactical actions proceeds as follows: At 07:15, initial alarm dispatch occurred, sending County Fire Engine 12 and Hazmat 1 to establish the 500-foot perimeter. At 07:30, Local Command was established by Chief Henderson, initiating facility emergency shutdown and closing Route 104. At 07:55, Regional Hazmat Team 4 arrived, initiating perimeter PID air monitoring and setting up the decon corridor at Gate 2. At 08:20, USCG Sector Strike Team and EPA On-Scene Coordinator arrived on scene to establish Unified Command at Fire Station 12. At 08:45, Spill Response Vessel River Guardian deployed 1,000 feet of hard containment boom at MM 41.5 (Boom Site 1). Planned tactical actions include: At 09:15, Entry Team 1 enters the Hot Zone under Level B PPE to secure Tank #4 bottom manifold valve; at 10:00, deploy secondary sorbent deflection boom array at Boom Site 2 (MM 40.2) upstream of the drinking water intake; and at 11:30, commence vacuum truck skimmer recovery of pooled styrene at storm drain outfall #3. + +Paragraph 4: Command & General Staff Organization Structure The Incident Organization operates under a Unified Command structure comprising Unified Incident Commanders Captain M. Ross (USCG Unified Command IC), OSC E. Vance (EPA Co-IC), Chief R. Henderson (County Fire IC), and J. Mercer (Apex Facility RP IC). Command Staff includes Lt. Commander David Miller as Safety Officer, Elena Gomez (County OEM) as Public Information Officer, and Captain Arthur Pendelton (State Police) as Liaison Officer. General Staff operations are directed by Battalion Chief Marcus Brody as Operations Section Chief, Sarah L. Jenkins as Planning Section Chief, Karen Albright as Logistics Section Chief, and Robert Sterling as Finance/Administration Section Chief. Specialized operational units are led by Captain Donald Kross (Hazmat 1) serving as Hazmat Group Supervisor and Lt. Timothy Vance (USCG) serving as Waterborne Operations Branch Director. + +Paragraph 5: Resource Summary & Tactical Assignments Assigned operational resources are tracked as follows: (1) Hazmat Unit (Identifier: HM-01), ordered 08/13/2026 07:20, Status: Arrived (ETA N/A), assigned to conduct initial air monitoring and execute Hot Zone valve isolation; (2) Fire Engine (Identifier: ENG-12), ordered 08/13/2026 07:15, Status: Arrived (ETA N/A), assigned to secure outer perimeter and maintain foam fire standby; (3) USCG Strike Team (Identifier: USCG-ST-04), ordered 08/13/2026 07:40, Status: Arrived (ETA N/A), assigned to assist Unified Command and oversee waterborne operations; (4) Spill Response Vessel (Identifier: RV-RG-02), ordered 08/13/2026 08:00, Status: Arrived (ETA N/A), assigned to deploy 1,000 ft containment boom at Boom Site 1; (5) Vacuum Truck Unit (Identifier: VAC-99), ordered 08/13/2026 08:30, Status: En Route (ETA 08/13/2026 10:45), assigned to perform liquid product recovery at outfall #3 upon arrival; and (6) Air Monitoring Unit (Identifier: AMR-03), ordered 08/13/2026 08:15, Status: En Route (ETA 08/13/2026 09:45), assigned to transport high-sensitivity PID and Jerome mercury/VOC analyzers to establish downwind grid monitoring. \ No newline at end of file diff --git a/benchmark/datasets/narratives/ics201_5.txt b/benchmark/datasets/narratives/ics201_5.txt new file mode 100644 index 00000000..22ec49c2 --- /dev/null +++ b/benchmark/datasets/narratives/ics201_5.txt @@ -0,0 +1,11 @@ +ICS 201 Incident Briefing Narrative: Port of Houston Sulfuric Acid Tanker Leak + +Paragraph 1: Header, Initiation & Tactical Map/Sketch Details The Port of Houston Sulfuric Acid Tanker Leak (Incident Number: USCG-EPA-R6-2026-1014) was formally initiated on 10/14/2026 at 11:20 CDT. The designated total area of operations covers a 2.5-mile radius centered around Berth 42 of the Houston Ship Channel Tank Terminal. The primary incident site is localized at Tanker Berth 42 (MM 51.2, West Bank), where a manifold failure on the chemical parcel tanker M/T Stolt Synergy released concentrated 98% sulfuric acid onto the vessel deck and into secondary containment, with runoff entering the waterway. Currently impacted areas include a 500-yard perimeter along Berth 42 exhibiting localized water discoloration and acidic vapor mist, extending 400 yards downwind across adjacent industrial docks. Primary threatened locations include the San Jacinto Battleground Historic Site 1.2 miles down-river and the Channelview Residential Neighborhood 2.0 miles downwind to the North-Northwest. Overflight reconnaissance conducted via USCG Air Station Houston Helicopter 6512 confirmed a localized 150-yard plume dissipating in the ship channel with continuous water sampling underway. Dispersion trajectories model the acidic vapor mist tracking North-Northwest at 8 mph, while waterborne runoff moves with the ebb tide East-Southeast at 1.2 knots. Impacted shorelines are confined to 400 yards of concrete bulkhead and wooden fender piling at Berth 42. Tactical graphics and maps oriented North vertically depict Staging Area Bravo at Jacintoport Terminal, Spill Boom Site 1, Command Post at USCG Sector Houston-Galveston, Exclusion Zone boundaries (1,000 ft radius), and ship channel navigation safety zones. + +Paragraph 2: Situation Summary & Health/Safety Briefing At 10:50 CDT on 10/14/2026, a high-pressure discharge hose burst during offloading operations at Berth 42, spilling approximately 4,200 gallons of 98% sulfuric acid. Heat generated by exothermic reaction with bilge water created a dense corrosive acid mist cloud over the berth. Primary health and safety hazards include severe skin necrosis upon contact, permanent ocular damage, pulmonary edema from acid mist inhalation, extreme heat reaction when mixed with water, and slip hazards on degraded berth decking. Protective measures enforce a 1,000-foot Exclusion Zone; Level A chemical suit protection with SCBA for Hot Zone entries; Level B protective suits with SCBA for Warm Zone support; continuous pH water sampling and real-time acid mist sensor monitoring; and a mandatory dual-stage lime neutralization decontamination wash at Gate 4. This briefing was formally prepared by Commander Richard Croft, Planning Section Chief, signed Richard Croft, on 10/14/2026 at 13:00 CDT. + +Paragraph 3: Objectives & Action Tactics Current and planned strategic objectives for Operational Period 1 are: (1) Enforce a 1,000-foot Exclusion Zone around Berth 42 and secure vessel offloading by 12:00 hours; (2) Complete neutralization of deck spill using sodium bicarbonate slurry by 14:00 hours; (3) Deploy chemical neutralization boom array at Berth 42 slip by 13:30 hours; (4) Monitor atmospheric acid mist levels along Channelview perimeter to ensure public safety by 15:00 hours; and (5) Transition to Unified Command (USCG, EPA, TCEQ, RP) by 12:30 hours. Chronological tactical timeline: At 11:20, initial emergency response initiated; Port Authority Fire Engines 81 and 82 respond; 1,000-foot safety perimeter set up. At 11:45, Sector Command established by Captain H. Vance; Houston Ship Channel traffic restricted to one-way slow speed. At 12:15, Port Hazmat Team 1 arrives on scene to establish pH monitoring grid and set up neutralization decon corridor. At 12:50, USCG Strike Team arrives; initiates shipboard inspection and containment audit. At 13:15, Stolt Tankers RP response vessel deploys chemical sorbent boom around M/T Stolt Synergy. Planned actions: At 14:00, Entry Team Alpha under Level A PPE executes emergency valve shutdown on shipboard manifold; at 14:30, begin high-volume sodium bicarbonate dry-powder application on vessel deck; at 16:00, perform secondary overflight to confirm complete plume dissipation. + +Paragraph 4: Command & General Staff Organization Structure Operational command functions under a Unified Command structure comprising Unified Incident Commanders Captain H. Vance (USCG Unified Command IC), OSC M. Reynolds (EPA Co-IC), Chief D. Garcia (Port Authority Fire IC), and K. Lindqvist (Stolt Tankers RP IC). Command Staff includes Commander Thomas Blake as Safety Officer, Laura Martinez (Port Authority) as Public Information Officer, and Inspector R. Sterling (TCEQ) as Liaison Officer. General Staff consists of Battalion Chief A. Ross as Operations Section Chief, Commander Richard Croft as Planning Section Chief, Sandra Keller as Logistics Section Chief, and Wayne Miller as Finance/Admin Section Chief. Specialized positions include Chemical Hazards Specialist Dr. V. Patel and Vessel Boarding Group Supervisor Lt. J. Thorne. + +Paragraph 5: Resource Summary & Tactical Assignments Tracking of operational units: (1) Port Authority Hazmat Team (Identifier: HZM-PORT-1), ordered 10/14/2026 11:25, Status: Arrived (ETA N/A), executing pH sampling grid and Hot Zone entry prep; (2) Port Fire Engine 81 (Identifier: ENG-81), ordered 10/14/2026 11:20, Status: Arrived (ETA N/A), securing 1,000 ft landward perimeter and foam standby; (3) USCG Gulf Strike Team (Identifier: USCG-GST-02), ordered 10/14/2026 11:50, Status: Arrived (ETA N/A), supervising vessel entry protocol and safety verification; (4) Chemical Response Vessel Acid Contain 1 (Identifier: RV-AC-01), ordered 10/14/2026 12:00, Status: Arrived (ETA N/A), deployed chemical sorbent boom around vessel berth; (5) Lime Neutralization Truck Unit (Identifier: NEUT-TRK-05), ordered 10/14/2026 12:30, Status: En Route (ETA 10/14/2026 14:15), delivering 10 tons of dry sodium bicarbonate slurry; and (6) Mobile Air Sampling Van (Identifier: AIR-SAM-02), ordered 10/14/2026 12:10, Status: En Route (ETA 10/14/2026 13:45), transporting real-time SO3/acid mist photoionization sensors. diff --git a/benchmark/datasets/narratives/ics201_6.txt b/benchmark/datasets/narratives/ics201_6.txt new file mode 100644 index 00000000..d36e9cc2 --- /dev/null +++ b/benchmark/datasets/narratives/ics201_6.txt @@ -0,0 +1,11 @@ +ICS 201 Incident Briefing Narrative: Cascade Pass Chlorine Railcar Derailment + +Paragraph 1: Header, Initiation & Tactical Map/Sketch Details The Cascade Pass Chlorine Railcar Derailment (Incident Number: NTSB-EPA-R10-2026-1102) was formally initiated on 11/02/2026 at 04:45 PST. The total area of operations encompasses a 5.0-mile radius centered around BNSF Railway Milepost 218.4 near Skykomish, WA. The primary incident site is located at Rail Milepost 218.4, where five freight cars derailed, including pressurized tank car DOT-105J500W (BNSF-77402) containing liquefied chlorine gas with damaged protective valve housing. Currently impacted areas include a 1,500-foot vapor dispersion zone along the rail right-of-way and adjacent State Route 2. Threatened areas include the Town of Skykomish situated 1.8 miles West downwind and the South Fork Skykomish River salmon spawning habitat located 300 feet South. Overflight reconnaissance conducted via Washington State Patrol FLIR Helicopter WSP-AIR-2 confirmed a localized green-yellow chlorine cloud hugging the ravine floor and drifting West-Northwest at 4 mph. Dispersion trajectories model the airborne toxic plume tracking West-Northwest along the State Route 2 corridor at 4 mph, with zero liquid chemical runoff entering waterways. Impacted shorelines are unimpacted, with ground contamination restricted to northern ravine embankment slopes. Tactical graphics and maps oriented North vertically depict Staging Area Charlie at Stevens Pass Maintenance Yard, Mobile Command Post at Skykomish School District Gym, a 1.5-mile Exclusion Zone boundary, and State Route 2 traffic closure checkpoints. + +Paragraph 2: Situation Summary & Health/Safety Briefing At 04:15 PST on 11/02/2026, a mountain derailment caused five freight cars to leave the tracks. Tank car BNSF-77402 sustained severe dome housing damage, resulting in a low-rate pressurized vapor release of toxic chlorine at approximately 15 lbs/min. State Route 2 was closed immediately and a mandatory evacuation was ordered for 250 residents of Skykomish. Primary health and safety hazards include severe pulmonary edema risk from chlorine gas inhalation, ocular and skin chemical burns, acute respiratory collapse, mountain hypothermia (ambient temp 34°F), and steep terrain slip hazards. Protective measures enforce a 1.5-mile Exclusion Zone; mandatory Level A vapor-tight encapsulated suits with SCBA for all Hot Zone entry personnel; Level B suits for Warm Zone support; continuous electrochemical chlorine sensor monitoring at CP baselines; mandatory indoor shelter-in-place for outer perimeters; and a heated wet-decontamination trailer wash at Staging Area Charlie. This briefing was formally prepared by Lt. Colonel Alan Vance, Planning Section Chief, signed Alan Vance, on 11/02/2026 at 07:15 PST. + +Paragraph 3: Objectives & Action Tactics Current and planned strategic objectives for Operational Period 1 are: (1) Complete mandatory evacuation of Skykomish township within 1.5-mile radius by 07:30 hours; (2) Perform Hot Zone entry to apply Emergency B-Kit capping assembly on chlorine railcar dome by 09:30 hours; (3) Establish continuous multi-point perimeter air monitoring along State Route 2 by 08:00 hours; and (4) Secure rail right-of-way and establish Unified Command by 07:00 hours. Chronological tactical timeline: At 04:45, initial alarm dispatch occurred; Skykomish Fire and King County Sheriff units respond, closing State Route 2 at Milepost 215. At 05:15, Local Command was established by Chief D. Olson; mandatory evacuation sirens activated across Skykomish. At 05:50, Regional Hazmat Team 3 and BNSF Response Team arrived on scene to initiate perimeter air testing. At 06:30, WSP FLIR helicopter completed thermal overflight mapping plume dispersion. At 07:00, Unified Command was established at Skykomish School Gym with EPA Region 10 and BNSF RP. Planned actions: At 08:15, Entry Team 1 under Level A PPE initiates B-Kit capping tool installation on railcar valve dome; at 09:30, perform pressure test and seal verification of capping assembly; at 11:00, complete environmental health review to evaluate lifting outer zone evacuation orders. + +Paragraph 4: Command & General Staff Organization Structure Operational command functions under a Unified Command structure comprising Unified Incident Commanders Captain E. Miller (WSP Unified Command IC), OSC R. Brooks (EPA R10 Co-IC), Chief D. Olson (Skykomish Fire IC), and M. Campbell (BNSF Railway RP IC). Command Staff includes Captain Marcus Vance as Safety Officer, Jennifer Hayes (WSDOT) as Public Information Officer, and Deputy S. Kowalski (KCSO) as Liaison Officer. General Staff operations are managed by Battalion Chief T. Higgins as Operations Section Chief, Lt. Colonel Alan Vance as Planning Section Chief, David Sterling as Logistics Section Chief, and Patricia Ross as Finance/Admin Section Chief. Specialized tactical roles include Rail Hazmat Specialist G. Peterson (BNSF) and Evacuation Group Supervisor Sgt. H. Lin (KCSO). + +Paragraph 5: Resource Summary & Tactical Assignments Tracking of operational assets: (1) King County Hazmat 3 (Identifier: HZM-33), ordered 11/02/2026 05:00, Status: Arrived (ETA N/A), preparing Level A Entry Team 1 and Emergency B-Kit capping assembly; (2) Skykomish Engine 11 (Identifier: ENG-11), ordered 11/02/2026 04:45, Status: Arrived (ETA N/A), securing State Route 2 East closure checkpoint; (3) BNSF Emergency Response Unit (Identifier: BNSF-ER-01), ordered 11/02/2026 05:15, Status: Arrived (ETA N/A), on scene with railcar specialized capping kits; (4) WSP Aviation FLIR Helicopter (Identifier: WSP-AIR-2), ordered 11/02/2026 05:30, Status: Arrived (ETA N/A), completed thermal imagery mapping of plume drift; (5) Mobile Decontamination Trailer (Identifier: DECON-04), ordered 11/02/2026 05:45, Status: En Route (ETA 11/02/2026 08:30), en route to establish warm water decon at Staging Area Charlie; and (6) Hazmat Air Monitoring Recon (Identifier: AIR-MON-10), ordered 11/02/2026 06:00, Status: En Route (ETA 11/02/2026 07:45), en route with multi-gas chlorine sensors. diff --git a/benchmark/datasets/narratives/ics201_7.txt b/benchmark/datasets/narratives/ics201_7.txt new file mode 100644 index 00000000..b80073b6 --- /dev/null +++ b/benchmark/datasets/narratives/ics201_7.txt @@ -0,0 +1,11 @@ +ICS 201 Incident Briefing Narrative: Silverwood Reservoir Crude Oil Pipeline Rupture + +Paragraph 1: Header, Initiation & Tactical Map/Sketch Details The Silverwood Reservoir Crude Oil Pipeline Rupture (Incident Number: CalOES-EPA-R9-2026-0518) was formally initiated on 05/18/2026 at 13:10 PDT. The total area of operations encompasses a 4.0-mile radius including Trans-California Pipeline MM 87.3, Sawpit Canyon, and the Silverwood Reservoir basin. The primary incident site is located at Valve Station 12 along Trans-California Pipeline MM 87.3 in Sawpit Canyon, where a 12-inch pressurized crude line ruptured. Currently impacted areas include 800 yards of Sawpit Canyon creek bed carrying crude oil towards Silverwood Lake, with a 30-acre surface oil sheen in the reservoir South arm. Primary threatened locations include the Mojave Water Agency Municipal Pumping Plant situated 1.5 miles North and Silverwood Lake State Recreation Area campgrounds located 0.8 miles West. Overflight reconnaissance conducted via Cal FIRE Recon Aircraft 240 confirmed heavy black crude pooling in Sawpit Canyon and a 400-yard wide oil ribbon entering Silverwood Lake. Dispersion trajectories model the waterborne crude oil slick moving North at 1.0 knot towards the main reservoir basin, while the airborne volatile organic cloud tracks Southeast at 7 mph into canyon slopes. Impacted shorelines encompass 1.2 miles of rocky reservoir shoreline and marsh vegetation along the Sawpit Canyon inlet. Tactical graphics and maps oriented North vertically depict Staging Area Delta at Silverwood Lake Marina, Incident Command Post at Hesperia Fire Station 30, a 1,000-foot Exclusion Zone perimeter, Deflection Boom Sites A and B, and municipal water intake protection zones. + +Paragraph 2: Situation Summary & Health/Safety Briefing At 12:40 PDT on 05/18/2026, a hillside land movement ruptured a 12-inch crude oil pipeline at MM 87.3, discharging approximately 12,000 gallons of heavy crude oil into Sawpit Canyon creek before automated valves shut off flow. The oil flowed downstream into Silverwood Reservoir, threatening southern California drinking water supplies. Primary health and safety hazards include toxic benzene vapor inhalation, volatile organic compound exposure, acute flammability (flash point 65°F), wildfire ignition risk in dry brush, slip-and-fall hazards on oily terrain, and severe heat exhaustion (ambient temp 94°F). Protective measures enforce a mandatory 1,000-foot Exclusion Zone; Level B PPE with SCBA for initial Hot Zone creek entry; Level C PPE with organic vapor respirators for shoreline booming teams; continuous PID air monitoring downwind; mandatory wildland fire standby team with AFFF foam; and establishment of dual-basin wash decontamination at Marina Ramp 2. This briefing was formally prepared by Captain Rachel Brooks, Planning Section Chief, signed Rachel Brooks, on 05/18/2026 at 15:30 PDT. + +Paragraph 3: Objectives & Action Tactics Current and planned strategic objectives for Operational Period 1 are: (1) Enforce 1,000-foot Exclusion Zone and secure pipeline isolation by 14:00 hours; (2) Deploy 2,000 feet of containment boom across Sawpit Canyon inlet by 16:30 hours to prevent oil migration to water intake; (3) Evacuate Silverwood Lake State Recreation Area campgrounds by 15:00 hours; (4) Initiate skimmer boat oil recovery in South arm of reservoir by 17:00 hours; and (5) Establish Unified Command (Cal OES, EPA R9, USFS, San Bernardino County Fire, Pipeline RP) by 14:30 hours. Chronological tactical timeline: At 13:10, alarm dispatch occurred; San Bernardino County Fire Engine 30 and USFS Crew 4 respond to set up initial safety perimeter. At 13:40, Local Command was established by Chief M. Thorne; Trans-California Pipeline operators confirm remote valve isolation at MM 85 and MM 90. At 14:15, State Parks Rangers complete full evacuation of Silverwood Lake campgrounds (150 visitors evacuated). At 14:45, Cal OES and EPA OSC arrive on scene; Unified Command established at Station 30. At 15:15, Clean Harbors Spill Response Vessel deploys 1,200 feet of hard boom at Sawpit Inlet (Boom Site A). Planned actions: At 16:00, deploy secondary sorbent deflection boom array at Boom Site B upstream of Mojave Water Intake; at 17:00, vacuum skimmer vessel Lake Clean 1 initiates surface crude extraction in South arm; at 18:30, complete initial shoreline oiling assessment along Sawpit Canyon inlet. + +Paragraph 4: Command & General Staff Organization Structure Operational command operates under a Unified Command structure comprising Unified Incident Commanders OSC C. Martinez (EPA R9 Co-IC), Chief M. Thorne (SBCo Fire IC), Chief Inspector A. Kim (Cal OES), and W. Vance (Pipeline RP IC). Command Staff includes Captain Gregory Hall as Safety Officer, Samantha Norris (Cal OES) as Public Information Officer, and Ranger D. Stevens (State Parks) as Liaison Officer. General Staff operations are directed by Battalion Chief Kevin Ross as Operations Section Chief, Captain Rachel Brooks as Planning Section Chief, Megan Taylor as Logistics Section Chief, and Jason Wu as Finance/Admin Section Chief. Specialized positions include Environmental Unit Leader Dr. L. Arispe (USFS) and Waterborne Recovery Supervisor Captain B. Walsh (Clean Harbors). + +Paragraph 5: Resource Summary & Tactical Assignments Tracking of operational assets: (1) San Bernardino Hazmat Engine (Identifier: ENG-30), ordered 05/18/2026 13:10, Status: Arrived (ETA N/A), operating perimeter vapor monitoring and fire standby; (2) USFS Wildland Handcrew (Identifier: CREW-04), ordered 05/18/2026 13:15, Status: Arrived (ETA N/A), clearing brush and building containment dikes in Sawpit Canyon; (3) State Parks Ranger Unit (Identifier: PARK-12), ordered 05/18/2026 13:20, Status: Arrived (ETA N/A), completed campground evacuations and road closures; (4) Clean Harbors Spill Vessel (Identifier: RV-LC-01), ordered 05/18/2026 14:00, Status: Arrived (ETA N/A), deployed 1,200 ft hard boom at Sawpit Canyon inlet; (5) Heavy Vacuum Skimmer Boat (Identifier: SKIM-02), ordered 05/18/2026 14:30, Status: En Route (ETA 05/18/2026 16:45), en route from San Pedro for reservoir skimmer recovery; and (6) Air Monitoring Recon Unit (Identifier: AIR-MON-08), ordered 05/18/2026 14:10, Status: En Route (ETA 05/18/2026 15:45), en route with photoionization detectors and benzene gas sensors. diff --git a/benchmark/datasets/narratives/ics201_8.txt b/benchmark/datasets/narratives/ics201_8.txt new file mode 100644 index 00000000..89fb93e7 --- /dev/null +++ b/benchmark/datasets/narratives/ics201_8.txt @@ -0,0 +1,11 @@ +ICS 201 Incident Briefing Narrative: Delaware Bay Container Vessel Collision & Fuel Oil Spill + +Paragraph 1: Header, Initiation & Tactical Map/Sketch Details The Delaware Bay Container Vessel Collision & Fuel Oil Spill (Incident Number: USCG-D5-2026-0629) was formally initiated on 06/29/2026 at 22:40 EDT. The designated total area of operations covers a 6.0-mile radius centered at Delaware Bay Shipping Channel Buoy 14 near Lewes, DE. The primary incident site is located at Delaware Bay Channel Buoy 14 (38.85°N, 75.12°W), where container vessel M/V Atlantic Voyager collided with a bulk carrier, breaching fuel tank #3 port side. Currently impacted areas include a 3.5-mile long heavy oil sheen extending East-Southeast across the bay channel towards Cape Henlopen State Park. Primary threatened locations include Prime Hook National Wildlife Refuge situated 4.0 miles Northwest and Cape Henlopen Tidal Salt Marshes located 2.5 miles South. Overflight reconnaissance conducted via USCG HC-144 Ocean Sentry aircraft confirmed a 300-yard wide slick of Intermediate Fuel Oil (IFO 380) drifting with the flood tide. Dispersion trajectories model the waterborne oil slick migrating East-Southeast at 2.2 knots toward Cape Henlopen under coastal winds of 14 knots from the West-Northwest. Impacted shorelines encompass 2.0 miles of outer sandy beach and dune lines along Cape Henlopen State Park. Tactical graphics and maps oriented North vertically depict Staging Area Echo at Lewes Ferry Terminal, Incident Command Post at USCG Sector Delaware Bay Headquarters, a 1,000-yard Maritime Safety Zone, Boom Sites 1, 2, and 3, and wildlife protection zones. + +Paragraph 2: Situation Summary & Health/Safety Briefing At 22:15 EDT on 06/29/2026, container vessel M/V Atlantic Voyager collided with anchored bulk carrier M/V Pacific Trader near Buoy 14. Port fuel tank #3 breached, discharging approximately 25,000 gallons of heavy Intermediate Fuel Oil (IFO 380) before vessel operators completed internal fuel transfer to starboard tanks. Primary health and safety hazards include hydrocarbon vapor exposure (benzene/H2S), direct dermal toxicity, severe slip hazards on oily vessel hulls and shorelines, nighttime over-water operations, water drowning risk, and wildlife exposure risks. Protective measures enforce a 1,000-yard Maritime Safety Zone; mandatory Level C PPE with PFDs and half-mask organic vapor respirators for maritime responders; continuous H2S and PID air monitoring on response vessels; compulsory work-rest hydration cycles; and a mobile vessel decontamination station established at Lewes Pier. This briefing was formally prepared by Commander James Vance, Planning Section Chief, signed James Vance, on 06/30/2026 at 01:30 EDT. + +Paragraph 3: Objectives & Action Tactics Current and planned strategic objectives for Operational Period 1 are: (1) Secure maritime safety perimeter and stabilize damaged vessel by 01:00 hours; (2) Deploy protective booming across Cape Henlopen salt marsh inlets by 04:00 hours; (3) Initiate offshore skimming operations using MSRC oil recovery vessels by 05:30 hours; (4) Activate wildlife rescue and rehab operations with Tri-State Bird Rescue by 06:00 hours; and (5) Establish Unified Command (USCG, EPA, Delaware DNREC, M/V Atlantic Voyager RP) by 02:00 hours. Chronological tactical timeline: At 22:40, alarm dispatch occurred; USCG Station Lewes response boats 45601 and 45602 respond to establish maritime safety zone. At 23:15, Local Command was established by Captain P. Hayes; Sector Delaware Bay requests MSRC oil spill response vessel mobilization. At 23:50, M/V Atlantic Voyager crew completes internal fuel transfer, halting active discharge from fuel tank #3. At 00:30, USCG HC-144 overflight completes IR sensor oil slick mapping. At 01:15, Delaware DNREC response team arrives at Lewes Command Post; Unified Command established. Planned actions: At 03:00, MSRC Response Vessel Delaware Responder deploys 2,500 feet of ocean containment boom at Buoy 14; at 04:30, deploy sorbent diversion boom at Cape Henlopen Inlet (Boom Site 2); at 06:00, Tri-State Bird Rescue team commences shoreline wildlife search along Cape Henlopen beaches. + +Paragraph 4: Command & General Staff Organization Structure Operational command operates under a Unified Command structure comprising Unified Incident Commanders Captain P. Hayes (USCG Unified Command IC), OSC T. Gallagher (EPA R3), Secretary A. Lawson (Delaware DNREC), and H. Lindemann (Atlantic Shipping RP IC). Command Staff includes Lt. Commander Mark Reynolds as Safety Officer, Chief Petty Officer Kelly Adams as Public Information Officer, and Inspector R. Thorne (DNREC) as Liaison Officer. General Staff operations are directed by Commander Frank Miller as Operations Section Chief, Commander James Vance as Planning Section Chief, Laura Bennett as Logistics Section Chief, and Charles Foster as Finance/Admin Section Chief. Specialized tactical positions include Scientific Support Coordinator Dr. E. Sullivan (NOAA) and Wildlife Branch Director Dr. C. Jenkins (Tri-State). + +Paragraph 5: Resource Summary & Tactical Assignments Tracking of operational assets: (1) USCG Response Boat Medium (Identifier: RBM-45601), ordered 06/29/2026 22:40, Status: Arrived (ETA N/A), maintaining 1,000-yard safety zone around damaged vessel; (2) USCG Station Lewes RBM (Identifier: RBM-45602), ordered 06/29/2026 22:40, Status: Arrived (ETA N/A), conducting water sampling and perimeter safety watch; (3) MSRC Spill Vessel Delaware Responder (Identifier: RV-MSRC-01), ordered 06/29/2026 23:00, Status: Arrived (ETA N/A), deployed 2,500 ft ocean boom and preparing offshore skimmer; (4) USCG Ocean Sentry Aircraft (Identifier: USCG-HC144), ordered 06/29/2026 23:10, Status: Arrived (ETA N/A), completed IR slick mapping and overflight tracking; (5) Mobile Wildlife Rehabilitation Trailer (Identifier: WILD-REHAB-1), ordered 06/30/2026 00:15, Status: En Route (ETA 06/30/2026 05:45), en route to establish bird cleaning station at Lewes Pier; and (6) Shoreline Cleanup Strike Team (Identifier: SCAT-TEAM-1), ordered 06/30/2026 00:45, Status: En Route (ETA 06/30/2026 06:30), mobilizing for Cape Henlopen beach oil assessment. diff --git a/benchmark/datasets/narratives/ics201_9.txt b/benchmark/datasets/narratives/ics201_9.txt new file mode 100644 index 00000000..4e580cb9 --- /dev/null +++ b/benchmark/datasets/narratives/ics201_9.txt @@ -0,0 +1,11 @@ +ICS 201 Incident Briefing Narrative: Oakridge Industrial Park Anhydrous Ammonia Release + +Paragraph 1: Header, Initiation & Tactical Map/Sketch Details The Oakridge Industrial Park Anhydrous Ammonia Release (Incident Number: EPA-R2-2026-0905) was formally initiated on 09/05/2026 at 08:15 EDT. The designated total area of operations covers a 2.0-mile radius centered at Cold Storage Logistics Building 7, Edison, NJ. The primary incident site is located at Mechanical Room 3 on the roof deck of Cold Storage Logistics Building 7 (100 Industrial Parkway), where an 8-inch high-pressure ammonia chiller line fractured. Currently impacted areas include a 400-yard vapor dispersion plume encompassing the Building 7 loading dock and northern section of Industrial Parkway. Primary threatened locations include the Meadowlands Residential Community situated 0.9 miles East downwind and the Edison Transit Center located 1.2 miles Southeast. Overflight reconnaissance conducted via Edison Police Drone Recon Unit DRONE-PD-1 confirmed a dense white fog cloud hovering over Roof Mechanical Room 3 and drifting East-Northeast at 5 mph. Dispersion trajectories model the airborne toxic anhydrous ammonia cloud migrating East-Northeast at 5 mph, with zero liquid chemical product entering storm drainage systems. Impacted shorelines are unimpacted, with contamination restricted to localized industrial ground surfaces and rooftop structures. Tactical graphics and maps oriented North vertically depict Staging Area Foxtrot at Edison High School parking lot, Command Post at Edison Fire Station 4, a 1,000-foot Exclusion Zone boundary, and Industrial Parkway traffic control points. + +Paragraph 2: Situation Summary & Health/Safety Briefing At 07:45 EDT on 09/05/2026, a mechanical vibration failure severed an 8-inch liquid refrigeration line inside Mechanical Room 3 at Cold Storage Logistics, releasing approximately 3,000 lbs of anhydrous ammonia gas. Building 7 was evacuated immediately (85 employees), and a 1,000-foot perimeter isolation zone was established. Primary health and safety hazards include severe chemical asphyxiation, acute pulmonary edema, permanent ocular injury, cryogenic chemical freeze burns, flammability risk in enclosed spaces (LEL 15-28%), and physical fall hazards from roof decking. Protective measures enforce a mandatory 1,000-foot Exclusion Zone; Level A encapsulated vapor suits with SCBA for all roof entry personnel; Level B suits for ground backup teams; continuous electrochemical ammonia air monitoring at perimeter boundaries; high-volume water curtain deployment for vapor knockdown; and a mandatory dual-basin chemical wash decontamination corridor at Building 7 main entrance. This briefing was formally prepared by Captain Michael Vance, Planning Section Chief, signed Michael Vance, on 09/05/2026 at 10:30 EDT. + +Paragraph 3: Objectives & Action Tactics Current and planned strategic objectives for Operational Period 1 are: (1) Enforce 1,000-foot Exclusion Zone and isolate Building 7 HVAC intake by 08:30 hours; (2) Perform roof entry under Level A PPE to manually isolate main receiver valve by 11:00 hours; (3) Deploy high-volume water curtain monitoring nozzles to suppress cloud drift by 09:30 hours; (4) Perform continuous downwind air monitoring along Meadowlands border by 09:00 hours; and (5) Establish Unified Command (Edison Fire, NJ DEP, EPA R2, Facility RP) by 08:45 hours. Chronological tactical timeline: At 08:15, initial alarm dispatch occurred; Edison Fire Engines 4 and 6 respond and assist Building 7 evacuation. At 08:35, Local Command was established by Chief E. Sullivan; Industrial Parkway closed at Kilmer Road. At 09:00, Middlesex County Hazmat Team 2 arrived to set up perimeter air monitoring grid and water fog curtain monitors. At 09:40, NJ DEP and EPA Region 2 OSC arrived on scene; Unified Command established at Station 4. At 10:15, drone recon flight confirmed water curtains reduced downwind cloud density by 60%. Planned actions: At 11:00, Entry Team 1 under Level A PPE executes emergency roof entry to isolate main refrigeration manifold; at 12:00, initiate mechanical ventilation of Building 7 interior through charcoal scrubber array; at 13:30, conduct clearance air sampling inside Building 7 prior to facility re-entry. + +Paragraph 4: Command & General Staff Organization Structure Operational command functions under a Unified Command structure comprising Unified Incident Commanders Chief E. Sullivan (Edison Fire IC), OSC H. Miller (EPA R2), Inspector G. Ross (NJ DEP), and T. Jenkins (Cold Storage RP IC). Command Staff includes Captain Robert Hayes as Safety Officer, Amanda Walsh (Edison OEM) as Public Information Officer, and Lt. D. Kincaid (Middlesex PD) as Liaison Officer. General Staff operations are directed by Battalion Chief Brian O'Connor as Operations Section Chief, Captain Michael Vance as Planning Section Chief, Karen Miller as Logistics Section Chief, and Steven Zhang as Finance/Admin Section Chief. Specialized positions include Refrigeration Systems Specialist C. Bauer (Cold Storage RP) and Air Monitoring Leader Lt. V. Patel (County Hazmat). + +Paragraph 5: Resource Summary & Tactical Assignments Tracking of operational assets: (1) Middlesex County Hazmat 2 (Identifier: HZM-MC-02), ordered 09/05/2026 08:20, Status: Arrived (ETA N/A), operating water curtains and preparing Level A roof entry; (2) Edison Fire Engine 4 (Identifier: ENG-04), ordered 09/05/2026 08:15, Status: Arrived (ETA N/A), supplying high-pressure water to fog monitors for vapor suppression; (3) Edison Ladder Truck 2 (Identifier: LADDER-02), ordered 09/05/2026 08:15, Status: Arrived (ETA N/A), positioned for roof access and aerial water stream deployment; (4) Police Drone Recon Unit (Identifier: DRONE-PD-1), ordered 09/05/2026 08:30, Status: Arrived (ETA N/A), conducting continuous thermal and aerial monitoring of plume drift; (5) Mobile Mechanical Scrubber Unit (Identifier: VENT-SCRUB-3), ordered 09/05/2026 09:15, Status: En Route (ETA 09/05/2026 11:45), en route to perform positive pressure building scrubbing; and (6) High-Sensitivity Air Monitoring Truck (Identifier: AIR-TRK-07), ordered 09/05/2026 09:00, Status: En Route (ETA 09/05/2026 10:15), en route to monitor downwind Meadowlands residential perimeter. diff --git a/benchmark/datasets/narratives/ics202_1.txt b/benchmark/datasets/narratives/ics202_1.txt new file mode 100644 index 00000000..a0af7cea --- /dev/null +++ b/benchmark/datasets/narratives/ics202_1.txt @@ -0,0 +1,9 @@ +### Whispering Pines Derailment Incident Objectives (ICS 202) + +The Incident Objectives form, designated as ICS 202 for the Whispering Pines Derailment incident under tracking number US-EPA-R4-2026-0707, officially establishes the strategic blueprint for the upcoming operational period. This specific operational period is scheduled to run from July 07, 2026, at 18:00 hours through July 08, 2026, at 06:00 hours, marking the first critical night-shift rotation of the response. + +The core incident objectives for this twelve-hour window have been prioritized following the SMART model to ensure clear, action-oriented execution by field personnel. The primary objective is to maintain a zero-incident safety record for all response personnel by enforcing mandatory air monitoring and strict personal protective equipment compliance throughout the entirety of the night shift. The second objective dictates that containment teams must deploy an additional five hundred feet of underflow and sorbent booming at designated downstream check-points on Whispering Pines Creek by 22:00 hours to intercept any escaping Benzene sheen. The third objective requires hazardous materials entry teams to complete the structural stabilization and grounding of the breached Car #14 by 01:00 hours to prepare the vessel for safe product offloading. The fourth objective mandates that the Air Monitoring Group establish a continuous, telemetry-linked vapor monitoring perimeter around the eastern residential boundary by 20:00 hours to guarantee community safety. The fifth and final objective requires the Planning and Logistics sections to finalize the morning resource allocation and shift rotation plan by 04:00 hours to ensure seamless operational continuity. + +The operational period command emphasis directs all supervisors to place primary tactical focus on air-monitoring metrics and localized vapor suppression, particularly during the transition into night-shift hours when atmospheric inversion layers can trap hazardous vapors closer to the ground. Command explicitly prioritizes the safety of the hazardous materials entry teams working in low-visibility conditions near the creek bed over speed of recovery. General situational awareness notes indicate that the local weather forecast predicts clearing skies with a significant ambient temperature drop to 62°F by midnight, accompanied by winds shifting from the Northwest at three to five miles per hour. This wind shift introduces a critical safety warning regarding the potential accumulation of heavy Benzene vapors in low-lying drainage ditches and creek pockets east of the derailment site. Field crews are issued a universal safety message to remain highly vigilant for low-visibility hazards, uneven muddy terrain along the banks, and potential wildlife hazards native to the adjacent wetlands. Due to the high-consequence nature of the chemical release, a formal Site Safety Plan is strictly required for this incident. The approved Site Safety Plan has been finalized, signed by the Safety Officer, and is physically located at the primary Mobile Command Post inside the Forward Operations Briefing Trailer. + +The complete Incident Action Plan for this operational period has been fully assembled, and the specific components included in the package have been validated. The final plan incorporates the ICS 203 Organization Assignment List, multiple ICS 204 Assignment Lists for the active divisions, the ICS 205 Incident Radio Communications Plan, the ICS 206 Medical Plan, the ICS 208 Safety Message and Plan, a detailed geospatial Map and Chart package of the hot zone, and the localized National Weather Service Forecast. Additional attachments compiled into the final briefing packet include the specialized EPA Plume Trajectory Analysis Sheet and the CSX Tank Car Cargo Manifest. This administrative document serves as Page 1 of the comprehensive Incident Action Plan package and was officially prepared by Planning Section Chief Marcus Vance, who reviewed and signed the form on July 07, 2026, at 16:30 hours. Final executive approval for the implementation of these objectives was granted by Unified Incident Commander Chief J. Thomas of County Fire, who signed off on the complete package on July 07, 2026, at 17:00 hours. \ No newline at end of file diff --git a/benchmark/datasets/narratives/ics202_2.txt b/benchmark/datasets/narratives/ics202_2.txt new file mode 100644 index 00000000..051994e4 --- /dev/null +++ b/benchmark/datasets/narratives/ics202_2.txt @@ -0,0 +1,9 @@ +### Blackwood Chemical Pipeline Breach Incident Objectives (ICS 202) + +The Incident Objectives form, designated as ICS 202 for the Blackwood Chemical Pipeline Breach incident under tracking number US-EPA-R5-2026-0813, officially establishes the strategic blueprint for the upcoming operational period. This specific operational period is scheduled to run from August 13, 2026, at 18:00 hours through August 14, 2026, at 06:00 hours, marking the critical night-shift rotation of the emergency response. + +The core incident objectives for this twelve-hour window have been prioritized following the SMART model to ensure clear, action-oriented execution by field personnel. The primary objective is to maintain 100% responder compliance with SCBA Level B PPE within the 500-foot Exclusion Zone throughout the night shift. The second objective dictates that containment teams must complete installation of 1,000 feet of sorbent containment boom array across Blackwood River at Boom Site 2 by 22:00 hours to protect downstream municipal water intake. The third objective requires hazardous materials entry teams to complete hot-tap product evacuation of damaged pipeline section by 02:00 hours to stop active anhydrous ammonia leakage. The fourth objective mandates that the Air Monitoring Group maintain continuous automated PID perimeter air monitoring downwind along Route 104 with telemetry reporting to CP every 30 minutes. The fifth and final objective requires the Planning and Logistics sections to finalize Operational Period 2 IAP shift plan and resource request documentation by 04:30 hours. + +The operational period command emphasis directs all supervisors to focus tactical operations on maintaining river boom integrity under rising night tides and ensuring strict atmospheric air monitoring during the overnight temperature drop when ammonia vapors hug low ground. Command explicitly prioritizes responder safety in low-visibility nighttime conditions over recovery speed. General situational awareness notes indicate that the local weather forecast predicts clear night skies, temperatures dropping to 58°F, and wind shifting from East-Northeast to North at 4 mph. Low-lying fog is expected near riverbanks between 02:00 and 06:00 hours. High vigilance is required for slick riverbank terrain and reduced nighttime visibility. Due to the hazardous chemical nature of the release, a formal Site Safety Plan is strictly required for this incident. The approved Site Safety Plan has been finalized, signed by the Safety Officer, and is physically located at the Mobile Command Post Briefing Trailer at Station 12. + +The complete Incident Action Plan for this operational period has been fully assembled, and the specific components included in the package have been validated. The final plan incorporates the ICS 203 Organization Assignment List, multiple ICS 204 Assignment Lists for active divisions, the ICS 205 Incident Radio Communications Plan, the ICS 206 Medical Plan, the ICS 208 Safety Message and Plan, a detailed geospatial Map and Chart package of the hot zone, and the localized Weather Forecast. Additional attachments compiled into the final briefing packet include the Ammonia Air Dispersion Model Map and the Pipeline Shutoff Schematic. This administrative document serves as Page 1 of the comprehensive Incident Action Plan package and was officially prepared by Planning Section Chief Sarah L. Jenkins, who reviewed and signed the form on August 13, 2026, at 16:30 hours. Final executive approval for the implementation of these objectives was granted by Incident Commander Chief R. Henderson, who signed off on the complete package on August 13, 2026, at 17:15 hours. diff --git a/benchmark/datasets/narratives/ics202_3.txt b/benchmark/datasets/narratives/ics202_3.txt new file mode 100644 index 00000000..d3f12108 --- /dev/null +++ b/benchmark/datasets/narratives/ics202_3.txt @@ -0,0 +1,9 @@ +### Port of Houston Sulfuric Acid Tanker Leak Incident Objectives (ICS 202) + +The Incident Objectives form, designated as ICS 202 for the Port of Houston Sulfuric Acid Tanker Leak incident under tracking number USCG-EPA-R6-2026-1014, officially establishes the strategic blueprint for the upcoming operational period. This specific operational period is scheduled to run from October 14, 2026, at 07:00 hours through October 15, 2026, at 19:00 hours, marking the primary daytime operational shift of the chemical spill response. + +The core incident objectives for this twelve-hour window have been prioritized following the SMART model to ensure clear, action-oriented execution by field personnel. The primary objective is to ensure zero safety incidents by enforcing mandatory Level A chemical suit entry procedures for all vessel deck operations. The second objective dictates that neutralization teams must apply 10 tons of dry sodium bicarbonate slurry to neutralize pooled acid on Berth 42 deck by 12:00 hours. The third objective requires waterborne response teams to maintain 2,000 feet of chemical sorbent boom around M/T Stolt Synergy and conduct hourly river pH sampling to ensure zero downstream acid migration. The fourth objective mandates that vessel salvage specialists complete vessel hull structural integrity audit and offloading manifold pressure test by 15:00 hours. The fifth and final objective requires the Environmental Unit to conduct continuous public air monitoring along Channelview community boundary and issue real-time safety updates by 17:00 hours. + +The operational period command emphasis directs all supervisors to place primary tactical focus on safe chemical neutralization and pH stabilization in the ship channel water column. Personnel safety during high-temperature Level A suit operations takes absolute priority over operational speed. General situational awareness notes indicate daytime temperatures reaching 88°F with high humidity (78%), creating severe heat stress conditions for suit technicians. Winds are blowing from the Southeast at 9 mph. Work-rest cycles of 20 minutes active entry followed by 40 minutes hydration/cooling are strictly mandated. Due to the high hazard profile of concentrated sulfuric acid, a formal Site Safety Plan is strictly required for this incident. The approved Site Safety Plan has been finalized, signed by the Safety Officer, and is physically located at the USCG Sector Houston Command Center Safety Office. + +The complete Incident Action Plan for this operational period has been fully assembled, and the specific components included in the package have been validated. The final plan incorporates the ICS 203 Organization Assignment List, multiple ICS 204 Assignment Lists for active divisions, the ICS 205 Incident Radio Communications Plan, the ICS 205a Communications List, the ICS 206 Medical Plan, the ICS 208 Safety Message and Plan, a detailed geospatial Map and Chart package of the port terminal, and localized Weather Forecast and Tides tables. Additional attachments compiled into the final briefing packet include the TCEQ Water Quality Monitoring Plan and the Vessel Cargo Stowage Plan. This administrative document serves as Page 1 of the comprehensive Incident Action Plan package and was officially prepared by Planning Section Chief Commander Richard Croft, who reviewed and signed the form on October 14, 2026, at 06:00 hours. Final executive approval for the implementation of these objectives was granted by Incident Commander Captain H. Vance, who signed off on the complete package on October 14, 2026, at 06:30 hours. diff --git a/benchmark/datasets/narratives/ics202_4.txt b/benchmark/datasets/narratives/ics202_4.txt new file mode 100644 index 00000000..0deec926 --- /dev/null +++ b/benchmark/datasets/narratives/ics202_4.txt @@ -0,0 +1,9 @@ +### Cascade Pass Chlorine Railcar Derailment Incident Objectives (ICS 202) + +The Incident Objectives form, designated as ICS 202 for the Cascade Pass Chlorine Railcar Derailment incident under tracking number NTSB-EPA-R10-2026-1102, officially establishes the strategic blueprint for the upcoming operational period. This specific operational period is scheduled to run from November 02, 2026, at 18:00 hours through November 03, 2026, at 06:00 hours, marking the critical overnight shift of the hazardous materials response. + +The core incident objectives for this twelve-hour window have been prioritized following the SMART model to ensure clear, action-oriented execution by field personnel. The primary objective is to enforce strict Level A PPE compliance and buddy system protocols during all night operations around the derailment site. The second objective dictates that hazardous materials capping teams must complete installation and torque testing of Emergency B-Kit capping assembly on chlorine tank car BNSF-77402 by 22:00 hours. The third objective requires air monitoring units to maintain perimeter chlorine air monitoring at 15-minute intervals along State Route 2 evacuation boundary. The fourth objective mandates that logistics staff operate heated decontamination trailer and warm hydration station continuously at Staging Area Charlie. The fifth and final objective requires the Environmental Unit to formulate environmental sampling plan and morning shift briefing package by 04:00 hours. + +The operational period command emphasis directs all supervisors to emphasize absolute safety of capping entry teams working under nighttime freezing conditions. Ensure continuous warm water decon availability to prevent suit icing. General situational awareness notes indicate overcast skies with mountain temperatures dropping to 28°F overnight, with snow flurries expected after 01:00 hours. Light winds are blowing from the West at 3 mph drifting toward the ravine floor. Icing hazards exist on rail ballast and steep access slopes, alongside high hypothermia hazards for standing security personnel. Due to toxic chlorine gas hazards, a formal Site Safety Plan is strictly required for this incident. The approved Site Safety Plan has been finalized, signed by the Safety Officer, and is physically located at the Skykomish School Gym Operations Briefing Room. + +The complete Incident Action Plan for this operational period has been fully assembled, and the specific components included in the package have been validated. The final plan incorporates the ICS 203 Organization Assignment List, multiple ICS 204 Assignment Lists for active divisions, the ICS 205 Incident Radio Communications Plan, the ICS 206 Medical Plan, the ICS 207 Organization Chart, the ICS 208 Safety Message and Plan, a detailed geospatial Map and Chart package of the rail right-of-way, and the Mountain Weather Forecast package. Additional attachments compiled into the final briefing packet include the Railcar Capping Procedure Manual and the Chlorine Gas Toxicity Chart. This administrative document serves as Page 1 of the comprehensive Incident Action Plan package and was officially prepared by Planning Section Chief Lt. Colonel Alan Vance, who reviewed and signed the form on November 02, 2026, at 16:30 hours. Final executive approval for the implementation of these objectives was granted by Incident Commander Captain E. Miller, who signed off on the complete package on November 02, 2026, at 17:15 hours. diff --git a/benchmark/datasets/narratives/ics202_5.txt b/benchmark/datasets/narratives/ics202_5.txt new file mode 100644 index 00000000..52060a94 --- /dev/null +++ b/benchmark/datasets/narratives/ics202_5.txt @@ -0,0 +1,9 @@ +### Silverwood Reservoir Crude Oil Pipeline Rupture Incident Objectives (ICS 202) + +The Incident Objectives form, designated as ICS 202 for the Silverwood Reservoir Crude Oil Pipeline Rupture incident under tracking number CalOES-EPA-R9-2026-0518, officially establishes the strategic blueprint for the upcoming operational period. This specific operational period is scheduled to run from May 18, 2026, at 18:00 hours through May 19, 2026, at 06:00 hours, marking the overnight containment shift of the inland oil spill response. + +The core incident objectives for this twelve-hour window have been prioritized following the SMART model to ensure clear, action-oriented execution by field personnel. The primary objective is to maintain 100% safety record with zero heat injuries or toxic vapor exposures during night shift operations. The second objective dictates that marine spill response crews must secure 2,000 feet of containment boom across Sawpit Canyon inlet and maintain skimmer vessel recovery in South arm until 23:00 hours. The third objective requires pipeline repair crews to complete pipeline mechanical clamp repair on 12-inch main line at MM 87.3 by 02:00 hours. The fourth objective mandates that water sampling teams perform hourly water sampling upstream of Mojave Water Intake facility to ensure non-detectable hydrocarbon levels. The fifth and final objective requires the Planning Section to prepare Day 2 Operational Period Incident Action Plan and resource requests by 04:30 hours. + +The operational period command emphasis directs all supervisors to focus tactical priority on preventing any oil migration toward the municipal water intake. Night skimming operations must maintain illuminated safety perimeters and life-vest compliance at all times. General situational awareness notes indicate evening temperature cooling to 70°F with calm winds under 5 mph. Mountain lions and nocturnal wildlife have been reported near Sawpit Canyon inlet. Flashlight illumination is required along all shoreline walking paths due to steep, oily riprap. Due to potential drinking water contamination risks, a formal Site Safety Plan is strictly required for this incident. The approved Site Safety Plan has been finalized, signed by the Safety Officer, and is physically located at the Incident Command Post at Hesperia Fire Station 30. + +The complete Incident Action Plan for this operational period has been fully assembled, and the specific components included in the package have been validated. The final plan incorporates the ICS 203 Organization Assignment List, multiple ICS 204 Assignment Lists for active divisions, the ICS 205 Incident Radio Communications Plan, the ICS 206 Medical Plan, the ICS 208 Safety Message and Plan, a detailed geospatial Map and Chart package of Silverwood Lake, and localized Weather and Reservoir Current Forecasts. Additional attachments compiled into the final briefing packet include the Silverwood Lake Water Sampling Map and the Pipeline Repair Safety Plan. This administrative document serves as Page 1 of the comprehensive Incident Action Plan package and was officially prepared by Planning Section Chief Captain Rachel Brooks, who reviewed and signed the form on May 18, 2026, at 16:30 hours. Final executive approval for the implementation of these objectives was granted by Incident Commander Chief M. Thorne, who signed off on the complete package on May 18, 2026, at 17:00 hours. diff --git a/benchmark/datasets/narratives/ics202_6.txt b/benchmark/datasets/narratives/ics202_6.txt new file mode 100644 index 00000000..c44f517a --- /dev/null +++ b/benchmark/datasets/narratives/ics202_6.txt @@ -0,0 +1,9 @@ +### Oakridge Industrial Park Anhydrous Ammonia Release Incident Objectives (ICS 202) + +The Incident Objectives form, designated as ICS 202 for the Oakridge Industrial Park Anhydrous Ammonia Release incident under tracking number EPA-R2-2026-0905, officially establishes the strategic blueprint for the upcoming operational period. This specific operational period is scheduled to run from September 05, 2026, at 07:00 hours through September 06, 2026, at 19:00 hours, marking the recovery and clearance operational shift of the industrial hazmat incident. + +The core incident objectives for this twelve-hour window have been prioritized following the SMART model to ensure clear, action-oriented execution by field personnel. The primary objective is to enforce strict Level A/B PPE protocols and 1,000-foot Exclusion Zone control throughout daytime mechanical ventilation operations. The second objective dictates that mechanical ventilation teams must complete charcoal scrubber building ventilation of Building 7 interior to reduce interior ammonia concentrations below 15 ppm by 13:00 hours. The third objective requires structural engineers to conduct full structural and piping stress inspection of Roof Mechanical Room 3 by 15:00 hours. The fourth objective mandates that environmental sampling teams perform interior clearance air sampling across all 4 building quadrants by 17:00 hours. The fifth and final objective requires Liaison and Command Staff to submit final environmental decontamination report to NJ DEP and lift perimeter road closures by 18:30 hours. + +The operational period command emphasis directs all supervisors to focus operational efforts on safe indoor ventilation and structural validation. Ensure air monitoring teams continuously verify downwind residential air quality before discharging building exhaust. General situational awareness notes indicate mostly sunny conditions with a daytime high of 82°F. Winds are blowing from the West-Southwest at 7 mph. Thermal updrafts on Building 7 roof deck require secure safety tie-offs for all entry personnel. Due to high vapor pressure chemical hazards, a formal Site Safety Plan is strictly required for this incident. The approved Site Safety Plan has been finalized, signed by the Safety Officer, and is physically located at the Edison Fire Station 4 Command Post Conference Room. + +The complete Incident Action Plan for this operational period has been fully assembled, and the specific components included in the package have been validated. The final plan incorporates the ICS 203 Organization Assignment List, multiple ICS 204 Assignment Lists for active divisions, the ICS 205 Incident Radio Communications Plan, the ICS 205a Communications List, the ICS 206 Medical Plan, the ICS 208 Safety Message and Plan, a detailed geospatial Map and Chart package of the industrial park, and localized Weather Forecast updates. Additional attachments compiled into the final briefing packet include the Building 7 Ventilation Engineering Plan and the NJ DEP Air Quality Standard Sheet. This administrative document serves as Page 1 of the comprehensive Incident Action Plan package and was officially prepared by Planning Section Chief Captain Michael Vance, who reviewed and signed the form on September 05, 2026, at 06:00 hours. Final executive approval for the implementation of these objectives was granted by Incident Commander Chief E. Sullivan, who signed off on the complete package on September 05, 2026, at 06:30 hours. diff --git a/benchmark/datasets/narratives/ics203_1.txt b/benchmark/datasets/narratives/ics203_1.txt new file mode 100644 index 00000000..14d7b853 --- /dev/null +++ b/benchmark/datasets/narratives/ics203_1.txt @@ -0,0 +1,13 @@ +### Whispering Pines Derailment Organization Assignment List (ICS 203) + +The Organization Assignment List, designated as ICS 203 for the Whispering Pines Derailment incident under tracking number US-EPA-R4-2026-0707, officially documents the active organizational structure and personnel assignments for Operational Period 1 (July 07, 2026, 18:00 hours to July 08, 2026, 06:00 hours). + +Command Staff operations are managed under a Unified Command structure consisting of Incident Commanders Chief J. Thomas representing County Fire, S. Albright representing State DEQ, and D. Miller representing CSX Railroad. Executive operational support is provided by Deputy Incident Commander Assistant Chief M. Reynolds. Safety oversight is directed by Safety Officer Captain R. Mendez, public communications are managed by Public Information Officer A. Cho of County OEM, and inter-agency coordination is handled by Liaison Officer Inspector G. Sims of the Sheriff's Office. External agency representatives active at the command post include OSC K. Lawson representing US EPA Region 4, V. Patel representing CSX Railroad, and Commander B. Davis representing the Whispering Pines Police Department. + +The Planning Section is led by Planning Section Chief Marcus Vance, supported by Deputy L. Sullivan. Unit Leaders under Planning include T. Jenkins managing the Resources Unit, E. Brooks managing the Situation Unit, H. Martinez managing the Documentation Unit, and R. Sterling managing the Demobilization Unit. Specialized technical advice is provided by Technical Specialists D. Kowalski (Rail Tank Car Specialist) and Dr. A. Chen (Air Dispersion Modeler). + +The Logistics Section is commanded by Logistics Section Chief K. Dunavan, supported by Deputy P. Wright. Logistics is organized into two primary branches: the Support Branch directed by J. Myers, overseeing Supply Unit Leader S. Taylor, Facilities Unit Leader C. Adams, and Ground Support Unit Leader M. Evans; and the Service Branch directed by B. Foster, overseeing Communications Unit Leader R. Lee, Medical Unit Leader Dr. N. Howard, and Food Unit Leader L. King. + +The Operations Section is directed by Operations Section Chief B. Reynolds, supported by Deputy Lt. Commander D. Miller. Tactical field units operate from Staging Area Alpha located at the County Fairgrounds. Operational branches include the Hazardous Materials Branch led by Branch Director Lt. T. Kincaid and Deputy Sgt. R. Hall, supervising the Hazmat Entry Group under Capt. P. Gomez and the Decontamination Group under Lt. S. Baker; and the Fire Suppression Branch led by Branch Director Batt. Chief E. Walters and Deputy Capt. J. Miller, supervising Division A (Rail Right-of-Way) under Capt. D. Ross and the Water Supply Group under Lt. M. Turner. Aviation resources are coordinated through the Air Operations Branch under Air Operations Branch Director Capt. H. Nelson. + +The Finance/Administration Section is managed by Finance/Admin Section Chief Robert Sterling, supported by Deputy A. Patel. Financial operations are staffed by Time Unit Leader C. White, Procurement Unit Leader G. Scott, Compensation/Claims Unit Leader E. Green, and Cost Unit Leader W. Harris. This organization assignment list serves as Page 1 of the Incident Action Plan package and was prepared by Planning Section Chief Marcus Vance on July 07, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics203_2.txt b/benchmark/datasets/narratives/ics203_2.txt new file mode 100644 index 00000000..7cbb7d3a --- /dev/null +++ b/benchmark/datasets/narratives/ics203_2.txt @@ -0,0 +1,13 @@ +### Blackwood Chemical Pipeline Breach Organization Assignment List (ICS 203) + +The Organization Assignment List, designated as ICS 203 for the Blackwood Chemical Pipeline Breach incident under tracking number US-EPA-R5-2026-0813, officially documents the active organizational structure and personnel assignments for Operational Period 1 (August 13, 2026, 18:00 hours to August 14, 2026, 06:00 hours). + +Command Staff operations are managed under a Unified Command structure consisting of Incident Commanders Chief R. Vance representing Blackwood Fire Department, Officer M. Ross representing State EPA, and J. Vance representing Blackwood Pipeline Co. Executive operational support is provided by Deputy Incident Commander Deputy Chief L. Morgan. Safety oversight is directed by Safety Officer Captain L. Hayes, public communications are managed by Public Information Officer E. Wright, and inter-agency coordination is handled by Liaison Officer Deputy K. Miller. External agency representatives active at the command post include OSC R. Brooks representing US EPA Region 5, Sheriff T. Higgins representing Blackwood County Sheriff, and Director P. Simmons representing Valley Water Authority. + +The Planning Section is led by Planning Section Chief Sarah L. Jenkins, supported by Deputy T. Bradley. Unit Leaders under Planning include A. Patel managing the Resources Unit, C. Webb managing the Situation Unit, Dr. H. Thorne managing the Documentation Unit, and M. Brody managing the Demobilization Unit. Specialized technical advice is provided by Technical Specialists E. Vance (Pipeline Integrity Specialist) and Dr. S. Ray (Chemical Toxicology Specialist). + +The Logistics Section is commanded by Logistics Section Chief T. Bradley, supported by Deputy W. Miller. Logistics is organized into two primary branches: the Support Branch directed by G. Kross, overseeing Supply Unit Leader H. Lin, Facilities Unit Leader R. Sterling, and Ground Support Unit Leader D. Miller; and the Service Branch directed by S. Norris, overseeing Communications Unit Leader K. Albright, Medical Unit Leader Dr. T. Vance, and Food Unit Leader A. Cho. + +The Operations Section is directed by Operations Section Chief D. Kowalski, supported by Deputy Lt. Timothy Vance. Tactical field units operate from Staging Area Bravo located at Westside High School. Operational branches include the Pipeline Isolation Branch led by Branch Director Capt. Donald Kross and Deputy Lt. C. Webb, supervising the Hot Zone Entry Group under Lt. R. Mendez and the Vapor Suppression Group under Capt. A. Ross; and the River Spill Containment Branch led by Branch Director Commander Thomas Blake and Deputy Inspector G. Sims, supervising Booming Division 1 under Lt. J. Thorne and the Water Intake Protection Group under Capt. B. Walsh. Aviation resources are coordinated through the Air Operations Branch under Air Operations Branch Director Capt. E. Walters. + +The Finance/Administration Section is managed by Finance/Admin Section Chief A. Patel, supported by Deputy Robert Sterling. Financial operations are staffed by Time Unit Leader J. Mercer, Procurement Unit Leader Laura Martinez, Compensation/Claims Unit Leader Inspector R. Sterling, and Cost Unit Leader Sandra Keller. This organization assignment list serves as Page 1 of the Incident Action Plan package and was prepared by Planning Section Chief Sarah L. Jenkins on August 13, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics203_3.txt b/benchmark/datasets/narratives/ics203_3.txt new file mode 100644 index 00000000..5490d3e1 --- /dev/null +++ b/benchmark/datasets/narratives/ics203_3.txt @@ -0,0 +1,13 @@ +### Port of Houston Sulfuric Acid Tanker Leak Organization Assignment List (ICS 203) + +The Organization Assignment List, designated as ICS 203 for the Port of Houston Sulfuric Acid Tanker Leak incident under tracking number USCG-EPA-R6-2026-1014, officially documents the active organizational structure and personnel assignments for Operational Period 1 (October 14, 2026, 07:00 hours to October 15, 2026, 19:00 hours). + +Command Staff operations are managed under a Unified Command structure consisting of Incident Commanders Captain H. Vance representing USCG, OSC M. Reynolds representing EPA, Chief D. Garcia representing Port Authority Fire, and K. Lindqvist representing Stolt Tankers. Executive operational support is provided by Deputy Incident Commander Commander T. Blake. Safety oversight is directed by Safety Officer Commander Thomas Blake, public communications are managed by Public Information Officer Laura Martinez of Port Authority, and inter-agency coordination is handled by Liaison Officer Inspector R. Sterling of TCEQ. External agency representatives active at the command post include Inspector R. Sterling representing Texas Commission on Environmental Quality, K. Lindqvist representing Stolt Tankers Shipping, and Captain M. Brody representing Port of Houston Pilots. + +The Planning Section is led by Planning Section Chief Commander Richard Croft, supported by Deputy Lt. J. Thorne. Unit Leaders under Planning include Dr. V. Patel managing the Resources Unit, Sandra Keller managing the Situation Unit, Wayne Miller managing the Documentation Unit, and Battalion Chief A. Ross managing the Demobilization Unit. Specialized technical advice is provided by Technical Specialists Dr. V. Patel (Chemical Hazard Specialist) and E. Miller (Marine Salvage Engineer). + +The Logistics Section is commanded by Logistics Section Chief Sandra Keller, supported by Deputy Wayne Miller. Logistics is organized into two primary branches: the Support Branch directed by Capt. H. Nelson, overseeing Supply Unit Leader C. White, Facilities Unit Leader G. Scott, and Ground Support Unit Leader E. Green; and the Service Branch directed by W. Harris, overseeing Communications Unit Leader J. Myers, Medical Unit Leader Dr. A. Chen, and Food Unit Leader S. Taylor. + +The Operations Section is directed by Operations Section Chief Battalion Chief A. Ross, supported by Deputy Lt. J. Thorne. Tactical field units operate from Staging Area Bravo located at Jacintoport Terminal. Operational branches include the Vessel Salvage & Entry Branch led by Branch Director Lt. J. Thorne and Deputy Capt. P. Gomez, supervising the Deck Neutralization Group under Lt. S. Baker and the Manifold Isolation Team under Capt. D. Ross; and the Ship Channel Protection Branch led by Branch Director Capt. Donald Kross and Deputy Lt. M. Turner, supervising the Water Quality Sampling Division under Dr. S. Ray and the Booming Operations Group under Capt. B. Walsh. Aviation resources are coordinated through the Air Operations Branch under Air Operations Branch Director Commander T. Blake. + +The Finance/Administration Section is managed by Finance/Admin Section Chief Wayne Miller, supported by Deputy Sandra Keller. Financial operations are staffed by Time Unit Leader C. Adams, Procurement Unit Leader M. Evans, Compensation/Claims Unit Leader B. Foster, and Cost Unit Leader R. Lee. This organization assignment list serves as Page 1 of the Incident Action Plan package and was prepared by Planning Section Chief Commander Richard Croft on October 14, 2026, at 06:00 hours. diff --git a/benchmark/datasets/narratives/ics203_4.txt b/benchmark/datasets/narratives/ics203_4.txt new file mode 100644 index 00000000..9d998f6c --- /dev/null +++ b/benchmark/datasets/narratives/ics203_4.txt @@ -0,0 +1,13 @@ +### Cascade Pass Chlorine Railcar Derailment Organization Assignment List (ICS 203) + +The Organization Assignment List, designated as ICS 203 for the Cascade Pass Chlorine Railcar Derailment incident under tracking number NTSB-EPA-R10-2026-1102, officially documents the active organizational structure and personnel assignments for Operational Period 1 (November 02, 2026, 18:00 hours to November 03, 2026, 06:00 hours). + +Command Staff operations are managed under a Unified Command structure consisting of Incident Commanders Captain E. Miller representing WSP, OSC R. Brooks representing EPA Region 10, Chief D. Olson representing Skykomish Fire, and M. Campbell representing BNSF Railway. Executive operational support is provided by Deputy Incident Commander Inspector G. Peterson. Safety oversight is directed by Safety Officer Captain Marcus Vance, public communications are managed by Public Information Officer Jennifer Hayes of WSDOT, and inter-agency coordination is handled by Liaison Officer Deputy S. Kowalski of King County Sheriff's Office. External agency representatives active at the command post include Jennifer Hayes representing Washington State Department of Transportation, G. Peterson representing BNSF Railway, and Sgt. H. Lin representing King County Sheriff's Office. + +The Planning Section is led by Planning Section Chief Lt. Colonel Alan Vance, supported by Deputy David Sterling. Unit Leaders under Planning include Patricia Ross managing the Resources Unit, Battalion Chief T. Higgins managing the Situation Unit, Sgt. H. Lin managing the Documentation Unit, and G. Peterson managing the Demobilization Unit. Specialized technical advice is provided by Technical Specialists G. Peterson (Rail Hazmat Specialist) and Dr. H. Thorne (Toxic Gas Modeler). + +The Logistics Section is commanded by Logistics Section Chief David Sterling, supported by Deputy Patricia Ross. Logistics is organized into two primary branches: the Support Branch directed by L. King, overseeing Supply Unit Leader J. Myers, Facilities Unit Leader S. Taylor, and Ground Support Unit Leader C. Adams; and the Service Branch directed by M. Evans, overseeing Communications Unit Leader B. Foster, Medical Unit Leader Dr. N. Howard, and Food Unit Leader R. Lee. + +The Operations Section is directed by Operations Section Chief Battalion Chief T. Higgins, supported by Deputy Sgt. H. Lin. Tactical field units operate from Staging Area Charlie located at the Stevens Pass Maintenance Yard. Operational branches include the Hazmat Capping Branch led by Branch Director Capt. P. Gomez and Deputy Lt. S. Baker, supervising Railcar Entry Group 1 under Capt. D. Ross and the Decontamination Group under Lt. M. Turner; and the Evacuation & Security Branch led by Branch Director Sgt. H. Lin and Deputy Deputy S. Kowalski, supervising the Highway 2 Control Division under Capt. H. Nelson and the Skykomish Evacuation Group under Sgt. R. Hall. Aviation resources are coordinated through the Air Operations Branch under Air Operations Branch Director Capt. E. Walters. + +The Finance/Administration Section is managed by Finance/Admin Section Chief Patricia Ross, supported by Deputy David Sterling. Financial operations are staffed by Time Unit Leader W. Harris, Procurement Unit Leader C. White, Compensation/Claims Unit Leader G. Scott, and Cost Unit Leader E. Green. This organization assignment list serves as Page 1 of the Incident Action Plan package and was prepared by Planning Section Chief Lt. Colonel Alan Vance on November 02, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics203_5.txt b/benchmark/datasets/narratives/ics203_5.txt new file mode 100644 index 00000000..8d961ebd --- /dev/null +++ b/benchmark/datasets/narratives/ics203_5.txt @@ -0,0 +1,13 @@ +### Silverwood Reservoir Crude Oil Pipeline Rupture Organization Assignment List (ICS 203) + +The Organization Assignment List, designated as ICS 203 for the Silverwood Reservoir Crude Oil Pipeline Rupture incident under tracking number CalOES-EPA-R9-2026-0518, officially documents the active organizational structure and personnel assignments for Operational Period 1 (May 18, 2026, 18:00 hours to May 19, 2026, 06:00 hours). + +Command Staff operations are managed under a Unified Command structure consisting of Incident Commanders OSC C. Martinez representing EPA Region 9, Chief M. Thorne representing San Bernardino County Fire, Chief Inspector A. Kim representing Cal OES, and W. Vance representing Pipeline RP. Executive operational support is provided by Deputy Incident Commander Commander F. Miller. Safety oversight is directed by Safety Officer Captain Gregory Hall, public communications are managed by Public Information Officer Samantha Norris of Cal OES, and inter-agency coordination is handled by Liaison Officer Ranger D. Stevens of State Parks. External agency representatives active at the command post include Dr. L. Arispe representing US Forest Service, Engineer K. Ross representing Mojave Water Agency, and Captain B. Walsh representing Clean Harbors Environmental. + +The Planning Section is led by Planning Section Chief Captain Rachel Brooks, supported by Deputy Megan Taylor. Unit Leaders under Planning include Jason Wu managing the Resources Unit, Battalion Chief Kevin Ross managing the Situation Unit, Dr. L. Arispe managing the Documentation Unit, and Captain B. Walsh managing the Demobilization Unit. Specialized technical advice is provided by Technical Specialists Dr. L. Arispe (Environmental Unit Leader) and Dr. S. Ray (Hydrological Flow Specialist). + +The Logistics Section is commanded by Logistics Section Chief Megan Taylor, supported by Deputy Jason Wu. Logistics is organized into two primary branches: the Support Branch directed by Capt. P. Gomez, overseeing Supply Unit Leader Lt. S. Baker, Facilities Unit Leader Capt. D. Ross, and Ground Support Unit Leader Lt. M. Turner; and the Service Branch directed by Capt. H. Nelson, overseeing Communications Unit Leader Sgt. R. Hall, Medical Unit Leader Dr. N. Howard, and Food Unit Leader L. King. + +The Operations Section is directed by Operations Section Chief Battalion Chief Kevin Ross, supported by Deputy Captain B. Walsh. Tactical field units operate from Staging Area Delta located at the Silverwood Lake Marina. Operational branches include the Canyon Pipeline Repair Branch led by Branch Director Capt. Gregory Hall and Deputy Lt. R. Mendez, supervising the Clamp Repair Group under Capt. A. Ross and the Sawpit Containment Group under Lt. C. Webb; and the Reservoir Skimming & Booming Branch led by Branch Director Captain B. Walsh and Deputy Lt. J. Thorne, supervising the South Arm Skimmer Division under Capt. B. Walsh and the Water Intake Protection Group under Dr. L. Arispe. Aviation resources are coordinated through the Air Operations Branch under Air Operations Branch Director Capt. E. Walters. + +The Finance/Administration Section is managed by Finance/Admin Section Chief Jason Wu, supported by Deputy Megan Taylor. Financial operations are staffed by Time Unit Leader J. Myers, Procurement Unit Leader S. Taylor, Compensation/Claims Unit Leader C. Adams, and Cost Unit Leader M. Evans. This organization assignment list serves as Page 1 of the Incident Action Plan package and was prepared by Planning Section Chief Captain Rachel Brooks on May 18, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics204_1.txt b/benchmark/datasets/narratives/ics204_1.txt new file mode 100644 index 00000000..b803e274 --- /dev/null +++ b/benchmark/datasets/narratives/ics204_1.txt @@ -0,0 +1,14 @@ +### Whispering Pines Derailment Assignment List (ICS 204) + +The Assignment List, designated as ICS 204 for the Whispering Pines Derailment incident under tracking number US-EPA-R4-2026-0707, details the tactical assignments for the Hazmat Entry Group operating within Division A under the Hazardous Materials Branch during Operational Period 1 (July 07, 2026, 18:00 hours to July 08, 2026, 06:00 hours). + +Tactical leadership for this operational unit is provided by Operations Section Chief B. Reynolds (Contact: 555-0192 / Radio Ch 1), Branch Director Lt. T. Kincaid (Contact: 555-0144 / Radio Ch 3), and Division/Group Supervisor Capt. P. Gomez (Contact: 555-0188 / Radio Ch 4). Tactical resources staging and deployment are managed out of Staging Area Alpha located at the County Fairgrounds. + +Resources assigned to the Hazmat Entry Group for this shift include: +1. Hazmat Unit HZM-01, led by Lt. T. Kincaid, staffing 6 personnel, contactable via Radio Ch 4 (462.550 MHz). Special instructions require reporting to Hot Zone Gate 1 by 18:30 equipped with Level B SCBA chemical suits, PID air monitors, and non-sparking aluminum tools. +2. Decontamination Trailer DECON-02, led by Lt. S. Baker, staffing 4 personnel, contactable via Radio Ch 4. Special instructions mandate establishing a wet-decontamination station at the Warm Zone boundary Gate 2 by 18:45 utilizing a decon shower trailer with lime wash solution. +3. Fire Engine ENG-41, led by Capt. D. Ross, staffing 3 personnel, contactable via Radio Ch 2. Special instructions require positioning at the Warm Zone boundary for continuous AFFF foam blanket standby during tank car grounding operations. + +The specific work assignments for the Hazmat Entry Group direct personnel to execute Hot Zone entry into the rail right-of-way to secure structural stabilization straps on derailed Car #14, attach grounding cables to prevent static spark ignition, and perform real-time PID air monitoring around the breached Benzene manifold, reporting VOC concentrations to the Branch Director every 15 minutes. + +Special safety instructions mandate that all entry personnel wear Level B PPE with SCBA. Continuous air monitoring is strictly required; personnel must evacuate the Hot Zone immediately if PID readings exceed 5 ppm Benzene or 10% LEL. Formal decontamination shower procedures must be completed prior to exiting the Warm Zone. Communications protocols specify Radio Ch 1 (154.280 MHz) for Command, Radio Ch 4 (462.550 MHz) for Hazmat Tactical, Cell 555-0177 for Safety Officer Direct, and Radio Ch 5 / Cell 555-0199 for Medical Emergency Call. This document serves as Page 4 of the Incident Action Plan and was prepared by Planning Section Chief Marcus Vance on July 07, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics204_2.txt b/benchmark/datasets/narratives/ics204_2.txt new file mode 100644 index 00000000..1ef56c3c --- /dev/null +++ b/benchmark/datasets/narratives/ics204_2.txt @@ -0,0 +1,14 @@ +### Blackwood Chemical Pipeline Breach Assignment List (ICS 204) + +The Assignment List, designated as ICS 204 for the Blackwood Chemical Pipeline Breach incident under tracking number US-EPA-R5-2026-0813, details the tactical assignments for the Hot Zone Entry Group operating within Division B under the Pipeline Isolation Branch during Operational Period 1 (August 13, 2026, 18:00 hours to August 14, 2026, 06:00 hours). + +Tactical leadership for this operational unit is provided by Operations Section Chief D. Kowalski (Contact: 555-0210 / Radio Ch 1), Branch Director Capt. Donald Kross (Contact: 555-0233 / Radio Ch 2), and Division/Group Supervisor Lt. R. Mendez (Contact: 555-0255 / Radio Ch 3). Tactical resources staging and deployment are managed out of Staging Area Bravo located at Westside High School. + +Resources assigned to the Hot Zone Entry Group for this shift include: +1. Hazmat Unit HZM-05, led by Lt. C. Webb, staffing 5 personnel, contactable via Radio Ch 3 (467.775 MHz). Special instructions require reporting to Gate 2 by 18:15 equipped with Level A encapsulated SCBA suits, pneumatic pipe clamp, and thermal imaging camera. +2. Fire Engine ENG-12, led by Capt. A. Ross, staffing 4 personnel, contactable via Radio Ch 2. Special instructions mandate deploying unmanned fog nozzles at 500 ft perimeter to maintain water curtains over airborne ammonia plume. +3. Water Tender WT-03, led by Lt. M. Turner, staffing 2 personnel, contactable via Radio Ch 2. Special instructions require supplying continuous water feed to Engine 12 monitors. + +The specific work assignments for the Hot Zone Entry Group direct personnel to enter Hot Zone at Valve Station 14-B under Level A protection to execute manual hot-tap isolation on the 8-inch pressurized line, secure bypass manifold to stop active liquid ammonia discharge, and maintain water curtains downwind during valve mechanical manipulation. + +Special safety instructions mandate Level A PPE for entry team, maintaining a 2-person backup entry team in Level A at Warm Zone line, and sounding emergency withdrawal horn (3 long blasts) if ammonia concentration exceeds 300 ppm IDLH at Warm Zone baseline. Communications protocols specify Radio Ch 1 (153.830 MHz) for Command / Operations, Radio Ch 3 (467.775 MHz) for Pipeline Tactical, Cell 555-0288 for Safety Officer Line, and Radio Ch 6 (462.625 MHz) for Decon Line. This document serves as Page 4 of the Incident Action Plan and was prepared by Planning Section Chief Sarah L. Jenkins on August 13, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics204_3.txt b/benchmark/datasets/narratives/ics204_3.txt new file mode 100644 index 00000000..d8d3fa1c --- /dev/null +++ b/benchmark/datasets/narratives/ics204_3.txt @@ -0,0 +1,14 @@ +### Port of Houston Sulfuric Acid Tanker Leak Assignment List (ICS 204) + +The Assignment List, designated as ICS 204 for the Port of Houston Sulfuric Acid Tanker Leak incident under tracking number USCG-EPA-R6-2026-1014, details the tactical assignments for the Deck Neutralization Group operating within Division C (Berth 42) under the Vessel Salvage & Entry Branch during Operational Period 1 (October 14, 2026, 07:00 hours to October 15, 2026, 19:00 hours). + +Tactical leadership for this operational unit is provided by Operations Section Chief Battalion Chief A. Ross (Contact: 555-0312 / Radio Ch 1), Branch Director Lt. J. Thorne (Contact: 555-0344 / Radio Ch 2), and Division/Group Supervisor Lt. S. Baker (Contact: 555-0366 / Radio Ch 4). Tactical resources staging and deployment are managed out of Staging Area Bravo located at Jacintoport Terminal. + +Resources assigned to the Deck Neutralization Group for this shift include: +1. Port Authority Hazmat Team HZM-PORT-1, led by Capt. P. Gomez, staffing 6 personnel, contactable via Radio Ch 4 (453.225 MHz). Special instructions require reporting to Berth 42 Gangway by 07:30 equipped with Level A chemical suits, dry lime blower, and pH test strips. +2. Neutralization Truck Unit NEUT-TRK-05, led by Driver E. Green, staffing 2 personnel, contactable via Radio Ch 4. Special instructions mandate positioning at Berth 42 apron to supply dry sodium bicarbonate powder to deck entry team. +3. Chemical Response Vessel RV-AC-01, led by Capt. B. Walsh, staffing 4 personnel, contactable via Radio Ch 3. Special instructions require conducting continuous water sampling and maintaining acid sorbent boom around vessel hull. + +The specific work assignments for the Deck Neutralization Group direct personnel to board M/T Stolt Synergy under Level A protection, apply dry sodium bicarbonate slurry over 4,200 gallons of pooled sulfuric acid on vessel deck until deck runoff pH stabilizes between 6.5 and 8.5, and inspect offloading manifold for structural stress. + +Special safety instructions mandate a strict 20-minute entry limit per technician due to heat stress (88°F/78% RH), compulsory lime wash decon before unsuiting, and prohibiting direct application of raw water to concentrated acid pool to prevent violent exothermic splattering. Communications protocols specify Radio Ch 1 (156.800 MHz / VHF 16) for Operations Command, Radio Ch 4 (453.225 MHz) for Vessel Tactical, Cell 555-0399 for Port Safety Line, and Radio Ch 5 (462.600 MHz) for Medical Standby. This document serves as Page 4 of the Incident Action Plan and was prepared by Planning Section Chief Commander Richard Croft on October 14, 2026, at 06:00 hours. diff --git a/benchmark/datasets/narratives/ics204_4.txt b/benchmark/datasets/narratives/ics204_4.txt new file mode 100644 index 00000000..568b4f3e --- /dev/null +++ b/benchmark/datasets/narratives/ics204_4.txt @@ -0,0 +1,14 @@ +### Cascade Pass Chlorine Railcar Derailment Assignment List (ICS 204) + +The Assignment List, designated as ICS 204 for the Cascade Pass Chlorine Railcar Derailment incident under tracking number NTSB-EPA-R10-2026-1102, details the tactical assignments for the Railcar Entry Group 1 operating within Division Ravine under the Hazmat Capping Branch during Operational Period 1 (November 02, 2026, 18:00 hours to November 03, 2026, 06:00 hours). + +Tactical leadership for this operational unit is provided by Operations Section Chief Battalion Chief T. Higgins (Contact: 555-0411 / Radio Ch 1), Branch Director Capt. P. Gomez (Contact: 555-0433 / Radio Ch 2), and Division/Group Supervisor Capt. D. Ross (Contact: 555-0455 / Radio Ch 3). Tactical resources staging and deployment are managed out of Staging Area Charlie located at the Stevens Pass Maintenance Yard. + +Resources assigned to Railcar Entry Group 1 for this shift include: +1. King County Hazmat 3 HZM-33, led by Lt. S. Baker, staffing 5 personnel, contactable via Radio Ch 3 (462.700 MHz). Special instructions require reporting to Ravine Checkpoint by 18:30 equipped with Level A encapsulated suits, Emergency B-Kit capping assembly, and pneumatic torque wrenches. +2. BNSF Emergency Response Unit BNSF-ER-01, led by Spec. G. Peterson, staffing 3 personnel, contactable via Radio Ch 3. Special instructions mandate providing railcar dome technical oversight and heavy rigging hardware. +3. Mobile Decontamination Trailer DECON-04, led by Tech M. Turner, staffing 4 personnel, contactable via Radio Ch 2. Special instructions require operating heated water decontamination trailer at Staging Area Charlie. + +The specific work assignments for Railcar Entry Group 1 direct personnel to descend ravine to derailed railcar BNSF-77402 under Level A protection, mount and torque Emergency B-Kit hood over damaged chlorine angle valve dome, and verify seal integrity using ammonia vapor swab test until zero leakage is detected. + +Special safety instructions mandate precautions for freezing temperature hazards (28°F) and icy slopes. Suit entry teams are limited to 30-minute rotations. Heated decon wash is mandatory to prevent suit freeze-up, and continuous electrochemical chlorine monitoring is required throughout the entry. Communications protocols specify Radio Ch 1 (154.400 MHz) for Command Channel, Radio Ch 3 (462.700 MHz) for Capping Tactical, Cell 555-0488 for Safety Officer Line, and Radio Ch 4 (467.550 MHz) for Evac Control Line. This document serves as Page 4 of the Incident Action Plan and was prepared by Planning Section Chief Lt. Colonel Alan Vance on November 02, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics204_5.txt b/benchmark/datasets/narratives/ics204_5.txt new file mode 100644 index 00000000..8baf3210 --- /dev/null +++ b/benchmark/datasets/narratives/ics204_5.txt @@ -0,0 +1,14 @@ +### Silverwood Reservoir Crude Oil Pipeline Rupture Assignment List (ICS 204) + +The Assignment List, designated as ICS 204 for the Silverwood Reservoir Crude Oil Pipeline Rupture incident under tracking number CalOES-EPA-R9-2026-0518, details the tactical assignments for the South Arm Skimmer Division operating within Division Reservoir South under the Reservoir Skimming & Booming Branch during Operational Period 1 (May 18, 2026, 18:00 hours to May 19, 2026, 06:00 hours). + +Tactical leadership for this operational unit is provided by Operations Section Chief Battalion Chief Kevin Ross (Contact: 555-0515 / Radio Ch 1), Branch Director Captain B. Walsh (Contact: 555-0535 / Radio Ch 2), and Division/Group Supervisor Lt. J. Thorne (Contact: 555-0560 / Radio Ch 3). Tactical resources staging and deployment are managed out of Staging Area Delta located at the Silverwood Lake Marina. + +Resources assigned to the South Arm Skimmer Division for this shift include: +1. Clean Harbors Spill Vessel RV-LC-01, led by Capt. B. Walsh, staffing 4 personnel, contactable via Radio Ch 3 (156.550 MHz / VHF 11). Special instructions require reporting to Marina Slip 4 by 18:15 equipped with 1,200 ft hard boom, drum skimmer, and high-intensity LED deck searchlights. +2. Heavy Vacuum Skimmer Boat SKIM-02, led by Operator R. Mendez, staffing 3 personnel, contactable via Radio Ch 3. Special instructions mandate operating heavy weir skimmer vessel in South arm pool, pumping oil into a 5,000 gal floating bladder. +3. Air Monitoring Recon Unit AIR-MON-08, led by Tech A. Ross, staffing 2 personnel, contactable via Radio Ch 4. Special instructions require conducting continuous PID benzene air monitoring on boat deck and shoreline baseline. + +The specific work assignments for the South Arm Skimmer Division direct personnel to deploy and anchor 1,200 feet of hard containment boom across Sawpit Canyon inlet to isolate the reservoir, and operate drum skimmers and weir skimmer vessel SKIM-02 continuously throughout the night shift to recover floating crude oil slick in the South arm. + +Special safety instructions mandate USCG-approved PFDs for all over-water personnel. Maintain vessel deck lighting during night operations. If PID readings exceed 1 ppm benzene, mandate half-mask APR organic vapor respirators. Communications protocols specify Radio Ch 1 (154.150 MHz) for Command Channel, Radio Ch 3 (156.550 MHz / VHF 11) for Marine Tactical Channel, Cell 555-0588 for Safety Officer Direct, and Radio Ch 5 (462.575 MHz) for Water Intake Guard. This document serves as Page 4 of the Incident Action Plan and was prepared by Planning Section Chief Captain Rachel Brooks on May 18, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics205_1.txt b/benchmark/datasets/narratives/ics205_1.txt new file mode 100644 index 00000000..b32bd728 --- /dev/null +++ b/benchmark/datasets/narratives/ics205_1.txt @@ -0,0 +1,11 @@ +### Whispering Pines Derailment Incident Radio Communications Plan (ICS 205) + +The Incident Radio Communications Plan, designated as ICS 205 for the Whispering Pines Derailment incident under tracking number US-EPA-R4-2026-0707, was prepared on July 07, 2026, at 16:00 hours. This communications blueprint governs basic radio channel assignments for Operational Period 1 (July 07, 2026, 18:00 hours through July 08, 2026, 06:00 hours). + +Basic radio channel allocations for this operational period are structured as follows: +1. Channel 1 (Zone 1): Functioned for Command, channel name TAC-1, assigned to Unified Command and Section Chiefs. Operates on RX frequency 154.2800 N (Tone 156.7) and TX frequency 159.4800 N (Tone 156.7) in Analog mode (A), utilizing Repeater 1 located on Ridge Top. +2. Channel 2 (Zone 1): Functioned for Tactical operations, channel name TAC-2, assigned to Hazmat Entry Group. Operates on RX frequency 462.5500 N (Tone 114.8) and TX frequency 467.5500 N (Tone 114.8) in Digital mode (D), utilizing an encrypted digital talkgroup. +3. Channel 3 (Zone 1): Functioned for Tactical operations, channel name TAC-3, assigned to Fire Suppression Branch. Operates on RX frequency 153.8300 N (Tone 156.7) and TX frequency 153.8300 N (Tone 156.7) in Analog mode (A), utilizing direct tactical simplex communications. +4. Channel 4 (Zone 1): Functioned for Support operations, channel name SUPP-1, assigned to Logistics and Decon. Operates on RX frequency 462.6250 N (Tone 123.0) and TX frequency 462.6250 N (Tone 123.0) in Analog mode (A), serving Staging Area Alpha and the decon trailer. + +Special instructions dictate that all emergency radio traffic must use the 'MAYDAY' call sign prefix on Channel 1. Channel 2 encryption keys must be loaded into handheld radios at Staging Area Alpha prior to Hot Zone deployment. This document serves as Page 5 of the Incident Action Plan and was prepared by Communications Unit Leader R. Lee on July 07, 2026, at 16:00 hours. diff --git a/benchmark/datasets/narratives/ics205_2.txt b/benchmark/datasets/narratives/ics205_2.txt new file mode 100644 index 00000000..e09c47fd --- /dev/null +++ b/benchmark/datasets/narratives/ics205_2.txt @@ -0,0 +1,11 @@ +### Blackwood Chemical Pipeline Breach Incident Radio Communications Plan (ICS 205) + +The Incident Radio Communications Plan, designated as ICS 205 for the Blackwood Chemical Pipeline Breach incident under tracking number US-EPA-R5-2026-0813, was prepared on August 13, 2026, at 16:00 hours. This communications blueprint governs basic radio channel assignments for Operational Period 1 (August 13, 2026, 18:00 hours through August 14, 2026, 06:00 hours). + +Basic radio channel allocations for this operational period are structured as follows: +1. Channel 1 (Zone A): Functioned for Command, channel name STATE-CMD, assigned to Unified Command and Operations. Operates on RX frequency 153.8300 N (Tone 131.8) and TX frequency 158.9700 N (Tone 131.8) in Analog mode (A), utilizing County Repeater 4. +2. Channel 2 (Zone A): Functioned for Tactical operations, channel name HAZ-TAC-1, assigned to Hot Zone Entry Group. Operates on RX frequency 467.7750 N (Tone D023) and TX frequency 467.7750 N (Tone D023) in Digital mode (D), restricting use strictly to intrinsically safe radios. +3. Channel 3 (Zone A): Functioned for Tactical operations, channel name BOOM-TAC, assigned to River Booming Division. Operates on RX frequency 154.2800 N (Tone 131.8) and TX frequency 154.2800 N (Tone 131.8) in Analog mode (A), serving as a simplex marine and land communications link. +4. Channel 4 (Zone A): Functioned for Dispatch, channel name LAW-DISP, assigned to Perimeter Evacuation and Sheriff's Office. Operates on RX frequency 460.1250 N (Tone 156.7) and TX frequency 465.1250 N (Tone 156.7) in Digital mode (D), linking to County Sheriff Dispatch. + +Special instructions mandate that only intrinsically safe portable radios (Class I, Div 1) are permitted inside the 500-foot Exclusion Zone. Personnel must maintain 30-minute mandatory radio check-ins. This document serves as Page 5 of the Incident Action Plan and was prepared by Communications Unit Leader K. Albright on August 13, 2026, at 16:00 hours. diff --git a/benchmark/datasets/narratives/ics205_3.txt b/benchmark/datasets/narratives/ics205_3.txt new file mode 100644 index 00000000..7e187842 --- /dev/null +++ b/benchmark/datasets/narratives/ics205_3.txt @@ -0,0 +1,11 @@ +### Port of Houston Sulfuric Acid Tanker Leak Incident Radio Communications Plan (ICS 205) + +The Incident Radio Communications Plan, designated as ICS 205 for the Port of Houston Sulfuric Acid Tanker Leak incident under tracking number USCG-EPA-R6-2026-1014, was prepared on October 14, 2026, at 05:30 hours. This communications blueprint governs basic radio channel assignments for Operational Period 1 (October 14, 2026, 07:00 hours through October 15, 2026, 19:00 hours). + +Basic radio channel allocations for this operational period are structured as follows: +1. Channel 16 (Zone Port): Functioned for Command, channel name VHF 16 / CMD, assigned to USCG and Unified Command. Operates on RX frequency 156.8000 W (Tone None) and TX frequency 156.8000 W (Tone None) in Analog mode (A), serving as International Maritime Distress and Command channel. +2. Channel 11 (Zone Port): Functioned for Tactical operations, channel name VHF 11 / OPS, assigned to Vessel Deck Entry Group. Operates on RX frequency 156.5500 W (Tone None) and TX frequency 156.5500 W (Tone None) in Analog mode (A), serving ship-to-shore deck entry operations. +3. Channel 4 (Zone Port): Functioned for Tactical operations, channel name PORT-HAZ, assigned to Chemical Neutralization Team. Operates on RX frequency 453.2250 N (Tone 141.3) and TX frequency 458.2250 N (Tone 141.3) in Digital mode (D), utilizing Port Fire Hazmat digital system. +4. Channel 5 (Zone Port): Functioned for Support operations, channel name MED-NET, assigned to Medical & Decon Operations. Operates on RX frequency 462.6000 N (Tone 100.0) and TX frequency 462.6000 N (Tone 100.0) in Analog mode (A), maintaining communication with decon trailer baseline. + +Special instructions dictate that VHF Channel 16 is reserved strictly for Command and emergency traffic. The deck entry team must maintain dual-watch monitoring on VHF Channel 11 and Port-Haz Channel 4. This document serves as Page 5 of the Incident Action Plan and was prepared by Communications Unit Leader J. Myers on October 14, 2026, at 05:30 hours. diff --git a/benchmark/datasets/narratives/ics205_4.txt b/benchmark/datasets/narratives/ics205_4.txt new file mode 100644 index 00000000..1966788d --- /dev/null +++ b/benchmark/datasets/narratives/ics205_4.txt @@ -0,0 +1,11 @@ +### Cascade Pass Chlorine Railcar Derailment Incident Radio Communications Plan (ICS 205) + +The Incident Radio Communications Plan, designated as ICS 205 for the Cascade Pass Chlorine Railcar Derailment incident under tracking number NTSB-EPA-R10-2026-1102, was prepared on November 02, 2026, at 16:00 hours. This communications blueprint governs basic radio channel assignments for Operational Period 1 (November 02, 2026, 18:00 hours through November 03, 2026, 06:00 hours). + +Basic radio channel allocations for this operational period are structured as follows: +1. Channel 1 (Zone Pass): Functioned for Command, channel name WSP-CMD, assigned to Unified Command and Operations. Operates on RX frequency 154.4000 N (Tone 103.5) and TX frequency 159.0300 N (Tone 103.5) in Analog mode (A), utilizing Stevens Pass Mountain Repeater. +2. Channel 3 (Zone Pass): Functioned for Tactical operations, channel name CAPP-TAC, assigned to Railcar Entry & Capping Team. Operates on RX frequency 462.7000 N (Tone D074) and TX frequency 467.7000 N (Tone D074) in Digital mode (D), utilizing a digital cross-band repeater deployed in the ravine. +3. Channel 4 (Zone Pass): Functioned for Tactical operations, channel name EVAC-TAC, assigned to Highway 2 & Evacuation Security. Operates on RX frequency 467.5500 N (Tone 114.8) and TX frequency 467.5500 N (Tone 114.8) in Analog mode (A), serving Sheriff patrol direct communications. +4. Channel 6 (Zone Pass): Functioned for Support operations, channel name LOG-SUPP, assigned to Decon & Staging Charlie. Operates on RX frequency 151.6250 N (Tone 67.0) and TX frequency 151.6250 N (Tone 67.0) in Analog mode (A), maintaining Staging Area Charlie link. + +Special instructions indicate that a portable cross-band repeater is deployed at the ravine rim to ensure coverage inside mountain signal shadows. Cold-weather battery packs are strictly required for all handheld portable radios. This document serves as Page 5 of the Incident Action Plan and was prepared by Communications Unit Leader B. Foster on November 02, 2026, at 16:00 hours. diff --git a/benchmark/datasets/narratives/ics205_5.txt b/benchmark/datasets/narratives/ics205_5.txt new file mode 100644 index 00000000..de01cf3f --- /dev/null +++ b/benchmark/datasets/narratives/ics205_5.txt @@ -0,0 +1,11 @@ +### Silverwood Reservoir Crude Oil Pipeline Rupture Incident Radio Communications Plan (ICS 205) + +The Incident Radio Communications Plan, designated as ICS 205 for the Silverwood Reservoir Crude Oil Pipeline Rupture incident under tracking number CalOES-EPA-R9-2026-0518, was prepared on May 18, 2026, at 16:00 hours. This communications blueprint governs basic radio channel assignments for Operational Period 1 (May 18, 2026, 18:00 hours through May 19, 2026, 06:00 hours). + +Basic radio channel allocations for this operational period are structured as follows: +1. Channel 1 (Zone Lake): Functioned for Command, channel name FIRE-CMD, assigned to Unified Command and Station 30. Operates on RX frequency 154.1500 N (Tone 146.2) and TX frequency 158.8500 N (Tone 146.2) in Analog mode (A), utilizing County Station 30 Repeater. +2. Channel 3 (Zone Lake): Functioned for Tactical operations, channel name MARINE-11, assigned to Reservoir Skimmer Fleet. Operates on RX frequency 156.5500 W (Tone None) and TX frequency 156.5500 W (Tone None) in Analog mode (A), using VHF Channel 11 Marine Simplex. +3. Channel 4 (Zone Lake): Functioned for Tactical operations, channel name PIPE-TAC, assigned to Canyon Pipeline Repair Group. Operates on RX frequency 462.5750 N (Tone D115) and TX frequency 467.5750 N (Tone D115) in Digital mode (D), linking Sawpit Canyon tactical operations. +4. Channel 5 (Zone Lake): Functioned for Support operations, channel name PARK-SUPP, assigned to State Parks & Water Intake Guard. Operates on RX frequency 151.4000 N (Tone 146.2) and TX frequency 151.4000 N (Tone 146.2) in Analog mode (A), maintaining communication with Mojave Water Agency and Park Rangers. + +Special instructions dictate that all marine vessels must maintain continuous watch on VHF Channel 11. Emergency Mayday calls will be monitored by Command on Channel 1. This document serves as Page 5 of the Incident Action Plan and was prepared by Communications Unit Leader Sgt. R. Hall on May 18, 2026, at 16:00 hours. diff --git a/benchmark/datasets/narratives/ics205a_1.txt b/benchmark/datasets/narratives/ics205a_1.txt new file mode 100644 index 00000000..84517d38 --- /dev/null +++ b/benchmark/datasets/narratives/ics205a_1.txt @@ -0,0 +1,14 @@ +### Whispering Pines Derailment Communications List (ICS 205A) + +The Communications List, designated as ICS 205A for the Whispering Pines Derailment incident under tracking number US-EPA-R4-2026-0707, functions as the primary incident contact directory for Operational Period 1 (July 07, 2026, 18:00 hours through July 08, 2026, 06:00 hours). + +Basic local communications contact methods for assigned incident leadership are established as follows: +1. Position: Incident Commander (County Fire), Name: Chief J. Thomas, Contact Methods: Cell: 555-0101 / Radio Ch 1 / Vehicle: FIRE-CMD-1. +2. Position: Co-Incident Commander (State DEQ), Name: S. Albright, Contact Methods: Cell: 555-0102 / Radio Ch 1. +3. Position: Co-Incident Commander (CSX RP), Name: D. Miller, Contact Methods: Cell: 555-0103 / Radio Ch 1. +4. Position: Safety Officer, Name: Captain R. Mendez, Contact Methods: Cell: 555-0177 / Radio Ch 1 & 4. +5. Position: Operations Section Chief, Name: B. Reynolds, Contact Methods: Cell: 555-0192 / Radio Ch 1. +6. Position: Hazmat Branch Director, Name: Lt. T. Kincaid, Contact Methods: Cell: 555-0144 / Radio Ch 3 & 4 / Vehicle: HZM-01. +7. Position: Planning Section Chief, Name: Marcus Vance, Contact Methods: Cell: 555-0150 / CP Desk Ext: 104. + +This administrative contact directory serves as Page 6 of the Incident Action Plan package and was prepared by Communications Unit Leader R. Lee on July 07, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics205a_2.txt b/benchmark/datasets/narratives/ics205a_2.txt new file mode 100644 index 00000000..e7e74cca --- /dev/null +++ b/benchmark/datasets/narratives/ics205a_2.txt @@ -0,0 +1,14 @@ +### Blackwood Chemical Pipeline Breach Communications List (ICS 205A) + +The Communications List, designated as ICS 205A for the Blackwood Chemical Pipeline Breach incident under tracking number US-EPA-R5-2026-0813, functions as the primary incident contact directory for Operational Period 1 (August 13, 2026, 18:00 hours through August 14, 2026, 06:00 hours). + +Basic local communications contact methods for assigned incident leadership are established as follows: +1. Position: Incident Commander (Fire), Name: Chief R. Vance, Contact Methods: Cell: 555-0201 / Radio Ch 1. +2. Position: Incident Commander (State EPA), Name: Officer M. Ross, Contact Methods: Cell: 555-0202 / Radio Ch 1. +3. Position: Safety Officer, Name: Captain L. Hayes, Contact Methods: Cell: 555-0288 / Radio Ch 1. +4. Position: Operations Section Chief, Name: D. Kowalski, Contact Methods: Cell: 555-0210 / Radio Ch 1. +5. Position: Pipeline Branch Director, Name: Capt. Donald Kross, Contact Methods: Cell: 555-0233 / Radio Ch 2 / Vehicle: HAZ-1. +6. Position: Entry Group Supervisor, Name: Lt. R. Mendez, Contact Methods: Cell: 555-0255 / Radio Ch 3 / Vehicle: HZM-05. +7. Position: Planning Section Chief, Name: Sarah L. Jenkins, Contact Methods: Cell: 555-0250 / CP Ext: 201. + +This administrative contact directory serves as Page 6 of the Incident Action Plan package and was prepared by Communications Unit Leader K. Albright on August 13, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics205a_3.txt b/benchmark/datasets/narratives/ics205a_3.txt new file mode 100644 index 00000000..e77a1467 --- /dev/null +++ b/benchmark/datasets/narratives/ics205a_3.txt @@ -0,0 +1,14 @@ +### Port of Houston Sulfuric Acid Tanker Leak Communications List (ICS 205A) + +The Communications List, designated as ICS 205A for the Port of Houston Sulfuric Acid Tanker Leak incident under tracking number USCG-EPA-R6-2026-1014, functions as the primary incident contact directory for Operational Period 1 (October 14, 2026, 07:00 hours through October 15, 2026, 19:00 hours). + +Basic local communications contact methods for assigned incident leadership are established as follows: +1. Position: USCG Unified Commander, Name: Captain H. Vance, Contact Methods: Cell: 555-0301 / VHF Ch 16 / Vessel: CG-45601. +2. Position: EPA Co-Incident Commander, Name: OSC M. Reynolds, Contact Methods: Cell: 555-0302 / Radio Ch 1. +3. Position: Safety Officer, Name: Commander Thomas Blake, Contact Methods: Cell: 555-0399 / VHF Ch 16. +4. Position: Operations Section Chief, Name: Battalion Chief A. Ross, Contact Methods: Cell: 555-0312 / VHF Ch 16. +5. Position: Vessel Salvage Branch Director, Name: Lt. J. Thorne, Contact Methods: Cell: 555-0344 / VHF Ch 11. +6. Position: Deck Entry Supervisor, Name: Lt. S. Baker, Contact Methods: Cell: 555-0366 / Radio Ch 4 / Vehicle: HZM-PORT-1. +7. Position: Planning Section Chief, Name: Commander Richard Croft, Contact Methods: Cell: 555-0350 / Sector Ext: 305. + +This administrative contact directory serves as Page 6 of the Incident Action Plan package and was prepared by Communications Unit Leader J. Myers on October 14, 2026, at 06:15 hours. diff --git a/benchmark/datasets/narratives/ics205a_4.txt b/benchmark/datasets/narratives/ics205a_4.txt new file mode 100644 index 00000000..fd6ef8ee --- /dev/null +++ b/benchmark/datasets/narratives/ics205a_4.txt @@ -0,0 +1,14 @@ +### Cascade Pass Chlorine Railcar Derailment Communications List (ICS 205A) + +The Communications List, designated as ICS 205A for the Cascade Pass Chlorine Railcar Derailment incident under tracking number NTSB-EPA-R10-2026-1102, functions as the primary incident contact directory for Operational Period 1 (November 02, 2026, 18:00 hours through November 03, 2026, 06:00 hours). + +Basic local communications contact methods for assigned incident leadership are established as follows: +1. Position: WSP Incident Commander, Name: Captain E. Miller, Contact Methods: Cell: 555-0401 / Radio Ch 1 / Unit: WSP-100. +2. Position: EPA R10 Co-Commander, Name: OSC R. Brooks, Contact Methods: Cell: 555-0402 / Radio Ch 1. +3. Position: Safety Officer, Name: Captain Marcus Vance, Contact Methods: Cell: 555-0488 / Radio Ch 1. +4. Position: Operations Section Chief, Name: Battalion Chief T. Higgins, Contact Methods: Cell: 555-0411 / Radio Ch 1. +5. Position: Hazmat Capping Branch Director, Name: Capt. P. Gomez, Contact Methods: Cell: 555-0433 / Radio Ch 2 & 3. +6. Position: Railcar Entry Supervisor, Name: Capt. D. Ross, Contact Methods: Cell: 555-0455 / Radio Ch 3 / Vehicle: HZM-33. +7. Position: Planning Section Chief, Name: Lt. Colonel Alan Vance, Contact Methods: Cell: 555-0450 / CP Desk: Gym-1. + +This administrative contact directory serves as Page 6 of the Incident Action Plan package and was prepared by Communications Unit Leader B. Foster on November 02, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics205a_5.txt b/benchmark/datasets/narratives/ics205a_5.txt new file mode 100644 index 00000000..bb34ddac --- /dev/null +++ b/benchmark/datasets/narratives/ics205a_5.txt @@ -0,0 +1,14 @@ +### Silverwood Reservoir Crude Oil Pipeline Rupture Communications List (ICS 205A) + +The Communications List, designated as ICS 205A for the Silverwood Reservoir Crude Oil Pipeline Rupture incident under tracking number CalOES-EPA-R9-2026-0518, functions as the primary incident contact directory for Operational Period 1 (May 18, 2026, 18:00 hours through May 19, 2026, 06:00 hours). + +Basic local communications contact methods for assigned incident leadership are established as follows: +1. Position: EPA R9 Incident Commander, Name: OSC C. Martinez, Contact Methods: Cell: 555-0501 / Radio Ch 1. +2. Position: SBCo Fire Incident Commander, Name: Chief M. Thorne, Contact Methods: Cell: 555-0502 / Radio Ch 1 / Vehicle: FIRE-SB-1. +3. Position: Safety Officer, Name: Captain Gregory Hall, Contact Methods: Cell: 555-0588 / Radio Ch 1. +4. Position: Operations Section Chief, Name: Battalion Chief Kevin Ross, Contact Methods: Cell: 555-0515 / Radio Ch 1. +5. Position: Marine Skimming Branch Director, Name: Captain B. Walsh, Contact Methods: Cell: 555-0535 / Radio Ch 3 (VHF 11) / Vessel: RV-LC-01. +6. Position: Canyon Repair Group Supervisor, Name: Lt. J. Thorne, Contact Methods: Cell: 555-0560 / Radio Ch 4 / Vehicle: CREW-04. +7. Position: Planning Section Chief, Name: Captain Rachel Brooks, Contact Methods: Cell: 555-0550 / CP Desk Ext: 403. + +This administrative contact directory serves as Page 6 of the Incident Action Plan package and was prepared by Communications Unit Leader Sgt. R. Hall on May 18, 2026, at 16:30 hours. diff --git a/benchmark/datasets/narratives/ics206_1.txt b/benchmark/datasets/narratives/ics206_1.txt new file mode 100644 index 00000000..7973f942 --- /dev/null +++ b/benchmark/datasets/narratives/ics206_1.txt @@ -0,0 +1,9 @@ +This Medical Plan applies to the Whispering Pines Derailment operational period starting 07/07/2026 at 18:00 and concluding 07/08/2026 at 06:00. Medical care and responder health monitoring are established across two primary medical aid stations. The Staging Area Alpha First Aid Station is located at Whispering Pines Creek Staging Area, maintaining contact via 462.5500 MHz / Ch 1, staffed with full paramedic service. The Forward Decon Medical Post is stationed at Derailment Site Perimeter West, communicating via 467.7750 MHz / Ch 2, also providing full paramedic service. + +Ground ambulance transportation services are provided by County Emergency Medical Services Unit 41, located at Whispering Pines Staging Area, reachable at (555) 234-8901 / Ch 1 with paramedic service available. Additionally, Pine Valley Volunteer Fire & Rescue Ambulance 12 is stationed at Station 12 Base, reachable at (555) 234-8902 / Ch 1, providing basic transport without paramedic service. Air ambulance transportation is supported by LifeFlight Air Medical Helicopter, stationed at Regional Trauma Center Helipad, reachable at (555) 999-4321 / VHF 155.340 MHz, with full paramedic service on board. + +Two regional hospital facilities are designated for medical receiving. Whispering Pines Regional Medical Center, located at 100 Medical Center Drive, Whispering Pines, 42.1234 N, 73.5678 W, can be contacted at (555) 789-0100 / Med Channel 3; this facility features an air ambulance helipad, is not a burn center, but is a certified trauma center. State University Burn & Trauma Center, located at 500 University Ave, Capital City, 42.3500 N, 73.8000 W, can be contacted at (555) 789-0900 / Med Channel 5; this facility features an air ambulance helipad, is a designated burn center, and is a certified trauma center. + +Special medical emergency procedures dictate that in the event of a medical emergency or chemical exposure during night operations, responders must immediately notify the Incident Commander and Medical Unit Leader over Command Channel 1. All entry personnel exposed to Benzene must undergo full gross and technical decontamination at the Forward Decon Medical Post before transport. For critical life safety, LifeFlight Air Medical is on standby for immediate evacuation from Landing Zone Alpha located adjacent to Staging Area Alpha. + +This document was prepared by Dr. Evelyn Reed, Medical Unit Leader, signed Evelyn Reed on 07/07/2026 16:30, and approved by Safety Officer Captain Thomas Wright, signed Thomas Wright on 07/07/2026 17:00. This form is assigned IAP Page Number 5. diff --git a/benchmark/datasets/narratives/ics206_2.txt b/benchmark/datasets/narratives/ics206_2.txt new file mode 100644 index 00000000..c26d63f2 --- /dev/null +++ b/benchmark/datasets/narratives/ics206_2.txt @@ -0,0 +1,9 @@ +This Medical Plan governs the Blackwood Chemical Pipeline Breach operational period starting 08/13/2026 at 18:00 and ending 08/14/2026 at 06:00. Emergency health oversight and responder medical monitoring are supported by two designated medical aid stations. The Blackwood Command Post Medical Station is located inside Station 12 Briefing Trailer, communicating over 453.2125 MHz / Ch 1, fully equipped with paramedic service. The Hot Zone Emergency Decon Aid Station is located at Pipeline Gate 4 Access Point, communicating over 458.2125 MHz / Ch 2, also providing paramedic service. + +Ground ambulance transportation services are operated by Blackwood County EMS Unit 10, stationed at Station 12 Staging Area, accessible via (555) 345-6789 / Ch 1 with paramedic service. Metro West Medic 5 is located at Route 104 Checkpoint, accessible via (555) 345-6790 / Ch 1, providing paramedic service. Air ambulance support is provided by AirEvac Response Helicopter 3, located at Blackwood Airport Helipad, reachable at (555) 888-1234 / VHF 155.400 MHz, staffed with paramedic service. + +Medical receiving facilities include two regional medical centers. Blackwood Community Hospital, located at 45 River Road, Blackwood, 39.8765 N, 84.1234 W, can be reached at (555) 678-1100 / Med Net 1; it features an air ambulance helipad, is not a burn center, but operates as a certified trauma center. Valley Regional Toxicology & Trauma Center, located at 1200 Health Park Way, Dayton, 39.7500 N, 84.2000 W, can be reached at (555) 678-9900 / Med Net 4; it features an air ambulance helipad, operates a specialized burn center, and is a certified trauma center. + +Special medical emergency procedures mandate that in the event of an acute respiratory exposure to Anhydrous Ammonia, responders must immediately evacuate the patient upwind to the Hot Zone Emergency Decon Aid Station at Gate 4. Continuous high-flow oxygen administration and eye/skin water irrigation must commence immediately during technical decon. AirEvac Response Helicopter 3 is available at LZ Bravo near Gate 4 for rapid transfer to Valley Regional Toxicology Center. + +Prepared by Dr. Aris Thorne, Medical Unit Leader, signed Aris Thorne on 08/13/2026 16:30, and approved by Safety Officer Mark Davis, signed Mark Davis on 08/13/2026 17:15. Form assigned IAP Page Number 5. diff --git a/benchmark/datasets/narratives/ics206_3.txt b/benchmark/datasets/narratives/ics206_3.txt new file mode 100644 index 00000000..d94908d3 --- /dev/null +++ b/benchmark/datasets/narratives/ics206_3.txt @@ -0,0 +1,9 @@ +This Medical Plan governs the Port of Houston Sulfuric Acid Tanker Leak operational period starting 10/14/2026 at 07:00 and concluding 10/15/2026 at 19:00. On-site responder health evaluation and emergency care are administered by two primary medical aid stations. The Berth 42 Decon & Medical Station is located at Berth 42 Dockside Command Post, communicating over 156.800 MHz / Ch 16, offering full paramedic service. The M/T Stolt Synergy Deck Medical Post is located at Vessel Starboard Main Deck, communicating over 467.525 MHz / Ch 3, also staffed with paramedic service. + +Ground ambulance transportation services are provided by Houston Fire Department Medic 42, stationed at Port Gate 5 Security Staging, reachable at (555) 456-7890 / Ch 1 with paramedic service. Harris County Emergency Corps Unit 18 is located at Channelview Staging Area, reachable at (555) 456-7891 / Ch 1, providing paramedic service. Air ambulance transport is supported by Memorial Hermann Life Flight, located at Houston Medical Center Helipad, accessible at (555) 777-9111 / VHF 155.280 MHz, offering advanced paramedic service. + +Two specialized medical receiving facilities are designated for transport. Houston Methodist Hospital Baytown, located at 4401 Garth Road, Baytown, 29.7355 N, 94.9774 W, can be contacted at (555) 890-2200 / Marine Channel 22; this facility has an air ambulance helipad, is not a burn center, but is a certified trauma center. Memorial Hermann Texas Medical Center, located at 6411 Fannin St, Houston, 29.7108 N, 95.3986 W, can be contacted at (555) 890-9900 / Marine Channel 24; this facility features an air ambulance helipad, operates a specialized burn center, and is a certified trauma center. + +Special medical emergency procedures dictate that given high ambient heat and humidity during Level A chemical suit entry, responder entry times are strictly capped at 20 minutes followed by 40 minutes active cooling and hydration. In the event of chemical acid splashes or suit breaches, perform instant water deluge at the Berth 42 Decon Station for a minimum of 15 minutes. Memorial Hermann Life Flight is designated for critical chemical burn transport from Berth 42 Pier Helipad. + +Prepared by LT Commander James Miller, Medical Unit Leader, signed James Miller on 10/14/2026 06:00, and approved by Safety Officer Sarah Jenkins, signed Sarah Jenkins on 10/14/2026 06:30. Assigned IAP Page Number 5. diff --git a/benchmark/datasets/narratives/ics206_4.txt b/benchmark/datasets/narratives/ics206_4.txt new file mode 100644 index 00000000..81da8106 --- /dev/null +++ b/benchmark/datasets/narratives/ics206_4.txt @@ -0,0 +1,9 @@ +This Medical Plan applies to the Cascade Pass Chlorine Railcar Derailment operational period starting 11/02/2026 at 18:00 and concluding 11/03/2026 at 06:00. On-scene emergency medical support and responder health protection are maintained by two medical aid stations. The Staging Area Charlie Medical Station is located at Skykomish School Gym Briefing Room, communicating on 461.2250 MHz / Ch 1, providing full paramedic service. The Warm Decon Hydration & Medical Aid Station is located at State Route 2 Derailment Overlook, communicating on 466.2250 MHz / Ch 2, also providing paramedic service. + +Ground ambulance transportation is supplied by Cascade Regional EMS Medic 3, located at Staging Area Charlie, reachable via (555) 567-8901 / Ch 1 with paramedic service. Skykomish Volunteer Fire Department Ambulance 8 is located at Skykomish Fire Station, reachable via (555) 567-8902 / Ch 1, providing transport without paramedic service. Air ambulance transport is assigned to Airlift Northwest Helicopter 1, stationed at Arlington Regional Helipad, reachable at (555) 666-5432 / VHF 155.355 MHz, equipped with paramedic service. + +Medical care facilities receiving incident transport include two regional centers. Everett General Hospital, located at 1330 Colby Ave, Everett, 47.9789 N, 122.2012 W, can be contacted at (555) 901-3300 / State EMS Ch 4; this hospital has an air ambulance helipad, is not a burn center, but is a certified trauma center. Harborview Medical Center, located at 325 9th Ave, Seattle, 47.6042 N, 122.3242 W, can be contacted at (555) 901-9900 / State EMS Ch 8; this hospital features an air ambulance helipad, operates a specialized burn center, and is a certified trauma center. + +Special medical emergency procedures mandate that under freezing night conditions (28°F overnight) and toxic Chlorine threat, heated water decontamination trailers and active warming blankets must be operated continuously at the Warm Decon Station to prevent suit icing and hypothermia. Any exposure to Chlorine vapor requires immediate inhalation treatment with humidified oxygen and urgent transport to Harborview Medical Center. Airlift Northwest Helicopter 1 is positioned at Skykomish High School Football Field LZ. + +Prepared by Captain David Miller, Medical Unit Leader, signed David Miller on 11/02/2026 16:30, and approved by Safety Officer Carl Stevens, signed Carl Stevens on 11/02/2026 17:15. Form assigned IAP Page Number 5. diff --git a/benchmark/datasets/narratives/ics206_5.txt b/benchmark/datasets/narratives/ics206_5.txt new file mode 100644 index 00000000..07e14fca --- /dev/null +++ b/benchmark/datasets/narratives/ics206_5.txt @@ -0,0 +1,9 @@ +This Medical Plan governs the Silverwood Reservoir Crude Oil Pipeline Rupture operational period starting 05/18/2026 at 18:00 and concluding 05/19/2026 at 06:00. On-scene emergency medical support and responder health protection are maintained by two medical aid stations. The ICP Main Medical Station is located at Hesperia Fire Station 30, communicating on 460.1250 MHz / Ch 1, providing full paramedic service. The Sawpit Canyon Water Rescue & Medical Aid Station is located at Sawpit Canyon Boat Launch, communicating on 465.1250 MHz / Ch 2, also providing paramedic service. + +Ground ambulance transportation is supplied by San Bernardino County Fire Medic 30, located at Hesperia Fire Station 30, reachable via (555) 678-9012 / Ch 1 with paramedic service. Desert Ambulance Unit 14 is located at Silverwood Lake Main Entrance, reachable via (555) 678-9013 / Ch 1, providing transport without paramedic service. Air ambulance transport is assigned to Mercy Air Helicopter 2, stationed at Victorville Regional Airport Helipad, reachable at (555) 444-8765 / VHF 155.340 MHz, equipped with paramedic service. + +Medical care facilities receiving incident transport include two regional centers. Desert Valley Hospital, located at 16850 Bear Valley Rd, Victorville, 34.4712 N, 117.2954 W, can be contacted at (555) 012-4400 / County Med Net 2; this hospital has an air ambulance helipad, is not a burn center, but is a certified trauma center. Loma Linda University Medical Center, located at 11234 Anderson St, Loma Linda, 34.0489 N, 117.2641 W, can be contacted at (555) 012-9900 / County Med Net 9; this hospital features an air ambulance helipad, operates a specialized burn center, and is a certified trauma center. + +Special medical emergency procedures mandate that night operations on water present dual risks of hydrocarbon skin absorption/ingestion and water submersion. All personnel operating on skimmer vessels or boom lines must wear USCG-approved PFDs and safety tether lines. In case of accidental water entry or oil ingestion, immediately transport the patient to Sawpit Canyon Water Rescue Medical Aid Station for emergency decon and airway management. Mercy Air Helicopter 2 is on standby at Hesperia Fire Station 30 Helipad. + +Prepared by Dr. Lisa Martinez, Medical Unit Leader, signed Lisa Martinez on 05/18/2026 16:30, and approved by Safety Officer Frank Owens, signed Frank Owens on 05/18/2026 17:00. Form assigned IAP Page Number 5. diff --git a/benchmark/datasets/narratives/ics207_1.txt b/benchmark/datasets/narratives/ics207_1.txt new file mode 100644 index 00000000..86cb317e --- /dev/null +++ b/benchmark/datasets/narratives/ics207_1.txt @@ -0,0 +1,11 @@ +This Incident Organization Chart briefing applies to the Whispering Pines Derailment operational period starting 07/07/2026 at 18:00 and concluding 07/08/2026 at 06:00. Unified Command leadership is held by Incident Commanders Chief J. Thomas (County Fire), S. Albright (State DEQ), and D. Miller (CSX Railroad RP). The Command Staff consists of Safety Officer Captain R. Mendez, Public Information Officer A. Cho (County OEM), and Liaison Officer Inspector G. Sims (SO). + +The Operations Section is directed by Operations Section Chief B. Reynolds, with Staging Area Alpha Manager stationed at the County Fairgrounds. Operational elements under Operations include Hazardous Materials Branch Director Lt. T. Kincaid, Hazmat Entry Group Supervisor Capt. P. Gomez, Decontamination Group Supervisor Lt. S. Baker, and Fire Suppression Branch Director Batt. Chief E. Walters. + +The Planning Section is led by Planning Section Chief Marcus Vance, supported by Resources Unit Leader T. Jenkins, Situation Unit Leader E. Brooks, Documentation Unit Leader H. Martinez, and Demobilization Unit Leader R. Sterling. + +The Logistics Section is headed by Logistics Section Chief K. Dunavan. Under the Support Branch, managed by Director J. Myers, key units include Supply Unit Leader S. Taylor, Facilities Unit Leader C. Adams, and Ground Support Unit Leader M. Evans. Under the Service Branch, managed by Director B. Foster, unit leads are Communications Unit Leader R. Lee, Medical Unit Leader Dr. N. Howard, and Food Unit Leader L. King. + +The Finance/Administration Section is directed by Finance/Admin Section Chief Robert Sterling, supervising Time Unit Leader C. White, Procurement Unit Leader G. Scott, Comp/Claims Unit Leader E. Green, and Cost Unit Leader W. Harris. + +This organization chart was prepared by T. Jenkins, Resources Unit Leader, signed T. Jenkins on 07/07/2026 16:30. Form assigned IAP Page Number 4. diff --git a/benchmark/datasets/narratives/ics207_2.txt b/benchmark/datasets/narratives/ics207_2.txt new file mode 100644 index 00000000..ad79b233 --- /dev/null +++ b/benchmark/datasets/narratives/ics207_2.txt @@ -0,0 +1,11 @@ +This Incident Organization Chart briefing covers the Blackwood Chemical Pipeline Breach operational period starting 08/13/2026 at 18:00 and concluding 08/14/2026 at 06:00. Unified Command leadership is staffed by Incident Commanders Chief R. Vance (Blackwood Fire Dept), Officer M. Ross (State EPA), and J. Vance (Blackwood Pipeline Co. RP). Command Staff includes Safety Officer Captain L. Hayes, Public Information Officer E. Wright, and Liaison Officer Deputy K. Miller. + +The Operations Section is directed by Operations Section Chief D. Kowalski, alongside Staging Area Bravo Manager. Key field leaders under Operations include Pipeline Isolation Branch Director Capt. Donald Kross, Hot Zone Entry Group Supervisor Lt. R. Mendez, Vapor Suppression Group Supervisor Capt. A. Ross, and River Spill Containment Branch Director Commander Thomas Blake. + +The Planning Section is led by Planning Section Chief Sarah L. Jenkins, with Resources Unit Leader A. Patel, Situation Unit Leader C. Webb, Documentation Unit Leader Dr. H. Thorne, and Demobilization Unit Leader M. Brody. + +The Logistics Section is headed by Logistics Section Chief T. Bradley. The Support Branch, managed by Director G. Kross, consists of Supply Unit Leader H. Lin, Facilities Unit Leader R. Sterling, and Ground Support Unit Leader D. Miller. The Service Branch, managed by Director S. Norris, comprises Communications Unit Leader K. Albright, Medical Unit Leader Dr. T. Vance, and Food Unit Leader A. Cho. + +The Finance/Administration Section is directed by Finance/Admin Section Chief A. Patel, supervising Time Unit Leader J. Mercer, Procurement Unit Leader Laura Martinez, Comp/Claims Unit Leader Inspector R. Sterling, and Cost Unit Leader Sandra Keller. + +Prepared by A. Patel, Resources Unit Leader, signed A. Patel on 08/13/2026 16:30. Form assigned IAP Page Number 4. diff --git a/benchmark/datasets/narratives/ics207_3.txt b/benchmark/datasets/narratives/ics207_3.txt new file mode 100644 index 00000000..9ef2699b --- /dev/null +++ b/benchmark/datasets/narratives/ics207_3.txt @@ -0,0 +1,11 @@ +This Incident Organization Chart briefing applies to the Port of Houston Sulfuric Acid Tanker Leak operational period starting 10/14/2026 at 07:00 and concluding 10/15/2026 at 19:00. Unified Command leadership comprises Captain H. Vance (USCG Unified Command IC), OSC M. Reynolds (EPA Co-IC), Chief D. Garcia (Port Authority Fire IC), and K. Lindqvist (Stolt Tankers RP IC). The Command Staff consists of Safety Officer Commander Thomas Blake, Public Information Officer Laura Martinez (Port Authority), and Liaison Officer Inspector R. Sterling (TCEQ). + +The Operations Section is directed by Operations Section Chief Battalion Chief A. Ross, supported by Staging Area Bravo Manager at Jacintoport Terminal. Field branch and group leaders include Vessel Salvage & Entry Branch Director Lt. J. Thorne, Deck Neutralization Group Supervisor Lt. S. Baker, Manifold Isolation Team Supervisor Capt. D. Ross, and Ship Channel Protection Branch Director Capt. Donald Kross. + +The Planning Section is led by Planning Section Chief Commander Richard Croft, with Resources Unit Leader Dr. V. Patel, Situation Unit Leader Sandra Keller, Documentation Unit Leader Wayne Miller, and Demobilization Unit Leader Battalion Chief A. Ross. + +The Logistics Section is headed by Logistics Section Chief Sandra Keller. Under Support Branch Director Capt. H. Nelson, units are staffed by Supply Unit Leader C. White, Facilities Unit Leader G. Scott, and Ground Support Unit Leader E. Green. Under Service Branch Director W. Harris, unit leads are Communications Unit Leader J. Myers, Medical Unit Leader Dr. A. Chen, and Food Unit Leader S. Taylor. + +The Finance/Administration Section is directed by Finance/Admin Section Chief Wayne Miller, supervising Time Unit Leader C. Adams, Procurement Unit Leader M. Evans, Comp/Claims Unit Leader B. Foster, and Cost Unit Leader R. Lee. + +Prepared by Dr. V. Patel, Resources Unit Leader, signed Dr. V. Patel on 10/14/2026 06:00. Form assigned IAP Page Number 4. diff --git a/benchmark/datasets/narratives/ics207_4.txt b/benchmark/datasets/narratives/ics207_4.txt new file mode 100644 index 00000000..8262afe6 --- /dev/null +++ b/benchmark/datasets/narratives/ics207_4.txt @@ -0,0 +1,11 @@ +This Incident Organization Chart applies to the Cascade Pass Chlorine Railcar Derailment operational period starting 11/02/2026 at 18:00 and concluding 11/03/2026 at 06:00. Unified Command leadership is held by Incident Commanders Captain E. Miller (WSP Unified Command IC), OSC R. Brooks (EPA R10 Co-IC), Chief D. Olson (Skykomish Fire IC), and M. Campbell (BNSF Railway RP IC). Command Staff includes Safety Officer Captain Marcus Vance, Public Information Officer Jennifer Hayes (WSDOT), and Liaison Officer Deputy S. Kowalski (KCSO). + +The Operations Section is directed by Operations Section Chief Battalion Chief T. Higgins, with Staging Area Charlie Manager at Stevens Pass Yard. Tactical leadership positions include Hazmat Capping Branch Director Capt. P. Gomez, Railcar Entry Group 1 Supervisor Capt. D. Ross, Decontamination Group Supervisor Lt. M. Turner, and Evacuation & Security Branch Director Sgt. H. Lin. + +The Planning Section is led by Planning Section Chief Lt. Colonel Alan Vance, supported by Resources Unit Leader Patricia Ross, Situation Unit Leader Battalion Chief T. Higgins, Documentation Unit Leader Sgt. H. Lin, and Demobilization Unit Leader G. Peterson. + +The Logistics Section is headed by Logistics Section Chief David Sterling. Support Branch Director L. King oversees Supply Unit Leader J. Myers, Facilities Unit Leader S. Taylor, and Ground Support Unit Leader C. Adams. Service Branch Director M. Evans oversees Communications Unit Leader B. Foster, Medical Unit Leader Dr. N. Howard, and Food Unit Leader R. Lee. + +The Finance/Administration Section is directed by Finance/Admin Section Chief Patricia Ross, managing Time Unit Leader W. Harris, Procurement Unit Leader C. White, Comp/Claims Unit Leader G. Scott, and Cost Unit Leader E. Green. + +Prepared by Patricia Ross, Resources Unit Leader, signed Patricia Ross on 11/02/2026 16:30. Form assigned IAP Page Number 4. diff --git a/benchmark/datasets/narratives/ics207_5.txt b/benchmark/datasets/narratives/ics207_5.txt new file mode 100644 index 00000000..b4f9b25b --- /dev/null +++ b/benchmark/datasets/narratives/ics207_5.txt @@ -0,0 +1,11 @@ +This Incident Organization Chart briefing governs the Silverwood Reservoir Crude Oil Pipeline Rupture operational period starting 05/18/2026 at 18:00 and concluding 05/19/2026 at 06:00. Unified Command leadership comprises Incident Commanders OSC C. Martinez (EPA R9 Co-IC), Chief M. Thorne (SBCo Fire IC), Chief Inspector A. Kim (Cal OES), and W. Vance (Pipeline RP IC). The Command Staff consists of Safety Officer Captain Gregory Hall, Public Information Officer Samantha Norris (Cal OES), and Liaison Officer Ranger D. Stevens (State Parks). + +The Operations Section is directed by Operations Section Chief Battalion Chief Kevin Ross, supported by Staging Area Delta Manager. Operational group leads include Canyon Pipeline Repair Branch Director Capt. Gregory Hall, Clamp Repair Group Supervisor Capt. A. Ross, Reservoir Skimming & Booming Branch Director Captain B. Walsh, and South Arm Skimmer Division Supervisor Capt. B. Walsh. + +The Planning Section is led by Planning Section Chief Captain Rachel Brooks, with Resources Unit Leader Jason Wu, Situation Unit Leader Battalion Chief Kevin Ross, Documentation Unit Leader Dr. L. Arispe, and Demobilization Unit Leader Captain B. Walsh. + +The Logistics Section is headed by Logistics Section Chief Megan Taylor. Under Support Branch Director Capt. P. Gomez, unit leads are Supply Unit Leader Lt. S. Baker, Facilities Unit Leader Capt. D. Ross, and Ground Support Unit Leader Lt. M. Turner. Under Service Branch Director Capt. H. Nelson, unit leads are Communications Unit Leader Sgt. R. Hall, Medical Unit Leader Dr. N. Howard, and Food Unit Leader L. King. + +The Finance/Administration Section is directed by Finance/Admin Section Chief Jason Wu, supervising Time Unit Leader J. Myers, Procurement Unit Leader S. Taylor, Comp/Claims Unit Leader C. Adams, and Cost Unit Leader M. Evans. + +Prepared by Jason Wu, Resources Unit Leader, signed Jason Wu on 05/18/2026 16:30. Form assigned IAP Page Number 4. diff --git a/benchmark/datasets/narratives/ics208_1.txt b/benchmark/datasets/narratives/ics208_1.txt new file mode 100644 index 00000000..8c0c6d74 --- /dev/null +++ b/benchmark/datasets/narratives/ics208_1.txt @@ -0,0 +1,7 @@ +This Safety Message and Plan (ICS 208) applies to the Whispering Pines Derailment operational period starting 07/07/2026 at 18:00 and concluding 07/08/2026 at 06:00. + +The primary safety message directs entry teams to place primary tactical focus on air-monitoring metrics and localized vapor suppression, particularly during the transition into night-shift hours when atmospheric inversion layers can trap Benzene vapors closer to the ground. Mandate Level B SCBA PPE within the 300-foot exclusion zone. Mandatory buddy system and continuous photoionization detector air monitoring required for all entry crews along creek banks. + +A site safety plan is required for this incident (true). The approved Site Safety Plan is located at Mobile Command Post inside the Forward Operations Briefing Trailer. + +This form was prepared by Captain R. Mendez, Safety Officer, signed R. Mendez on date and time 07/07/2026 16:30. Form assigned IAP Page Number 6. diff --git a/benchmark/datasets/narratives/ics208_2.txt b/benchmark/datasets/narratives/ics208_2.txt new file mode 100644 index 00000000..a297c3b7 --- /dev/null +++ b/benchmark/datasets/narratives/ics208_2.txt @@ -0,0 +1,7 @@ +This Safety Message and Plan (ICS 208) covers the Blackwood Chemical Pipeline Breach operational period starting 08/13/2026 at 18:00 and ending 08/14/2026 at 06:00. + +The safety message mandates: Focus tactical operations on maintaining river boom integrity under rising night tides and ensuring strict atmospheric air monitoring during the overnight temperature drop when Anhydrous Ammonia vapors hug low ground. SCBA Level B PPE is mandatory within the 500-foot exclusion zone. Vigilance required for reduced visibility, riverbank slip hazards, and toxic vapor pockets. + +A site safety plan is required for this incident (true). The approved Site Safety Plan is located at Mobile Command Post Briefing Trailer at Station 12. + +This document was prepared by Captain L. Hayes, Safety Officer, signed L. Hayes on date and time 08/13/2026 16:30. Form assigned IAP Page Number 6. diff --git a/benchmark/datasets/narratives/ics208_3.txt b/benchmark/datasets/narratives/ics208_3.txt new file mode 100644 index 00000000..ac9fa901 --- /dev/null +++ b/benchmark/datasets/narratives/ics208_3.txt @@ -0,0 +1,7 @@ +This Safety Message and Plan (ICS 208) governs the Port of Houston Sulfuric Acid Tanker Leak operational period starting 10/14/2026 at 07:00 and concluding 10/15/2026 at 19:00. + +The safety directive dictates: Primary tactical focus is placed on safe chemical neutralization and pH stabilization in the ship channel water column. Mandatory Level A chemical suit entry procedures enforced for all vessel deck operations. Due to extreme daytime heat (88°F, 78% humidity), entry work cycles are capped at 20 minutes active entry followed by 40 minutes active hydration and cooling. + +A site safety plan is required for this incident (true). The approved Site Safety Plan is located at USCG Sector Houston Command Center Safety Office. + +Prepared by Commander Thomas Blake, Safety Officer, signed Thomas Blake on date and time 10/14/2026 06:00. Form assigned IAP Page Number 6. diff --git a/benchmark/datasets/narratives/ics208_4.txt b/benchmark/datasets/narratives/ics208_4.txt new file mode 100644 index 00000000..154fe178 --- /dev/null +++ b/benchmark/datasets/narratives/ics208_4.txt @@ -0,0 +1,7 @@ +This Safety Message and Plan (ICS 208) applies to the Cascade Pass Chlorine Railcar Derailment operational period starting 11/02/2026 at 18:00 and concluding 11/03/2026 at 06:00. + +The safety message emphasizes: Command emphasizes absolute safety of capping entry teams working under nighttime freezing conditions (28°F overnight). Enforce mandatory Level A PPE compliance and buddy system protocols. Heated decontamination water and warm hydration must be maintained continuously to prevent suit icing and hypothermia. + +A site safety plan is required for this incident (true). The approved Site Safety Plan is located at Skykomish School Gym Operations Briefing Room. + +Prepared by Captain Marcus Vance, Safety Officer, signed Marcus Vance on date and time 11/02/2026 16:30. Form assigned IAP Page Number 6. diff --git a/benchmark/datasets/narratives/ics208_5.txt b/benchmark/datasets/narratives/ics208_5.txt new file mode 100644 index 00000000..a8551d89 --- /dev/null +++ b/benchmark/datasets/narratives/ics208_5.txt @@ -0,0 +1,7 @@ +This Safety Message and Plan (ICS 208) governs the Silverwood Reservoir Crude Oil Pipeline Rupture operational period starting 05/18/2026 at 18:00 and concluding 05/19/2026 at 06:00. + +The safety directive states: Focus tactical priority on preventing any oil migration toward the municipal water intake. Night skimming operations must maintain illuminated safety perimeters and 100% life-vest compliance at all times. High vigilance required for steep, oil-covered riprap banks and wildlife hazards. + +A site safety plan is required for this incident (true). The approved Site Safety Plan is located at Incident Command Post at Hesperia Fire Station 30. + +Prepared by Captain Gregory Hall, Safety Officer, signed Gregory Hall on date and time 05/18/2026 16:30. Form assigned IAP Page Number 6. diff --git a/benchmark/datasets/narratives/ics213_1.txt b/benchmark/datasets/narratives/ics213_1.txt new file mode 100644 index 00000000..ecf8a133 --- /dev/null +++ b/benchmark/datasets/narratives/ics213_1.txt @@ -0,0 +1,5 @@ +This General Message form applies to the Whispering Pines Derailment incident. The message is addressed to Marcus Vance, Planning Section Chief, sent from Commander Eric Sterling, Operations Section Chief, regarding the subject Request for Additional Vapor Suppression Foam and Boom Resources. The message was recorded on date 07/07/2026 at time 19:15. + +The message reads as follows: Due to increased ambient vapor concentrations of Benzene detected downwind along Whispering Pines Creek, Operations urgently requests five additional totes (1,250 gallons) of fluoroprotein vapor suppression foam and 500 feet of sorbent boom to reinforce Checkpoint Bravo before 22:00 hours. The message was approved by Chief J. Thomas, Incident Commander, signed Chief J. Thomas. + +The formal reply states: Supply Unit has authorized immediate dispatch of five totes of foam and 500 feet of sorbent boom from Regional Logistics Depot. ETA to Staging Area Alpha is 21:00 hours. The reply was submitted by Marcus Vance, Planning Section Chief, signed Marcus Vance on date and time 07/07/2026 19:45. diff --git a/benchmark/datasets/narratives/ics213_2.txt b/benchmark/datasets/narratives/ics213_2.txt new file mode 100644 index 00000000..c2041b44 --- /dev/null +++ b/benchmark/datasets/narratives/ics213_2.txt @@ -0,0 +1,5 @@ +This General Message document is prepared for the Blackwood Chemical Pipeline Breach incident. The message is directed to Sarah L. Jenkins, Planning Section Chief, from Division Supervisor Alan Cole, Division A Supervisor, regarding the subject Downstream Municipal Water Intake Precautionary Shutoff Notice. The message was transmitted on date 08/13/2026 at time 19:30. + +The message content specifies: Field water monitoring team at Boom Site 2 reports low-level dissolved ammonia readings reaching 0.05 ppm near Blackwood River mile 14. Recommend immediately notifying Blackwood Water Authority to initiate precautionary intake gate closure. Approval was granted by Chief R. Henderson, Incident Commander, signed Chief R. Henderson. + +The message reply states: Liaison Officer contacted Blackwood Water Authority at 19:50 hours. Water intake gates closed at 20:00 hours. Alternate reservoir supply activated. The reply was signed and completed by Sarah L. Jenkins, Planning Section Chief, signed Sarah L. Jenkins on date and time 08/13/2026 20:10. diff --git a/benchmark/datasets/narratives/ics213_3.txt b/benchmark/datasets/narratives/ics213_3.txt new file mode 100644 index 00000000..d3d788aa --- /dev/null +++ b/benchmark/datasets/narratives/ics213_3.txt @@ -0,0 +1,5 @@ +This General Message covers the Port of Houston Sulfuric Acid Tanker Leak response. The message is sent to Commander Richard Croft, Planning Section Chief, from Hazmat Group Supervisor Mark Ross, Hazmat Group Supervisor, regarding subject Authorization for Sodium Bicarbonate Neutralization Slurry Application. Sent on date 10/14/2026 at time 08:45. + +The message details: Hazmat entry team has contained deck pooling at Berth 42. Request formal authorization from UC to apply 10 tons of dry sodium bicarbonate slurry to deck pooling to neutralize concentrated sulfuric acid prior to washdown. Approved by Captain H. Vance, Incident Commander, signed Captain H. Vance. + +The message reply states: Unified Command approves application of 10 tons sodium bicarbonate slurry. Technical Specialists from TCEQ are monitoring runoff pH at Berth 42 outfall. The response was authorized by Commander Richard Croft, Planning Section Chief, signed Richard Croft on date and time 10/14/2026 09:15. diff --git a/benchmark/datasets/narratives/ics213_4.txt b/benchmark/datasets/narratives/ics213_4.txt new file mode 100644 index 00000000..f2d3237d --- /dev/null +++ b/benchmark/datasets/narratives/ics213_4.txt @@ -0,0 +1,5 @@ +This General Message is filed for the Cascade Pass Chlorine Railcar Derailment incident. Addressed to Lt. Colonel Alan Vance, Planning Section Chief, sent from Rail Tactical Specialist George Miller, Technical Specialist, regarding the subject Urgent Transport Request for Emergency B-Kit Capping Assembly. Sent on date 11/02/2026 at time 19:00. + +The message states: Capping team at car BNSF-77402 requires specialized torque wrench set and secondary seal gaskets for Emergency B-Kit capping assembly. Request immediate dispatch from Staging Area Charlie via all-terrain vehicle. Approved by Captain E. Miller, Incident Commander, signed Captain E. Miller. + +The reply text reads: Ground Support Unit dispatched ATV-02 with requested torque wrench set and B-Kit gaskets at 19:20 hours. ETA to railcar site is 19:45 hours. Signed by Lt. Colonel Alan Vance, Planning Section Chief, signed Alan Vance on date and time 11/02/2026 19:30. diff --git a/benchmark/datasets/narratives/ics213_5.txt b/benchmark/datasets/narratives/ics213_5.txt new file mode 100644 index 00000000..34c0713a --- /dev/null +++ b/benchmark/datasets/narratives/ics213_5.txt @@ -0,0 +1,5 @@ +This General Message document concerns the Silverwood Reservoir Crude Oil Pipeline Rupture incident. The message is sent to Rachel Brooks, Planning Section Chief, from Skimmer Operations Leader Frank Gomez, Operations Group Supervisor, regarding the subject Skimmer Vessel Relocation and Sorbent Boom Realignment. Prepared on date 05/18/2026 at time 20:00. + +The message content reads: Due to shifts in surface currents toward Sawpit Canyon inlet, requesting authorization to reposition Skimmer Vessel RV-LC-01 to South Arm and deploy an additional 500 feet of hard containment boom by 22:00 hours. The message was approved by Chief M. Thorne, Incident Commander, signed Chief M. Thorne. + +The message reply states: Operations Chief approves relocation of RV-LC-01 and deployment of 500 feet hard boom. Work Boat 3 assigned to assist boom rigging. The reply was executed by Rachel Brooks, Planning Section Chief, signed Rachel Brooks on date and time 05/18/2026 20:30. diff --git a/benchmark/datasets/pdfs/ics_201.pdf b/benchmark/datasets/pdfs/ics_201.pdf new file mode 100644 index 00000000..fe26bef5 Binary files /dev/null and b/benchmark/datasets/pdfs/ics_201.pdf differ diff --git a/benchmark/datasets/pdfs/ics_202.pdf b/benchmark/datasets/pdfs/ics_202.pdf new file mode 100644 index 00000000..3aa02ebc Binary files /dev/null and b/benchmark/datasets/pdfs/ics_202.pdf differ diff --git a/benchmark/datasets/pdfs/ics_203.pdf b/benchmark/datasets/pdfs/ics_203.pdf new file mode 100644 index 00000000..b813e257 Binary files /dev/null and b/benchmark/datasets/pdfs/ics_203.pdf differ diff --git a/benchmark/datasets/pdfs/ics_204.pdf b/benchmark/datasets/pdfs/ics_204.pdf new file mode 100644 index 00000000..9444ca76 Binary files /dev/null and b/benchmark/datasets/pdfs/ics_204.pdf differ diff --git a/benchmark/datasets/pdfs/ics_205.pdf b/benchmark/datasets/pdfs/ics_205.pdf new file mode 100644 index 00000000..9fcd321d Binary files /dev/null and b/benchmark/datasets/pdfs/ics_205.pdf differ diff --git a/benchmark/datasets/pdfs/ics_205a.pdf b/benchmark/datasets/pdfs/ics_205a.pdf new file mode 100644 index 00000000..f175338f Binary files /dev/null and b/benchmark/datasets/pdfs/ics_205a.pdf differ diff --git a/benchmark/datasets/pdfs/ics_206.pdf b/benchmark/datasets/pdfs/ics_206.pdf new file mode 100644 index 00000000..885aa89b Binary files /dev/null and b/benchmark/datasets/pdfs/ics_206.pdf differ diff --git a/benchmark/datasets/pdfs/ics_207.pdf b/benchmark/datasets/pdfs/ics_207.pdf new file mode 100644 index 00000000..b39f64f5 Binary files /dev/null and b/benchmark/datasets/pdfs/ics_207.pdf differ diff --git a/benchmark/datasets/pdfs/ics_208.pdf b/benchmark/datasets/pdfs/ics_208.pdf new file mode 100644 index 00000000..362cbb4e Binary files /dev/null and b/benchmark/datasets/pdfs/ics_208.pdf differ diff --git a/benchmark/datasets/pdfs/ics_213.pdf b/benchmark/datasets/pdfs/ics_213.pdf new file mode 100644 index 00000000..6fccb255 Binary files /dev/null and b/benchmark/datasets/pdfs/ics_213.pdf differ diff --git a/benchmark/datasets/templates/ics_201.json b/benchmark/datasets/templates/ics_201.json new file mode 100644 index 00000000..f308358c --- /dev/null +++ b/benchmark/datasets/templates/ics_201.json @@ -0,0 +1,62 @@ +{ + "1_incident_name": "string", + "2_incident_number": "string", + "3_date_time_initiated": { + "date": "string", + "time": "string" + }, + "4_map_sketch": { + "total_area_of_operations": "string", + "incident_site_area": "string", + "impacted_areas": "string", + "threatened_areas": "string", + "overflight_results": "string", + "trajectories": "string", + "impacted_shorelines": "string", + "graphics_and_symbology": "string" + }, + "5_situation_summary_health_safety_briefing": { + "situation_summary": "string", + "health_and_safety_hazards": "string", + "necessary_measures": "string" + }, + "6_prepared_by": { + "name": "string", + "position_title": "string", + "signature": "string", + "date_time": "string" + }, + "7_current_and_planned_objectives": ["string"], + "8_current_and_planned_actions_strategies_tactics": [ + { + "time": "string", + "actions": "string" + } + ], + "9_current_organization": { + "incident_commanders": ["string"], + "safety_officer": "string", + "public_information_officer": "string", + "liaison_officer": "string", + "operations_section_chief": "string", + "planning_section_chief": "string", + "logistics_section_chief": "string", + "finance_administration_section_chief": "string", + "additional_positions": [ + { + "position": "string", + "name": "string" + } + ] + }, + "10_resource_summary": [ + { + "resource": "string", + "resource_identifier": "string", + "date_time_ordered": "string", + "eta": "string", + "arrived": "boolean", + "notes": "string" + } + ] +} diff --git a/benchmark/datasets/templates/ics_202.json b/benchmark/datasets/templates/ics_202.json new file mode 100644 index 00000000..2adf6ebe --- /dev/null +++ b/benchmark/datasets/templates/ics_202.json @@ -0,0 +1,38 @@ +{ + "1_incident_name": "string", + "2_operational_period": { + "date_from": "string", + "date_to": "string", + "time_from": "string", + "time_to": "string" + }, + "3_objectives": ["string"], + "4_operational_period_command_emphasis": "string", + "general_situational_awareness": "string", + "5_site_safety_plan_required": "boolean", + "approved_site_safety_plans_located_at": "string", + "6_incident_action_plan_attachments": { + "ics_203": "boolean", + "ics_204": "boolean", + "ics_205": "boolean", + "ics_205a": "boolean", + "ics_206": "boolean", + "ics_207": "boolean", + "ics_208": "boolean", + "map_chart": "boolean", + "weather_forecast_tides_currents": "boolean", + "other_attachments": ["string"] + }, + "7_prepared_by": { + "name": "string", + "position_title": "string", + "signature": "string", + "date_time": "string" + }, + "8_approved_by_incident_commander": { + "name": "string", + "signature": "string", + "date_time": "string" + }, + "iap_page_number": "string" +} diff --git a/benchmark/datasets/templates/ics_203.json b/benchmark/datasets/templates/ics_203.json new file mode 100644 index 00000000..380f9115 --- /dev/null +++ b/benchmark/datasets/templates/ics_203.json @@ -0,0 +1,88 @@ +{ + "1_incident_name": "string", + "2_operational_period": { + "date_from": "string", + "date_to": "string", + "time_from": "string", + "time_to": "string" + }, + "3_incident_commander_and_command_staff": { + "ic_ucs": ["string"], + "deputy": "string", + "safety_officer": "string", + "public_info_officer": "string", + "liaison_officer": "string" + }, + "4_agency_organization_representatives": [ + { + "agency_organization": "string", + "name": "string" + } + ], + "5_planning_section": { + "chief": "string", + "deputy": "string", + "resources_unit": "string", + "situation_unit": "string", + "documentation_unit": "string", + "demobilization_unit": "string", + "technical_specialists": [ + { + "specialty": "string", + "name": "string" + } + ] + }, + "6_logistics_section": { + "chief": "string", + "deputy": "string", + "support_branch": { + "director": "string", + "supply_unit": "string", + "facilities_unit": "string", + "ground_support_unit": "string" + }, + "service_branch": { + "director": "string", + "communications_unit": "string", + "medical_unit": "string", + "food_unit": "string" + } + }, + "7_operations_section": { + "chief": "string", + "deputy": "string", + "staging_area": "string", + "branches": [ + { + "branch_name": "string", + "branch_director": "string", + "deputy": "string", + "divisions_groups": [ + { + "identifier": "string", + "supervisor": "string" + } + ] + } + ], + "air_operations_branch": { + "air_ops_branch_dir": "string" + } + }, + "8_finance_administration_section": { + "chief": "string", + "deputy": "string", + "time_unit": "string", + "procurement_unit": "string", + "comp_claims_unit": "string", + "cost_unit": "string" + }, + "9_prepared_by": { + "name": "string", + "position_title": "string", + "signature": "string", + "date_time": "string" + }, + "iap_page_number": "string" +} diff --git a/benchmark/datasets/templates/ics_204.json b/benchmark/datasets/templates/ics_204.json new file mode 100644 index 00000000..615d3ddb --- /dev/null +++ b/benchmark/datasets/templates/ics_204.json @@ -0,0 +1,53 @@ +{ + "1_incident_name": "string", + "2_operational_period": { + "date_from": "string", + "date_to": "string", + "time_from": "string", + "time_to": "string" + }, + "3_branch_division_group_staging_area": { + "branch": "string", + "division": "string", + "group": "string", + "staging_area": "string" + }, + "4_operations_personnel": { + "operations_section_chief": { + "name": "string", + "contact_number": "string" + }, + "branch_director": { + "name": "string", + "contact_number": "string" + }, + "division_group_supervisor": { + "name": "string", + "contact_number": "string" + } + }, + "5_resources_assigned": [ + { + "resource_identifier": "string", + "leader": "string", + "number_of_persons": "string", + "contact": "string", + "reporting_location_special_equipment_remarks_notes_information": "string" + } + ], + "6_work_assignments": "string", + "7_special_instructions": "string", + "8_communications": [ + { + "name_function": "string", + "primary_contact": "string" + } + ], + "9_prepared_by": { + "name": "string", + "position_title": "string", + "signature": "string", + "date_time": "string" + }, + "iap_page_number": "string" +} diff --git a/benchmark/datasets/templates/ics_205.json b/benchmark/datasets/templates/ics_205.json new file mode 100644 index 00000000..0e1af7a7 --- /dev/null +++ b/benchmark/datasets/templates/ics_205.json @@ -0,0 +1,35 @@ +{ + "1_incident_name": "string", + "2_date_time_prepared": { + "date": "string", + "time": "string" + }, + "3_operational_period": { + "date_from": "string", + "date_to": "string", + "time_from": "string", + "time_to": "string" + }, + "4_basic_radio_channel_use": [ + { + "zone_grp": "string", + "channel_number": "string", + "function": "string", + "channel_name_trunked_radio_system_talkgroup": "string", + "assignment": "string", + "rx_frequency_n_or_w": "string", + "rx_tone_nac": "string", + "tx_frequency_n_or_w": "string", + "tx_tone_nac": "string", + "mode_a_d_or_m": "string", + "remarks": "string" + } + ], + "5_special_instructions": "string", + "6_prepared_by": { + "name": "string", + "signature": "string", + "date_time": "string" + }, + "iap_page_number": "string" +} diff --git a/benchmark/datasets/templates/ics_205a.json b/benchmark/datasets/templates/ics_205a.json new file mode 100644 index 00000000..92883977 --- /dev/null +++ b/benchmark/datasets/templates/ics_205a.json @@ -0,0 +1,23 @@ +{ + "1_incident_name": "string", + "2_operational_period": { + "date_from": "string", + "date_to": "string", + "time_from": "string", + "time_to": "string" + }, + "3_basic_local_communications_information": [ + { + "incident_assigned_position": "string", + "name": "string", + "methods_of_contact": "string" + } + ], + "4_prepared_by": { + "name": "string", + "position_title": "string", + "signature": "string", + "date_time": "string" + }, + "iap_page_number": "string" +} diff --git a/benchmark/datasets/templates/ics_206.json b/benchmark/datasets/templates/ics_206.json new file mode 100644 index 00000000..140242bd --- /dev/null +++ b/benchmark/datasets/templates/ics_206.json @@ -0,0 +1,58 @@ +{ + "1_incident_name": "string", + "2_operational_period": { + "date_from": "string", + "date_to": "string", + "time_from": "string", + "time_to": "string" + }, + "3_medical_aid_stations": [ + { + "name": "string", + "location": "string", + "contact_number_frequency": "string", + "paramedic_service": "boolean" + } + ], + "4_transportation_services": { + "ambulance_services": [ + { + "name": "string", + "location": "string", + "contact_number_frequency": "string", + "paramedic_service": "boolean" + } + ], + "air_ambulance_services": [ + { + "name": "string", + "location": "string", + "contact_number_frequency": "string", + "paramedic_service": "boolean" + } + ] + }, + "5_hospitals": [ + { + "hospital_name": "string", + "address_latitude_longitude": "string", + "contact_number_frequency": "string", + "air_ambulance_helipad": "boolean", + "burn_center": "boolean", + "trauma_center": "boolean" + } + ], + "6_special_medical_emergency_procedures": "string", + "7_prepared_by": { + "name": "string", + "position_title": "string", + "signature": "string", + "date_time": "string" + }, + "8_approved_by_safety_officer": { + "name": "string", + "signature": "string", + "date_time": "string" + }, + "iap_page_number": "string" +} diff --git a/benchmark/datasets/templates/ics_207.json b/benchmark/datasets/templates/ics_207.json new file mode 100644 index 00000000..0ef33901 --- /dev/null +++ b/benchmark/datasets/templates/ics_207.json @@ -0,0 +1,63 @@ +{ + "1_incident_name": "string", + "2_operational_period": { + "date_from": "string", + "date_to": "string", + "time_from": "string", + "time_to": "string" + }, + "3_organization_chart": { + "incident_commanders": ["string"], + "command_staff": { + "safety_officer": "string", + "public_information_officer": "string", + "liaison_officer": "string" + }, + "operations_section": { + "chief": "string", + "staging_area_manager": "string", + "branches_divisions_groups": [ + { + "title": "string", + "name": "string" + } + ] + }, + "planning_section": { + "chief": "string", + "resources_unit_ldr": "string", + "situation_unit_ldr": "string", + "documentation_unit_ldr": "string", + "demobilization_unit_ldr": "string" + }, + "logistics_section": { + "chief": "string", + "support_branch": { + "director": "string", + "supply_unit_ldr": "string", + "facilities_unit_ldr": "string", + "ground_spt_unit_ldr": "string" + }, + "service_branch": { + "director": "string", + "comms_unit_ldr": "string", + "medical_unit_ldr": "string", + "food_unit_ldr": "string" + } + }, + "finance_administration_section": { + "chief": "string", + "time_unit_ldr": "string", + "procurement_unit_ldr": "string", + "comp_claims_unit_ldr": "string", + "cost_unit_ldr": "string" + } + }, + "4_prepared_by": { + "name": "string", + "position_title": "string", + "signature": "string", + "date_time": "string" + }, + "iap_page_number": "string" +} diff --git a/benchmark/datasets/templates/ics_208.json b/benchmark/datasets/templates/ics_208.json new file mode 100644 index 00000000..a49113b3 --- /dev/null +++ b/benchmark/datasets/templates/ics_208.json @@ -0,0 +1,19 @@ +{ + "1_incident_name": "string", + "2_operational_period": { + "date_from": "string", + "date_to": "string", + "time_from": "string", + "time_to": "string" + }, + "3_safety_message_expanded_safety_message_safety_plan_site_safety_plan": "string", + "4_site_safety_plan_required": "boolean", + "approved_site_safety_plan_located_at": "string", + "5_prepared_by": { + "name": "string", + "position_title": "string", + "signature": "string", + "date_time": "string" + }, + "iap_page_number": "string" +} diff --git a/benchmark/datasets/templates/ics_213.json b/benchmark/datasets/templates/ics_213.json new file mode 100644 index 00000000..749a77d1 --- /dev/null +++ b/benchmark/datasets/templates/ics_213.json @@ -0,0 +1,27 @@ +{ + "1_incident_name": "string", + "2_to": { + "name": "string", + "position": "string" + }, + "3_from": { + "name": "string", + "position": "string" + }, + "4_subject": "string", + "5_date": "string", + "6_time": "string", + "7_message": "string", + "8_approved_by": { + "name": "string", + "position_title": "string", + "signature": "string" + }, + "9_reply": "string", + "10_replied_by": { + "name": "string", + "position_title": "string", + "signature": "string", + "date_time": "string" + } +} diff --git a/benchmark/evaluators/__init__.py b/benchmark/evaluators/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/benchmark/evaluators/accuracy.py b/benchmark/evaluators/accuracy.py new file mode 100644 index 00000000..74d494f5 --- /dev/null +++ b/benchmark/evaluators/accuracy.py @@ -0,0 +1,76 @@ +import re + + +def calculate_accuracy(extracted: any, ground_truth: any) -> float: + """ + Computes a score from 0.0 to 1.0 representing accuracy. + Handles nested dicts, lists, booleans, and string fuzzy matching. + """ + if not isinstance(extracted, type(ground_truth)): + # Allow string representations of booleans/numbers + if isinstance(ground_truth, bool) and isinstance(extracted, str): + extracted = extracted.lower() in ("true", "1", "yes") + elif isinstance(ground_truth, (int, float)) and isinstance(extracted, str): + try: + extracted = float(extracted) if isinstance(ground_truth, float) else int(extracted) + except ValueError: + return 0.0 + else: + return 0.0 + + if isinstance(ground_truth, bool): + return 1.0 if extracted == ground_truth else 0.0 + + if isinstance(ground_truth, (int, float)): + return 1.0 if extracted == ground_truth else 0.0 + + if isinstance(ground_truth, str): + return fuzzy_string_similarity(extracted, ground_truth) + + if isinstance(ground_truth, dict): + if not ground_truth: + return 1.0 + total_score = 0.0 + keys = ground_truth.keys() + for k in keys: + if k in extracted: + total_score += calculate_accuracy(extracted[k], ground_truth[k]) + return total_score / len(keys) + + if isinstance(ground_truth, list): + if not ground_truth: + return 1.0 if not extracted else 0.0 + # Compute match score for list items + matched_scores = [] + temp_extracted = list(extracted) + for gt_item in ground_truth: + best_match = 0.0 + best_idx = -1 + for idx, ext_item in enumerate(temp_extracted): + score = calculate_accuracy(ext_item, gt_item) + if score > best_match: + best_match = score + best_idx = idx + matched_scores.append(best_match) + if best_idx != -1: + temp_extracted.pop(best_idx) + return sum(matched_scores) / len(ground_truth) + + return 0.0 + + +def fuzzy_string_similarity(s1: str, s2: str) -> float: + """ + Computes a simple token-based overlap similarity score between 0.0 and 1.0. + """ + s1_clean = set(re.findall(r'\w+', s1.lower())) + s2_clean = set(re.findall(r'\w+', s2.lower())) + + if not s1_clean or not s2_clean: + return 1.0 if s1_clean == s2_clean else 0.0 + + intersection = s1_clean.intersection(s2_clean) + union = s1_clean.union(s2_clean) + + # Jaccard index + return len(intersection) / len(union) diff --git a/benchmark/evaluators/reference_accuracy.py b/benchmark/evaluators/reference_accuracy.py new file mode 100644 index 00000000..a738d99c --- /dev/null +++ b/benchmark/evaluators/reference_accuracy.py @@ -0,0 +1,77 @@ +import hashlib +import json +import os + +import requests + +from benchmark.evaluators.accuracy import calculate_accuracy + +PROMPT_VERSION = "1" +SYSTEM_PROMPT = """You create reference answers for extraction benchmarks. +Use only facts supported by the narrative, preserve source wording when practical, +and return only JSON matching the supplied template. Do not add fields.""" + + +def calculate_reference_accuracy( + extracted: dict, narrative: str, template: dict, cache_path: str +) -> tuple[float, dict]: + """Score an on-device extraction against a cached large-model reference.""" + model = os.environ["BENCHMARK_REFERENCE_MODEL"] + input_hash = hashlib.sha256( + ( + narrative + + json.dumps(template, sort_keys=True) + + model + + PROMPT_VERSION + ).encode() + ).hexdigest() + + if os.path.exists(cache_path): + with open(cache_path) as file: + cached = json.load(file) + if cached["metadata"]["input_hash"] == input_hash: + reference = cached["reference"] + return calculate_accuracy(extracted, reference), reference + + headers = {"Content-Type": "application/json"} + if api_key := os.getenv("BENCHMARK_REFERENCE_API_KEY"): + headers["Authorization"] = f"Bearer {api_key}" + + response = requests.post( + os.environ["BENCHMARK_REFERENCE_URL"], + headers=headers, + json={ + "model": model, + "temperature": 0, + "response_format": {"type": "json_object"}, + "messages": [ + {"role": "system", "content": SYSTEM_PROMPT}, + { + "role": "user", + "content": json.dumps( + {"template": template, "narrative": narrative} + ), + }, + ], + }, + timeout=int(os.getenv("BENCHMARK_REFERENCE_TIMEOUT", "120")), + ) + response.raise_for_status() + reference = json.loads(response.json()["choices"][0]["message"]["content"]) + + os.makedirs(os.path.dirname(cache_path), exist_ok=True) + with open(cache_path, "w") as file: + json.dump( + { + "metadata": { + "model": model, + "prompt_version": PROMPT_VERSION, + "input_hash": input_hash, + }, + "reference": reference, + }, + file, + indent=2, + ) + + return calculate_accuracy(extracted, reference), reference diff --git a/benchmark/pipelines/__init__.py b/benchmark/pipelines/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/benchmark/pipelines/base.py b/benchmark/pipelines/base.py new file mode 100644 index 00000000..55ab3025 --- /dev/null +++ b/benchmark/pipelines/base.py @@ -0,0 +1,17 @@ +from abc import ABC, abstractmethod +from dataclasses import dataclass + + +@dataclass +class PipelineExtractionOutput: + """Output structure for extraction pipelines.""" + extracted_fields: dict[str, any] + latency_seconds: float + + +class BasePipeline(ABC): + """Base class for all extraction pipelines.""" + + @abstractmethod + def run(self, narrative: str, template_schema: dict, pdf_path: str) -> PipelineExtractionOutput: + pass \ No newline at end of file diff --git a/benchmark/pipelines/pipeline.py b/benchmark/pipelines/pipeline.py new file mode 100644 index 00000000..7754a51e --- /dev/null +++ b/benchmark/pipelines/pipeline.py @@ -0,0 +1,48 @@ +# benchmark/pipelines/pipeline.py +import time +from sqlalchemy.pool import StaticPool +from sqlmodel import Session, SQLModel, create_engine + +from app.models import Template # noqa: F401 — registers tables +from app.api.schemas.templates import TemplateCreate +from app.services.template import TemplateService +from app.services.form import FormService +from benchmark.pipelines.base import BasePipeline, PipelineExtractionOutput + + +# Shared in-memory SQLite engine for the benchmark run +_engine = create_engine( + "sqlite://", + connect_args={"check_same_thread": False}, + poolclass=StaticPool, +) +SQLModel.metadata.create_all(_engine) + + +class Pipeline(BasePipeline): + def run(self, narrative: str, template_schema: dict, pdf_path: str) -> PipelineExtractionOutput: + with Session(_engine) as session: + # 1. Seed a Template row from the JSON schema + template = TemplateService().create_template(session, TemplateCreate( + name=pdf_path, + pdf_path=pdf_path, + fields=template_schema, + )) + + # 2. Run the LLM extraction + t0 = time.perf_counter() + submission = FormService().fill_and_persist( + session=session, + template=session.get(Template, template.id), + transcript=narrative, + input_id=None, # no Input row needed for benchmark + ) + latency = time.perf_counter() - t0 + + # 3. Pull extracted fields out of the filled submission + extracted = submission.extracted_fields + + return PipelineExtractionOutput( + extracted_fields=extracted, + latency_seconds=latency, + ) diff --git a/benchmark/runners/__init__.py b/benchmark/runners/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/benchmark/runners/runner.py b/benchmark/runners/runner.py new file mode 100644 index 00000000..e60a18c2 --- /dev/null +++ b/benchmark/runners/runner.py @@ -0,0 +1,94 @@ +import json +import os +import time + +from benchmark.evaluators.accuracy import calculate_accuracy + + +class Runner: + def __init__(self, pipeline_class, pipeline_name: str): + self.pipeline = pipeline_class() + self.pipeline_name = pipeline_name + + def run_benchmark(self) -> dict[str, any]: + datasets_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), "datasets") + narratives_dir = os.path.join(datasets_dir, "narratives") + ground_truth_dir = os.path.join(datasets_dir, "ground_truth") + templates_dir = os.path.join(datasets_dir, "templates") + pdfs_dir = os.path.join(datasets_dir, "pdfs") + + results = [] + total_latency = 0.0 + + # Scan narratives directory to find matching ground_truth and template files + narrative_files = [f for f in os.listdir(narratives_dir) if f.endswith(".txt")] + + total = len(narrative_files) + for idx, narrative_file in enumerate(sorted(narrative_files), start=1): + case_name = os.path.splitext(narrative_file)[0] + # Match ics201_1.txt -> ics201_1.json or ics201.json + # Find matching ground truth file + possible_gts = [case_name + ".json", case_name.split("_")[0] + "_1.json"] + gt_file = None + for p in possible_gts: + if os.path.exists(os.path.join(ground_truth_dir, p)): + gt_file = p + break + + # Find matching template file + # e.g., ics201_1 -> ics_201.json + base_form_name = case_name.split("_")[0] + # convert ics201 to ics_201 if needed + if "ics" in base_form_name and "_" not in base_form_name: + base_form_name = "ics_" + base_form_name[3:] + template_file = f"{base_form_name}.json" + + narrative_path = os.path.join(narratives_dir, narrative_file) + gt_path = os.path.join(ground_truth_dir, gt_file) if gt_file else "" + template_path = os.path.join(templates_dir, template_file) + pdf_path = os.path.join(pdfs_dir, template_file.replace(".json", ".pdf")) + + if not os.path.exists(gt_path) or not os.path.exists(template_path) or not os.path.exists(pdf_path): + continue + + with open(narrative_path, "r") as f: + narrative_text = f.read() + + with open(gt_path, "r") as f: + gt_data = json.load(f) + # Unwrap the outer wrapper key if present + gt_key = list(gt_data.keys())[0] + gt_content = gt_data[gt_key] + + with open(template_path, "r") as f: + template_schema = json.load(f) + + print(f" [{idx}/{total}] Running {case_name} ...", flush=True) + start_time = time.time() + output = self.pipeline.run(narrative_text, template_schema, pdf_path) + latency = time.time() - start_time + total_latency += latency + + accuracy = calculate_accuracy(output.extracted_fields, gt_content) + print(f" [{idx}/{total}] {case_name} done — latency={latency:.2f}s accuracy={accuracy:.3f}", flush=True) + + results.append({ + "case_id": case_name, + "latency_seconds": latency, + "accuracy_score": accuracy, + "extracted_fields": output.extracted_fields, + "ground_truth": gt_content + }) + + print(f"\n[Runner] Iterations completed: {len(results)} / {len(narrative_files)} narratives") + + avg_accuracy = sum(r["accuracy_score"] for r in results) / len(results) if results else 0.0 + + return { + "pipeline_name": self.pipeline_name, + "metrics": { + "total_latency_seconds": total_latency, + "average_accuracy": avg_accuracy + }, + "results": results + } diff --git a/benchmark/test_benchmark.py b/benchmark/test_benchmark.py new file mode 100644 index 00000000..38fe9404 --- /dev/null +++ b/benchmark/test_benchmark.py @@ -0,0 +1,28 @@ +import json +import os +from datetime import datetime + +from benchmark.pipelines.pipeline import Pipeline +from benchmark.runners.runner import Runner + + +def test_pipeline_execution(): + """ + Standard test executor that finds the available Pipeline class, + runs the benchmark dataset, writes execution results to a file, and asserts accuracy. + """ + # Pipeline name contains current date and hour, minute and second (e.g. Pipeline_2026-07-08_12h_12m_12s) + timestamp = datetime.now().strftime("%Y-%m-%d_%Hh_%Mm_%Ss") + pipeline_name = f"Pipeline_{timestamp}" + + runner = Runner(Pipeline, pipeline_name) + report = runner.run_benchmark() + + # Save results to a report file to be compared in CI/CD pipeline + report_path = os.path.join(os.path.dirname(__file__), "benchmark_report.json") + with open(report_path, "w") as f: + json.dump(report, f, indent=2) + + # Assert basic quality sanity check + assert report["metrics"]["average_accuracy"] >= 0.0 + print(f"\n{pipeline_name} evaluation complete. Average Accuracy: {report['metrics']['average_accuracy']:.2f}") diff --git a/tests/conftest.py b/tests/conftest.py index 897a611e..a4d45e24 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -5,16 +5,25 @@ """ import io -from unittest.mock import patch, MagicMock +from unittest.mock import MagicMock, patch import pytest from fastapi.testclient import TestClient from sqlalchemy.pool import StaticPool -from sqlmodel import SQLModel, Session, create_engine +from sqlmodel import Session, SQLModel, create_engine -from app.main import app from app.api.deps import get_db -from app.models import Template, FormSubmission, Job, Input, Extraction, Incident, Form, Report # noqa: F401 — registers tables +from app.main import app +from app.models import ( # noqa: F401 — registers tables + Extraction, + Form, + FormSubmission, + Incident, + Input, + Job, + Report, + Template, +) # --------------------------------------------------------------------------- # In-memory database diff --git a/tests/test_api.py b/tests/test_api.py index 37a2ab09..1cc9fd2e 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -11,7 +11,7 @@ from app.api.schemas.enums import InputStatus, InputType from app.models import Template, FormSubmission, Input from app.core.config import API_PREFIX - +from app.models import FormSubmission, Template # ═══════════════════════════════════════════════════════════════════════════ # DB model sanity @@ -363,6 +363,7 @@ def test_fill_form_passes_model_override(self, client, mock_controller, db): def test_transcribe_service_unavailable(self, client, monkeypatch): """A down whisper service surfaces as a 503, not a 500.""" import io + import requests def fake_post(*args, **kwargs): diff --git a/tests/test_deletion.py b/tests/test_deletion.py index 4a22a26c..c079974d 100644 --- a/tests/test_deletion.py +++ b/tests/test_deletion.py @@ -6,8 +6,8 @@ import pytest -from app.models import FormSubmission, Template from app.core.config import API_PREFIX +from app.models import FormSubmission, Template # --------------------------------------------------------------------------- # Helpers diff --git a/tests/test_migrations.py b/tests/test_migrations.py index 191c025a..67b33b13 100644 --- a/tests/test_migrations.py +++ b/tests/test_migrations.py @@ -8,10 +8,11 @@ """ import pytest -from alembic import command from alembic.config import Config from sqlalchemy import create_engine, inspect +from alembic import command + ALEMBIC_INI = "alembic.ini" diff --git a/tests/test_v1_models.py b/tests/test_v1_models.py index 6584ac36..396f537e 100644 --- a/tests/test_v1_models.py +++ b/tests/test_v1_models.py @@ -24,7 +24,6 @@ ) from app.models import Extraction, Form, Incident, Input, Report - # --------------------------------------------------------------------------- # Helpers # --------------------------------------------------------------------------- diff --git a/tests/test_v1_system.py b/tests/test_v1_system.py index b7b8dfcb..d8851213 100644 --- a/tests/test_v1_system.py +++ b/tests/test_v1_system.py @@ -12,7 +12,6 @@ import app.api.routes.system as system_mod - # --------------------------------------------------------------------------- # Low-level helpers # --------------------------------------------------------------------------- diff --git a/tests/test_v1_voice.py b/tests/test_v1_voice.py index 3c512a52..c911db42 100644 --- a/tests/test_v1_voice.py +++ b/tests/test_v1_voice.py @@ -191,7 +191,7 @@ def test_success_input_becomes_ready_with_transcript(self, db, test_engine): assert inp.status == InputStatus.ready assert inp.transcript == "Incident at Main St, two casualties." assert inp.character_count == len("Incident at Main St, two casualties.") - assert inp.word_count == len("Incident at Main St, two casualties.".split()) + assert inp.word_count == len(["Incident", "at", "Main", "St,", "two", "casualties."]) def test_success_job_becomes_completed_with_result_url(self, db, test_engine): inp, job = _seed_input_and_job(db)