Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ Living specifications live in `docs/specs/`. They are the source of truth for th

- **External integrations** (`docs/specs/external-integrations.md`): supervisor, host API, integration WebSocket protocol, manifest, store formats, SDK contract. Any PR that changes a behavior or contract of external integrations must update this spec **in the same diff**. Phase-2 designs (B.15 communication, B.16 network discovery, B.17 Gladys Plus webhooks) are specified there but not yet implemented — implement from the spec, not from scratch.
- **Device feature categories & types** (`docs/specs/device-feature-categories.md`): design and review criteria for `DEVICE_FEATURE_CATEGORIES` / `DEVICE_FEATURE_TYPES` in `server/utils/constants.js`. Categories must describe capabilities (never brands), group protocols together, and use mature standards (Matter first, then Zigbee) as the default reference — divergence and standard-free categories are allowed with justification. Any PR — and any PR review — that adds or changes device categories/types must be checked against this spec's checklist.
- **BLE advertisement streaming** (`docs/specs/bluetooth-ble-sensors.md`): how the core owns the Bluetooth LE radio — scan-lease arbiter, raw advertisement frame format, core-side filters/throttling — and exposes the stream to internal services (phase 1) and external integrations (phase 2: manifest `bluetooth` field, lease host API, WS batches, revocable consent). Design only, not yet implemented — implement from the spec, not from scratch. Its section D lists what is deliberately deferred (passive scan, multi-adapter) or out of scope (GATT over the external API, decoding in the core).
- **Water heater** (`docs/specs/water-heater.md`): the `water-heater` device feature category — its six types, the `WATER_HEATER_MODE` enum, how per-appliance mode subsets are declared through `supported_options`, the frontend registration points and the external-integration contract. Designed under `device-feature-categories.md`, whose checklist it answers in its section D. Its section C lists what is deliberately out of scope, and any PR that changes those types or their semantics must update the spec in the same diff.

## Git workflow (agents)
Expand Down
Loading
Loading