Purpose
Move the Factory Intelligence Platform runtime to Docker Compose microservices that consume external Demo-Factory protocol data instead of using the old in-repo simulator path.
Target runtime flow:
Demo-Factory protocols
-> FIP connector worker
-> Postgres event store
-> Process Sentinel worker
-> FastAPI API
-> Next.js Workbench
Background
Demo-Factory is now the separate source/simulation repo. This repository should own the intelligence platform runtime: read-only connectors, normalized FactoryEvents, durable platform state, Process Sentinel, governed recommendations, API, Workbench, tests, and documentation.
This epic supersedes simulator-backed local runbooks as the default development path. Historical learning-log entries may remain, but current docs, prompts, tests, and runbooks should stop presenting in-repo simulation as the default path.
Child Issues
Task: Remove simulator-facing docs and prompts #233 - Remove simulator-facing docs and prompts.
Task: Add Docker Compose runtime documentation #234 - Add Docker Compose runtime documentation.
Feature: Add Postgres-backed runtime storage #235 - Add Postgres-backed runtime storage.
Feature: Add Docker images for API, web, connector worker, and Sentinel worker #236 - Add Docker images for API, web, connector worker, and Sentinel worker.
Feature: Add Demo-Factory protocol connection fixtures #237 - Add Demo-Factory protocol connection fixtures.
Feature: Add connector worker runtime #238 - Add connector worker runtime.
Feature: Add scheduled Process Sentinel worker #239 - Add scheduled Process Sentinel worker.
Task: Update API and Workbench runtime wording #240 - Update API and Workbench runtime wording.
Task: Add Compose smoke test #241 - Add Compose smoke test.
Recommended Implementation Order
Complete Task: Remove simulator-facing docs and prompts #233 and Task: Add Docker Compose runtime documentation #234 so contributors have the new runtime direction before code changes land.
Complete Feature: Add Postgres-backed runtime storage #235 so services can share durable state.
Complete Feature: Add Docker images for API, web, connector worker, and Sentinel worker #236 to establish the composed service shape.
Complete Feature: Add Demo-Factory protocol connection fixtures #237 and Feature: Add connector worker runtime #238 to ingest Demo-Factory protocol data.
Complete Feature: Add scheduled Process Sentinel worker #239 so Process Sentinel runs continuously against stored events.
Complete Task: Update API and Workbench runtime wording #240 so API and Workbench copy match the new runtime.
Complete Task: Add Compose smoke test #241 as the end-to-end validation gate.
Acceptance Criteria
Docker Compose starts the FIP API, Workbench, Postgres, connector worker, and Process Sentinel worker.
The FIP Compose stack does not start an in-repo simulator container.
Demo-Factory can run separately and serve as the external local source for OPC UA, MQTT, and BACnet validation.
Connector ingestion is read-only and normalizes source readings into FactoryEvents before Process Sentinel consumes them.
Runtime state uses Postgres by default in Docker.
Workbench and API status/recovery copy describe external Demo-Factory/local protocol sources, not simulator-backed in-repo state.
Current docs use Docker Compose startup, shutdown, logs, health, and troubleshooting commands.
Simulator-facing docs/prompts are removed or replaced.
A Compose smoke path verifies API health, event ingestion, Sentinel output, and Workbench rendering.
Out of Scope
PLC, DCS, SCADA, or equipment writeback.
MQTT command publishing.
BACnet writes or commandable-property changes.
Product release, quarantine, or disposition.
QMS/MES writeback.
Production-readiness, GxP validation, electronic signature, or compliance claims.
Kubernetes, Helm, cloud deployment, or production HA.
Shared Commands To Document
Start Demo-Factory separately:
cd ../Demo-Factory
docker compose up -d --build
Start FIP:
cd ../Factory-Intelligence-Platform
docker compose -f infra/docker/docker-compose.yml up --build
docker compose -f infra/docker/docker-compose.yml ps
docker compose -f infra/docker/docker-compose.yml logs -f
curl http://localhost:8000/health
docker compose -f infra/docker/docker-compose.yml down
Validation
docker compose -f infra/docker/docker-compose.yml config
make lint
make typecheck
make test
cd apps/web && npm test
Compose smoke with Demo-Factory running separately.
Related Work
Purpose
Move the Factory Intelligence Platform runtime to Docker Compose microservices that consume external Demo-Factory protocol data instead of using the old in-repo simulator path.
Target runtime flow:
Background
Demo-Factory is now the separate source/simulation repo. This repository should own the intelligence platform runtime: read-only connectors, normalized FactoryEvents, durable platform state, Process Sentinel, governed recommendations, API, Workbench, tests, and documentation.
This epic supersedes simulator-backed local runbooks as the default development path. Historical learning-log entries may remain, but current docs, prompts, tests, and runbooks should stop presenting in-repo simulation as the default path.
Child Issues
Recommended Implementation Order
Acceptance Criteria
Out of Scope
Shared Commands To Document
Start Demo-Factory separately:
cd ../Demo-Factory docker compose up -d --buildStart FIP:
cd ../Factory-Intelligence-Platform docker compose -f infra/docker/docker-compose.yml up --build docker compose -f infra/docker/docker-compose.yml ps docker compose -f infra/docker/docker-compose.yml logs -f curl http://localhost:8000/health docker compose -f infra/docker/docker-compose.yml downValidation
docker compose -f infra/docker/docker-compose.yml configmake lintmake typecheckmake testcd apps/web && npm testRelated Work