ADR-0188: Navin Enterprise Predictive Maintenance Agent (UC-06), backend derived by copy and product manifest
- Status: proposed
- Date: 2026-11-04
- Task: t-2b533a7e (brief
agent_uses_cases/06_Industrie_Maintenance_Predictive.md) - Links: decisions of 2026-11-04 (single frontend, backend derived by copy, template ids of at most 40 characters, UC-06 to UC-10 identities)
Context
The customer asks for an industrial predictive maintenance agent: asset registry and hierarchy, sensors and series quality, regime-aware monitoring, assisted diagnosis, validated prognostics, CMMS work order preparation, planning and feedback. The service assists maintenance teams; it is neither a safety instrumented system nor a real-time controller. UC-01 and UC-05 provide a complete FastAPI backend whose generic modules can be reused by copy.
Decision
- Identity: product_id
industrie-maintenance-predictive, prefix/api/v1/industrie-maintenance-predictive, foldernavin-enterprise-industrie-maintenance-predictive/, packagenavin_maintenance, PostgreSQL schemamaintenance, dev ports web 3479, API 8477, Redis 6399, templatenavin-industrie-maintenance-agent(not published), OPA packageeai.industrie_maintenance. - Backend derived by copy of the UC-05 generic modules, renamed only; the business modules of section 7 and the entities of section 18.1 are written for this product.
- No own frontend:
product.manifest.jsondrives the shared frontend. - Anomaly scores and prognostics are indicators, never decisions; a remaining useful life is only produced by a model
validated on the asset type, with interval and validity domain, otherwise
insufficient_evidence. - No PLC command, setpoint, stop or restart tool exists. Every external effect (CMMS order, part reservation) goes
through the Action Gateway with maker-checker, Idempotency-Key, If-Match and the source system confirmation
(
unknown_pending_confirmationthen re-read); never a local "done" status.
Rejected alternatives
- Dedicated frontend: refused by the single frontend decision.
- Extracting a shared Python library first: unstable while several products evolve in parallel.
- Direct OPC UA or MQTT reads by the LLM: forbidden by section 4.1, approved gateways only.
Consequences
The product is built in twelve steps (board UC-06 S1 to S12). CMMS, historian, MES and ERP connectors are capability contracts with a deterministic sandbox; these tests validate no real integration.