Bead: Alertwest Record

**Bead** `24882a83-509b-4a9b-8608-303726c0c624` · [canonical URI](https://redfish.acequia.io/guerin/.agents/24882a83-509b-4a9b-8608-303726c0c624/) · discussion: Talk: Alertwest Record This page is the wiki facet of a [bead](https://redfish.acequia.io/guerin/.agents/); the bead is the source of truth.

## Identity - **Name:** alertwest-record - **GUID:** `24882a83-509b-4a9b-8608-303726c0c624` - **URI:** https://redfish.acequia.io/guerin/.agents/24882a83-509b-4a9b-8608-303726c0c624/ - **Body:** CV (Claude Code extension — shell + filesystem, ambient WebDAV authority) - **Opened:** 2026-06-15 - **Parent / lineage:** AlertWest backup architecture (`simtable.acequia.io/docs/alertcalifornia/`), STAC-on-incidents bead [`cbf8b027`](https://redfish.acequia.io/guerin/.agents/cbf8b027-e80c-4b9f-8eb3-91d40af072d5/about.md), AlertWildfire sidecar skill bead [`65783732`](https://redfish.acequia.io/guerin/.agents/65783732-7907-4a36-983a-3b015e75e80b/), incident-cataloging bead [`97559992`](https://redfish.acequia.io/guerin/.agents/97559992-a73c-47f6-89a6-6565e0c164f3/about.md).

## Motivation (why a GUID) A **realtime.earth end-to-end test**: stand up a fresh, GUID-addressed workspace that exercises the whole AlertWest → archive → STAC pipeline against **live** data, on a region we care about (northern New Mexico) rather than a past California incident. The bead is the self-contained proof: the imagery, the telemetry, the catalog, and the scripts that produced them all live under one URI so the run is reproducible and inspectable.

## Mechanism (what this bead does) Archives the **last 24 hours** of every public AlertWest / ALERTWildfire camera within a **100-mile radius of Los Alamos, NM** (center 35.8800, −106.2986; radius 160.934 km), then emits a STAC 1.0.0 catalog over the archive. 1. `GET getCameraDataByLoc` → join `cams.lid → locs.id` → haversine-filter to ≤ 160.934 km of Los Alamos. **11 cameras** (all NM): 4× Santa_Fe, Picacho_Peak, Tesuque_Peak_1, Glorieta (offline), 4× Double_Eagle_II_Airport. 2. Per camera, `POST getCameraTimelapse` with stacked `lapseLength`s `[86400, 43200, 21600, 3600, 1800, 900, 300, 60]`, merge frames by `camScreenshot` filename → densest single-shot 24 h coverage (native ~15–20 s near the present, downsampled further back; server caps ~121 frames per window). 3. Download each raw JPEG to `artifacts/ops-alertcalifornia/<camId>/<YYYY>/<MM>/<DD>/<file>.jpg` and write one `telemetry-<camId>-<unix>.json` pull-session record per camera. 4. Build + structurally validate a STAC tree in `artifacts/stac/` — a `nm-losalamos-100mi` incident catalog with a `cameras` collection (Point items, `view:azimuth`/`fov_deg`/ `tilt_deg`) and per-camera `frames` collections (one Item per archived JPEG).

## Folder layout ``` about.md this file (descriptive self) README.md front door agent.md / agent.json operative self keywords.json / names.json index surface + local namespace bead-bind-startup.md resume contract STATE.md current status 2026-06-15/ skills/ fetch-alertwest-archive.mjs (+ .md), build-stac.mjs notes/ 00 the-test, 01 method-and-results chats/ verbatim chat log artifacts/ ops-alertcalifornia/ the archive (per-camera JPEGs + telemetry + roster snapshot) stac/ the STAC catalog built over the archive uploads/ inbound dock ```

## Session log - **2026-06-15** — bead opened (`/start-bead alertwest-record`). Surveyed the AlertWest backup docs + the Palisades/Sandy STAC bead, probed the live roster (11 cameras near Los Alamos), archived the last 24 h, built the STAC. See `notes/` and `chats/`.

## Modus operandi (how to interact) Read `bead-bind-startup.md` first, then `notes/01-method-and-results.md`. To re-run the archive: `node 2026-06-15/skills/fetch-alertwest-archive.mjs` (re-derives the current 24 h window — the source API has **no historical query**, so a later run captures a later window). To rebuild the catalog after archiving: `node 2026-06-15/skills/build-stac.mjs`.

## Capabilities - `skills/fetch-alertwest-archive.mjs` — roster filter + stacked-lapse 24 h pull + JPEG/telemetry archive. - `skills/build-stac.mjs` — dep-free STAC builder + structural validator over the archive.

## Lifecycle Open. Apoptosis on `/end-bead` after flushing the chat log and STATE. The archive is a dated snapshot; the source has no history, so the imagery is the only durable copy of that window.

## Limitations - **No historical query at the source.** The 24 h window is anchored at *fetch time*; older native-cadence frames that have rolled out of AlertWest's buffer are unrecoverable (only the downsampled long-window samples remain). - Camera lon/lat are the AlertWest tower positions (good); per-frame pose (azimuth/tilt/fov) is PTZ state at capture, carried in telemetry. - Imagery is bulky; see STATE for the archive size and any sync decision.

## References (bead cross-links) - Bead: Incident Viewer Taos Engine App · [canonical](https://redfish.acequia.io/guerin/.agents/cbf8b027-e80c-4b9f-8eb3-91d40af072d5/) - Bead: Firewatch Camera Grid · [canonical](https://redfish.acequia.io/guerin/.agents/65783732-7907-4a36-983a-3b015e75e80b/) - Bead: Cataloging Incident · [canonical](https://redfish.acequia.io/guerin/.agents/97559992-a73c-47f6-89a6-6565e0c164f3/)

See all: Beads