{"id":50454177,"url":"https://github.com/mizcausevic-dev/kinetic-flightdeck","last_synced_at":"2026-06-01T01:05:43.490Z","repository":{"id":357280956,"uuid":"1232370516","full_name":"mizcausevic-dev/kinetic-flightdeck","owner":"mizcausevic-dev","description":"Unified ops console for AI Platform Engineering. Aggregates MCP server posture, governance decisions, and agent fleet observability into one operator surface.","archived":false,"fork":false,"pushed_at":"2026-05-12T04:26:49.000Z","size":525,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-12T06:27:34.575Z","etag":null,"topics":["agent-observability","ai-governance","ai-platform","ciso-tooling","express","flightdeck","mcp","ops-console","platform-engineering","typescript"],"latest_commit_sha":null,"homepage":"https://mizcausevic.com/skills/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mizcausevic-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-07T21:35:16.000Z","updated_at":"2026-05-12T04:26:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mizcausevic-dev/kinetic-flightdeck","commit_stats":null,"previous_names":["mizcausevic-dev/kinetic-flightdeck"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mizcausevic-dev/kinetic-flightdeck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fkinetic-flightdeck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fkinetic-flightdeck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fkinetic-flightdeck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fkinetic-flightdeck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mizcausevic-dev","download_url":"https://codeload.github.com/mizcausevic-dev/kinetic-flightdeck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fkinetic-flightdeck/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33755379,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-observability","ai-governance","ai-platform","ciso-tooling","express","flightdeck","mcp","ops-console","platform-engineering","typescript"],"created_at":"2026-06-01T01:05:43.423Z","updated_at":"2026-06-01T01:05:43.482Z","avatar_url":"https://github.com/mizcausevic-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kinetic Flightdeck\n\n[![CI](https://github.com/mizcausevic-dev/kinetic-flightdeck/actions/workflows/ci.yml/badge.svg)](https://github.com/mizcausevic-dev/kinetic-flightdeck/actions/workflows/ci.yml)\n[![Node](https://img.shields.io/badge/node-20%2B-339933?logo=node.js\u0026logoColor=white)](https://nodejs.org)\n[![TypeScript](https://img.shields.io/badge/typescript-5.6-3178C6?logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org)\n[![License: MIT](https://img.shields.io/badge/license-MIT-66FCF1)](LICENSE)\n\nUnified ops console for AI Platform Engineering — aggregates **MCP server posture**, **governance decisions**, and **agent fleet observability** into a single pane of glass that platform PMs, CISOs, and SRE leads can scan in 30 seconds.\n\n\u003e Recruiter takeaway:\n\u003e\n\u003e *\"This person doesn't think of MCP governance, AI policy enforcement, and agent observability as three products. They treat them as one platform layer with one operator surface — which is exactly how enterprises buy this stuff.\"*\n\n## Why This Exists\n\nOnce an enterprise is running 6–10 MCP servers, a handful of agent fleets, and a governance overlay, leadership has three different dashboards to check before standup. Flightdeck is the meta-layer that **rolls those dashboards up into one operator view** — composite posture per entity, unified incident feed across pillars, accountability by owning team, and a Monday-morning summary that fits on one screen.\n\nThis repo is the third pillar in a trilogy:\n\n| Repo | Layer | Question it answers |\n|---|---|---|\n| [`mcp-sentinel`](https://github.com/mizcausevic-dev/mcp-sentinel) | Tool surface | *What MCP tools are exposed and how risky are they?* |\n| [`agent-codex`](https://github.com/mizcausevic-dev/agent-codex) | Control plane | *Under what policies are decisions allowed?* |\n| [`agentobserve`](https://github.com/mizcausevic-dev/agentobserve) | Runtime | *What did agents actually do — cost, latency, outcomes?* |\n| **`kinetic-flightdeck`** | **Operator surface** | ***Are we OK right now? Who do I call?*** |\n\n## Project Overview\n\n| Attribute | Detail |\n|---|---|\n| Runtime | Node.js + TypeScript |\n| Framework | Express 5 |\n| Domain | AI Platform Engineering operator console |\n| Aggregation Areas | Composite posture · Unified incidents · Risk matrix · Owner accountability · Cost rollup · Timeline |\n| Operational Outputs | Fleet posture summary · Risk matrix · Top-risk entities · Team scorecards · Monday-morning headline |\n\n## Operator Console Preview\n\n![Kinetic Flightdeck operator console — KPIs, top-risk entities, risk matrix, unified incident timeline, and owner scorecards](docs/hero.png)\n\nA single page that fits the whole AI platform on one screen: composite KPIs at the top, top-risk entities and their next actions, the 7×5 risk matrix, the unified incident timeline pulling from all three pillars, and team scorecards with the attention-needed teams floated up first.\n\n## Composite Score Methodology\n\nFlightdeck doesn't invent posture data — it **synthesizes** the three pillars into one operator-friendly score using a weighted composite that reflects platform-engineering doctrine:\n\n| Pillar | Weight | Reasoning |\n|---|---|---|\n| Security (mcp-sentinel) | 0.45 | A security incident dominates other concerns |\n| Governance (agent-codex) | 0.30 | Compliance is binary in regulated environments |\n| Operations (agentobserve) | 0.25 | Degradation is recoverable; breach is not |\n\nA single critical signal (security score \u003c 50, multiple SLA breaches, or \u003e 20% budget overrun) **overrides the composite** and forces a `critical` or `degraded` status. This is the \"platform thinking\" doctrine: a 90 composite with one open critical security incident is still critical.\n\n## Architecture\n\n```\nmcp-sentinel ──┐\nagent-codex  ──┼──► flightdeck aggregators ──► /api/flightdeck/* ──► Operator UI\nagentobserve ──┘\n```\n\nIn production, flightdeck polls the three pillar services (or reads shared storage). In this repo, fleet/incident data is mocked to demonstrate the aggregation logic and operator outputs without requiring the other services running.\n\n## API Endpoints\n\n| Method | Endpoint | Purpose |\n|---|---|---|\n| GET | `/health` | Service status + upstream URLs |\n| GET | `/api/flightdeck/summary` | Monday-morning operator headline (top-3 risks, attention-needed teams, KPIs) |\n| GET | `/api/flightdeck/posture` | Full fleet rollup with summary + per-entity scores |\n| GET | `/api/flightdeck/posture/:entityId` | Single entity composite posture |\n| GET | `/api/flightdeck/incidents` | Unified incident feed; filters: `source`, `severity`, `status`, `entityId` |\n| GET | `/api/flightdeck/timeline?hours=N` | Recent incident timeline, newest first |\n| GET | `/api/flightdeck/risk-matrix` | N×M matrix of entities × risk dimensions |\n| GET | `/api/flightdeck/owners` | Team scorecards sorted by attention-needed |\n\n## Sample Output: `/api/flightdeck/summary`\n\n```json\n{\n  \"generatedAt\": \"2026-05-07T20:30:00Z\",\n  \"headline\": {\n    \"totalEntities\": 7,\n    \"productionAtRisk\": 2,\n    \"averageComposite\": 78,\n    \"openIncidents\": 4,\n    \"criticalIncidents\": 1,\n    \"teamsNeedingAttention\": 1\n  },\n  \"topRiskEntities\": [\n    {\n      \"entityId\": \"srv_internal_crm\",\n      \"name\": \"Internal CRM Bridge\",\n      \"composite\": { \"overall\": 47, \"security\": 35, \"governance\": 48, \"operations\": 62 },\n      \"status\": \"critical\",\n      \"recommendedNextAction\": \"Quarantine entity; engage SecOps + platform on-call; suspend production traffic.\"\n    }\n  ],\n  \"teamsNeedingAttention\": [\n    {\n      \"ownerTeam\": \"revops\",\n      \"ownedEntities\": 1,\n      \"openIncidents\": 3,\n      \"monthlyCostUsd\": 555,\n      \"status\": \"attention-needed\"\n    }\n  ]\n}\n```\n\n## Sample Output: Risk Matrix Cell\n\n```json\n{\n  \"entityId\": \"srv_internal_crm\",\n  \"dimension\": \"cost\",\n  \"level\": \"red\",\n  \"rationale\": \"Cost 123% of budget — material overrun.\"\n}\n```\n\n## Status Decision Logic\n\n| Status | Trigger |\n|---|---|\n| `critical` | Security \u003c 50, OR ≥ 2 open security incidents, OR composite \u003c 55 in production |\n| `degraded` | ≥ 3 SLA breaches, OR cost \u003e 1.2× budget, OR composite \u003c 70 |\n| `review` | Any open incident, OR composite \u003c 85 |\n| `healthy` | Composite ≥ 85 with zero open signals |\n\n## Getting Started\n\n### Prerequisites\n- Node.js 20+\n- npm\n\n### Setup\n\n```bash\ngit clone https://github.com/mizcausevic-dev/kinetic-flightdeck.git\ncd kinetic-flightdeck\nnpm install\nnpm run dev\n```\n\nVisit:\n- `http://localhost:3000/health`\n- `http://localhost:3000/api/flightdeck/summary`\n- `http://localhost:3000/api/flightdeck/risk-matrix`\n\n### Run Tests\n\n```bash\nnpm test\n```\n\n19 unit tests across posture aggregation, incident filtering, risk matrix, and owner-team scorecards.\n\n## What This Demonstrates\n\n- AI platform engineering as a unified operator surface, not three disconnected dashboards\n- Composite scoring that respects platform-engineering doctrine (security dominates)\n- Override logic — single critical signals override good composites (the \"90 + critical = critical\" rule)\n- N×M risk matrix as a CISO-readable view across entities and dimensions\n- Owner-team accountability rollup mapped to incident exposure\n- Production-minded TypeScript API with strict mode, full test coverage, CI matrix on Node 20 + 22\n\n## Future Enhancements\n\n- Live polling of mcp-sentinel, agent-codex, and agentobserve over their public APIs\n- WebSocket push for real-time incident updates\n- PagerDuty/Slack/SIEM webhook adapters for the unified incident feed\n- Persistent posture history with PostgreSQL + Grafana panels\n- Multi-tenant control plane for managed-service deployment\n- Embedded React dashboard with cross-pillar drill-down\n\n## Tech Stack\n\n- Node.js, TypeScript, Express, Zod\n- Helmet, CORS, Morgan\n- Node test runner\n\n## Portfolio Links\n\n- [LinkedIn](https://www.linkedin.com/in/mizcausevic/)\n- [Skills Page](https://mizcausevic.com/skills)\n- [Medium](https://medium.com/@mizcausevic)\n- [GitHub](https://github.com/mizcausevic-dev)\n\nPart of [mizcausevic-dev's GitHub portfolio](https://github.com/mizcausevic-dev) — AI Platform Engineering trilogy capstone.\n\n---\n\n**Connect:** [LinkedIn](https://www.linkedin.com/in/mirzacausevic/) · [Kinetic Gain](https://kineticgain.com) · [Medium](https://medium.com/@mizcausevic/) · [Skills](https://mizcausevic.com/skills/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmizcausevic-dev%2Fkinetic-flightdeck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmizcausevic-dev%2Fkinetic-flightdeck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmizcausevic-dev%2Fkinetic-flightdeck/lists"}