mirror of
https://github.com/blackboxprogramming/BlackRoad-Operating-System.git
synced 2026-03-17 05:57:21 -05:00
Implements complete Phase 2 scaffold across 6 core modules: ## New Modules ### 1. Backend API Enhancements - Add system router with /version, /config/public, /os/state endpoints - Register system router in main.py - Add comprehensive tests for system endpoints ### 2. Core OS Runtime (core_os/) - Implement UserSession, Window, OSState models - Add state management functions (open_window, close_window, etc.) - Create Backend API adapter for communication - Include full test suite for models and state ### 3. Operator Engine (operator_engine/) - Build job registry with example jobs - Implement simple scheduler with lifecycle management - Optional HTTP server on port 8001 - Complete tests for jobs and scheduler ### 4. Web Client Enhancements - Add CoreOSClient JavaScript class - Integrate system API endpoints - Event-driven architecture for state updates - Zero dependencies, vanilla JavaScript ### 5. Prism Console (prism-console/) - Modern dark-themed admin UI - Multi-tab navigation (Overview, Jobs, Agents, Logs, System) - Real-time metrics dashboard - Backend API integration with auto-refresh ### 6. Documentation (codex-docs/) - Complete MkDocs-based documentation - Architecture guides and component docs - Infrastructure setup guides - API reference documentation ## CI/CD - Add core-os-tests.yml workflow - Add operator-tests.yml workflow - Add docs-build.yml workflow ## Documentation - Create BLACKROAD_OS_REPO_MAP.md cross-reference - Add README for each module - Comprehensive integration documentation ## Summary - 37 new files created - ~3,500 lines of new code - 5 test suites with 15+ tests - 3 new CI workflows - 10+ documentation pages All modules are minimal working skeletons ready for integration. Designed to be extracted into separate repos if needed. Phase 2 scaffold complete and ready for review.
33 lines
791 B
Python
33 lines
791 B
Python
"""Operator Engine Configuration"""
|
|
import os
|
|
from typing import Optional
|
|
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class OperatorSettings(BaseSettings):
|
|
"""Operator engine settings"""
|
|
|
|
# Application
|
|
APP_NAME: str = "BlackRoad Operator Engine"
|
|
APP_VERSION: str = "0.1.0"
|
|
ENVIRONMENT: str = "development"
|
|
|
|
# Scheduler
|
|
SCHEDULER_INTERVAL_SECONDS: int = 60
|
|
MAX_CONCURRENT_JOBS: int = 5
|
|
JOB_TIMEOUT_SECONDS: int = 300
|
|
|
|
# Database (inherited from main backend)
|
|
DATABASE_URL: Optional[str] = os.getenv("DATABASE_URL")
|
|
REDIS_URL: Optional[str] = os.getenv("REDIS_URL", "redis://localhost:6379/0")
|
|
|
|
# Logging
|
|
LOG_LEVEL: str = "INFO"
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
case_sensitive = True
|
|
|
|
|
|
settings = OperatorSettings()
|