How ayush3038/rmos works
RMOS is a railway maintenance decision-support platform: railway inputs are normalized and checked, mapped to canonical assets, assessed for risk and priority, constrained for safety, and optimized into candidate block plans. The frontend presents plans for human review; decisions are audited, while operational events can trigger replanning. The graph also includes simulation and knowledge retrieval capabilities. README documents the overall workflow; sampled service excerpts support several internal calls, but unsampled service wiring is represented only where documented.
Main entry points: PlanningService.java Planning orchestration · client.ts API client · App.tsx RMOS interface · PlanDecisionController.java Human plan review
Components 27
Operator interface
- RMOS interface
frontend/src/App.tsx - Operations dashboard
frontend/src/components/rmos/dashboard/Dashboard.tsx - API client
frontend/src/services/api/client.ts
Data and assessment
- Integration and normalization
backend/src/main/java/com/rmos/service/SourceDataRecordService.java - Freshness checks
backend/src/main/java/com/rmos/service/DataFreshnessService.java - Canonical asset mapping
backend/src/main/java/com/rmos/service/CanonicalAssetMappingService.java - Asset risk assessment
backend/src/main/java/com/rmos/service/risk/AssetRiskAssessmentService.java - Priority assessment
backend/src/main/java/com/rmos/service/priority/PriorityAssessmentService.java
Planning and decisions
- Safety validation
backend/src/main/java/com/rmos/service/safety/SafetyValidationService.java - Planning endpoint
backend/src/main/java/com/rmos/controller/planning/PlanningController.java - Planning orchestration
backend/src/main/java/com/rmos/service/planning/PlanningService.java - Railway context validation
backend/src/main/java/com/rmos/service/planning/RailwayPlanningValidationService.java - Block optimizer
backend/src/main/java/com/rmos/service/planning/ORToolsCpSatOptimizer.java - Plan explanation
backend/src/main/java/com/rmos/service/ai/ExplanationService.java - Human plan review
backend/src/main/java/com/rmos/controller/decision/PlanDecisionController.java - Decision processing
backend/src/main/java/com/rmos/service/decision/PlanDecisionService.java - Decision audit
backend/src/main/java/com/rmos/service/decision/PlanDecisionAuditService.java
Operations and support
- Incident mapping
backend/src/main/java/com/rmos/service/integration/IncidentMappingService.java - Dynamic replanning
backend/src/main/java/com/rmos/service/replanning/DynamicReplanningService.java - Operational simulator
backend/src/main/java/com/rmos/simulator/service/SimulationEngine.java - Plan scenarios
backend/src/main/java/com/rmos/service/scenario/ScenarioSimulationService.java - Knowledge retrieval
backend/src/main/java/com/rmos/service/knowledge/KnowledgeRetrievalService.java
Backend platform
- Authentication
backend/src/main/java/com/rmos/service/auth/AuthService.java - PostgreSQL and pgvector
Other components
- Railway personnel
- Railway systems
- NVIDIA NIM
Connections 29
- Railway personnel → RMOS interface: uses
- Railway systems → Integration and normalization: supplies data
- RMOS interface → API client: requests
- API client → Planning endpoint: calls REST
- API client → Human plan review: submits review
- Integration and normalization → Freshness checks: checks freshness
- Freshness checks → Canonical asset mapping: supports mapping
- Canonical asset mapping → Asset risk assessment: provides asset identity
- Planning endpoint → Planning orchestration: requests plans
- Planning orchestration → Railway context validation: validates context
- Planning orchestration → Block optimizer: optimizes blocks
- Planning orchestration → Safety validation: validates safety
- Planning orchestration → Asset risk assessment: uses risk inputs
- Planning orchestration → Priority assessment: uses priority inputs
- Planning orchestration → PostgreSQL and pgvector: stores plan runs
- Planning orchestration → Plan explanation: requests explanation
- Railway personnel → Human plan review: reviews plan
- Human plan review → Decision processing: submits decision
- Decision processing → Decision audit: audits decision
- Decision audit → PostgreSQL and pgvector: stores audit
- Operational simulator → Incident mapping: maps generated incidents
- Incident mapping → Dynamic replanning: updates planning context
- Dynamic replanning → Planning orchestration: replans
- Plan scenarios → Planning orchestration: simulates request
- Operations dashboard → RMOS interface: renders
- Knowledge retrieval → NVIDIA NIM: embeds queries
- Knowledge retrieval → PostgreSQL and pgvector: searches vectors
- Plan explanation → NVIDIA NIM: generates explanations
- Authentication → PostgreSQL and pgvector: reads users and audits