mirror of
https://github.com/blackboxprogramming/BlackRoad-Operating-System.git
synced 2026-03-17 09:37:55 -05:00
feat: BlackRoad OS Phase 2.5 - Infrastructure Wiring Complete
Phase 2.5 wires up the infrastructure decisions and prepares BlackRoad OS for production deployment. This phase codifies architectural choices and creates deployment-ready configurations. ## Key Decisions Codified - ✅ Monorepo as canonical OS home (for Phase 1-2) - ✅ Prism Console served from backend at /prism - ✅ Documentation via GitHub Pages (MkDocs) - ✅ Vanilla JavaScript frontend maintained ## New Infrastructure ### Documentation & Planning - PHASE2_5_SUMMARY_FOR_ALEXA.md - Complete Phase 2.5 summary - BLACKROAD_OS_REPO_MAP.md - Repository structure map - DEPLOYMENT_NOTES.md - Production deployment guide ### Backend Infrastructure - backend/app/routers/prism_static.py - Prism Console static router - backend/static/prism/ - Prism Console UI skeleton - index.html, css/prism.css, js/prism-core.js ### Documentation System - .github/workflows/docs-deploy.yml - MkDocs deployment automation - codex-docs/mkdocs.yml - MkDocs + Material theme config - codex-docs/DEPLOY_DOCS.md - Docs deployment guide - codex-docs/docs/ - Complete documentation structure ### Updated Files - backend/app/main.py - Added Prism router, OpenAPI tags - MASTER_ORCHESTRATION_PLAN.md - Added Phase 2.5 section ## URL Structure (Production) - https://blackroad.systems → Main OS - https://blackroad.systems/prism → Prism Console - https://blackroad.systems/api/* → REST API - https://docs.blackroad.systems → Documentation ## Post-Merge Checklist 1. Configure GitHub Pages (5 min) 2. Configure Railway deployment (10 min) 3. Configure Cloudflare DNS (15 min) 4. Verify all routes work (5 min) 5. Monitor first deployment (10 min) See PHASE2_5_SUMMARY_FOR_ALEXA.md for complete post-merge instructions. ## Implementation Status ✅ Phase 2.5 Complete - Ready for production deployment --- Where AI meets the open road. 🛣️
This commit is contained in:
58
backend/static/prism/js/prism-core.js
Normal file
58
backend/static/prism/js/prism-core.js
Normal file
@@ -0,0 +1,58 @@
|
||||
/**
|
||||
* Prism Console - Core JavaScript
|
||||
* Phase 2.5: Basic tab navigation
|
||||
* Phase 2.6+: Full job queue, events, metrics functionality
|
||||
*/
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
// Tab Navigation
|
||||
const navItems = document.querySelectorAll('.nav-item');
|
||||
const contentTabs = document.querySelectorAll('.content-tab');
|
||||
|
||||
navItems.forEach(item => {
|
||||
item.addEventListener('click', function() {
|
||||
const targetTab = this.getAttribute('data-tab');
|
||||
|
||||
// Update active nav item
|
||||
navItems.forEach(nav => nav.classList.remove('active'));
|
||||
this.classList.add('active');
|
||||
|
||||
// Update active content tab
|
||||
contentTabs.forEach(tab => tab.classList.remove('active'));
|
||||
const targetElement = document.getElementById(`${targetTab}-tab`);
|
||||
if (targetElement) {
|
||||
targetElement.classList.add('active');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Placeholder: Future API integration
|
||||
async function fetchDashboardData() {
|
||||
// TODO Phase 2.6: Fetch real data from /api/prism/metrics
|
||||
// const response = await fetch('/api/prism/metrics');
|
||||
// const data = await response.json();
|
||||
// updateDashboard(data);
|
||||
}
|
||||
|
||||
async function fetchJobs() {
|
||||
// TODO Phase 2.6: Fetch jobs from /api/prism/jobs
|
||||
// const response = await fetch('/api/prism/jobs');
|
||||
// const jobs = await response.json();
|
||||
// renderJobs(jobs);
|
||||
}
|
||||
|
||||
async function fetchEvents() {
|
||||
// TODO Phase 2.6: Fetch events from /api/prism/events
|
||||
// const response = await fetch('/api/prism/events');
|
||||
// const events = await response.json();
|
||||
// renderEvents(events);
|
||||
}
|
||||
|
||||
// Initialize
|
||||
console.log('Prism Console v2.5 initialized');
|
||||
console.log('Phase 2.5: Infrastructure wiring complete');
|
||||
console.log('Phase 2.6: Full Prism functionality coming soon');
|
||||
|
||||
})();
|
||||
Reference in New Issue
Block a user