Hardware ingest contract v2.1: sensors, MAC addresses, device_class expansion
- Add HardwareSensors to JSON contract: fans, power, temperatures, other - Add machine_sensor_readings table (migration 0022) with upsert in ingest service - Add mac_addresses []string to HardwarePCIeDevice - Expand device_class examples: VideoController, ProcessingAccelerator, EthernetController, FibreChannelController, StorageController - Add distributable hardware-ingest-contract.md v2.1 with versioning, changelog, field tables, and canonical URL - Add governance rule: contract doc must be updated with every parser change - Update data-model.md to document machine_sensor_readings projection - Update both import-example-full.json files with sensors and new PCIe entries Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -18,3 +18,13 @@ This policy defines how architectural knowledge is captured and maintained.
|
||||
2. If behavior changed, add or update a decision note in `bible/decisions/`.
|
||||
3. Remove duplicated or outdated statements from non-Bible docs.
|
||||
4. Validate consistency against code paths in `internal/api`, `internal/ingest`, and `internal/repository`.
|
||||
|
||||
## Hardware Ingest Contract
|
||||
|
||||
`bible-local/docs/hardware-ingest-contract.md` is a distributable integration document for external teams.
|
||||
|
||||
**Mandatory:** any change to the hardware JSON import contract (`HardwareIngestRequest`, `HardwareSnapshot`, or any nested struct in `internal/ingest/parser_hardware.go`) must be reflected in `hardware-ingest-contract.md` in the same commit:
|
||||
|
||||
- Bump the `version` field in the YAML front matter (patch for additive/optional fields, minor for new sections, major for breaking changes).
|
||||
- Update the `updated` date.
|
||||
- Add a row to the Changelog table describing what changed.
|
||||
|
||||
Reference in New Issue
Block a user