propose_add_record
Propose a new typed AimDB record with buffer semantics, fields, producers, consumers, and connectors, and present it for user approval before resolution.
Instructions
Propose adding a new record to the architecture. All payload fields are explicit and typed — no guessing required. Present the proposal to the user before calling resolve_proposal.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | PascalCase record name, e.g. "TemperatureReading" | |
| buffer | Yes | Buffer semantics: SpmcRing=stream (every value), SingleLatest=state (newest only), Mailbox=command (overwrite) | |
| fields | No | Value struct fields | |
| capacity | No | Ring buffer capacity — required when buffer=SpmcRing. Use power-of-2, e.g. 256, 512, 1024. | |
| consumers | No | Task names that read from this record, e.g. ["anomaly_detector"]. | |
| producers | No | Task names that write to this record, e.g. ["sensor_task"]. | |
| connectors | No | Connector wiring (MQTT, KNX, etc.) | |
| key_prefix | No | Optional common key prefix, e.g. "sensors.temp.". Default: "" | |
| description | Yes | Human-readable description of the proposal shown to the user | |
| key_variants | No | Concrete PascalCase variant names, e.g. ["Default"] or ["Indoor", "Outdoor"]. Default: [] |