- Documentation
- /
- Opex
- /
- Phase 2 — Runtime Engine Scope
Phase 2 — Runtime Engine Scope
Phase 1 (built) renders the 8-model schema as an AI-Safe CRUD register — browsable, with a dashboard. But the states are static: the seed shows outcomes already decided. Nothing is gated, transitioned or published by the system.
Phase 2 is the runtime that makes it live — the exception lifecycle/state machine (open → triaged → assigned → in_progress → closed), SLA timers on response_due_at, automatic escalation when a response window is breached, closure gating (evidence complete + review) and the published exception events — this is the estate-wide exception hub the other apps route into. Same shape as the (built,
cluster-proven) orchestrator engine, single-app, and it plugs into the wider Renewable Generation
Orchestration suite via the Orchestrator.
The scope, drawn from the pack's GOVERNANCE.md / ORCHESTRATION.md / EVENT_CATALOG.md:
- Workflow / state machine — expose the pack's states as guarded actions per entity, instead
of a free-edited
status. - Governance gates — enforce the pack's rules at the transitions they guard.
- Events — write the pack's published events transactionally to an outbox and deliver them to the Orchestrator with retry, so sibling apps (commissioning, gridcon, gencom, outage) react.
- Dashboards/KPIs — the operational numbers this domain's owner watches.
- Tests — straight from the component's
TEST_SCENARIOS.md.
How it would be built
A per-app engine module (mirror server/lib/orchestrator_engine/) behind an opt-in env flag,
plus the outbox + Orchestrator wiring (reuse the orchestrator client and event contracts). The
orchestrator (built and run live this session) is the working template for the engine, scheduler,
outbox and tests.