APP+0
MES machine data acquisition, step 1: foundation
Let a machine source push laraplate-machine/1 messages into the MES over HTTP, store them durably, process them asynchronously (normalise, resolve, attribute, dispatch typed events) and manage the configuration, unmapped signals, inbox and incidents from Filament. Consumers (states, counts, probes, process values) come in later steps.
Tasks.
- Task 1: Enums, table registry, configuration keys5/5
- Task 2: Source, profile, device and signal tables and models5/5
- Task 3: Message, unmapped-signal and incident tables and models5/5
- Task 4: Protocol schema, fixtures, envelope validator, DTOs5/5
- Task 5: Normalisers5/5
- Task 6: Idempotent writer, incident recorder, inbox5/5
- Task 7: HTTP ingress5/5
- Task 8: Signal resolver and unmapped signals5/5
- Task 9: Operation attributor5/5
- Task 10: The job and the typed events5/5
- Task 11: Reprocessing, token actions and permissions5/5
- Task 12: Watchdog, incident notification, retention schedule5/5
- Task 13: Profiles: apply, import, export5/5
- Task 14: Filament: sources, devices with signals, profiles5/5
- Task 15: Filament: unmapped signals, inbox, incidents5/5
- Task 16: Documentation and plan reconciliation5/5