{"module":"ARCHITECTURE-OV2","version":"1.3.1","description":"SHIELD/ATLAS OV-2 — Operational View 2 (Node Connectivity). Part 1: data architecture overview. Part 2: GET /api/architecture/ov2/flows for interconnected technical pipelines + latency budgets.","legalFoundation":{"primaryMandate":{"title":"10 U.S.C. § 4401 — Modular Open System Approach (MOSA)","enacted":"NDAA FY2017, Section 804","text":"All major defense acquisition programs shall implement a modular open system approach. Systems must expose open, non-proprietary interfaces so that any compliant component can be swapped or integrated without proprietary lock-in.","implication":"SHIELD/ATLAS is MOSA-compliant by architecture — domain adapters are swappable modules. Evaluators who assume contracts prevent system communication are citing a pre-FY2017 problem that statute has since prohibited.","ref":"https://www.law.cornell.edu/uscode/text/10/4401"},"jadc2Mandate":{"title":"JADC2 — Joint All-Domain Command and Control","jrocDecision":"JROC 2019 (Joint Requirements Oversight Council)","ndaaEnforcement":"NDAA FY2021 Section 832 — mandated JADC2 strategy + 180-day implementation plan","text":"DoD shall develop a framework to connect sensors from all services into a single network, enabling any sensor to task any shooter across all domains (land, sea, air, space, cyber). Every new DoD system must demonstrate JADC2 interoperability.","implication":"SHIELD/ATLAS is designed as a JADC2 node — it receives from and disseminates to ATAK, AFATDS, GCCS-Army, DCGS-A, and any CoT/Link-16/NIEM compliant system. The 2019 JROC decision is the binding authority.","ref":"https://www.defense.gov/News/Releases/Release/Article/2944806/"},"openArchitecture":{"title":"NDAA FY2019 Section 868 — Open Architecture for C-UAS","text":"DoD directed to establish an open architecture standard for Counter-UAS systems to prevent vendor lock-in and enable multi-vendor engagement solutions.","implication":"SHIELD/ATLAS USEIF (Unified Sensor Engagement Interface) implements this mandate — partner lanes (Smart Shooter, ARCYN, Magos) plug in without proprietary coupling.","ref":"https://fas.org/sgp/cong/2019/ndaa.pdf"},"theQuestion":{"title":"Why evaluators assume broken interoperability","answer":"Multiple contracts, each awarded to a different prime, historically produced closed systems. MOSA (FY2017) changed the legal requirement. JADC2 (2019 JROC) made it a joint warfighting mandate. Systems built after these dates — including SHIELD/ATLAS — are legally required to interoperate. Pre-2017 legacy systems remain closed; SHIELD/ATLAS bridges them via adapters (CoT/TAK for ground SA, NIEM-enabled APIs for EM, Link-16 gateway for air picture)."}},"externalDataSources":{"_description":"Every external feed ingested by SHIELD/ATLAS. Organized by domain. Each entry shows: source, protocol/format, update rate, SHIELD/ATLAS endpoint that serves it, and the warfighting or EM function it enables.","airSpace":{"label":"Air / Space Domain","feeds":[{"id":"ads-b","source":"ADS-B Exchange (open) + FAA SWIM (licensed)","protocol":"JSON/REST over HTTPS","updateRateS":10,"ingestEndpoint":"/api/adsb/status","producedFor":["COP tactical air picture","Counter-UAS deconfliction","Air space management"],"wff":["Protection","Movement & Maneuver"],"echelon":["Battalion","Brigade","Division","Theater"],"classification":"UNCLASSIFIED — public ADS-B; FOUO for FAA SWIM","atlasCapability":"Fused into COP map layer; drives C-UAS deconfliction zone computation","liveStatus":"GET /api/adsb/status — HTTP 200"},{"id":"tle-space-track","source":"CelesTrak / Space-Track.org TLE feeds","protocol":"JSON/REST — via UDL integration adapter","updateRateS":3600,"ingestEndpoint":"/api/adapters/udl/space-weather","producedFor":["Satellite pass prediction","GPS spoofing correlation","Space weather + GNSS warning"],"wff":["Mission Command","Intelligence"],"echelon":["Theater","Strategic"],"classification":"UNCLASSIFIED","atlasCapability":"GPS jamming/spoofing correlation with satellite pass windows — feeds NAVWAR asymmetry warning","liveStatus":"GET /api/adapters/udl/space-weather — HTTP 200"},{"id":"swpc-space-weather","source":"NOAA Space Weather Prediction Center (SWPC) via UDL adapter","protocol":"JSON/REST","updateRateS":300,"ingestEndpoint":"/api/adapters/udl/space-weather","producedFor":["HF comms degradation warning","GPS accuracy warning","Solar event impact to comms"],"wff":["Mission Command","Intelligence","Protection"],"echelon":["All echelons"],"classification":"UNCLASSIFIED","atlasCapability":"DDIL posture pill on COP — space weather event → comms degradation → automatic DDIL mode shift","liveStatus":"GET /api/adapters/udl/space-weather — HTTP 200"},{"id":"gnss-research-arxiv","source":"arXiv GNSS Research Monitor (arXiv:2606.03673 class)","protocol":"Scheduled scrape + RAG ingest","updateRateS":86400,"ingestEndpoint":"/api/rag/status (auto-ingest)","producedFor":["GPS vulnerability corpus","Spoofing pattern library","NAVWAR doctrine update"],"wff":["Intelligence","Protection"],"echelon":["All echelons"],"classification":"UNCLASSIFIED","atlasCapability":"Populates doctrine corpus NAVWAR parameters; drives /api/doctrine-corpus/parameters/navwar"}]},"maritime":{"label":"Maritime Domain","feeds":[{"id":"ais-vessels","source":"AIS (Automatic Identification System) — open VHF + MarineTraffic API","protocol":"NMEA sentences → JSON","updateRateS":30,"ingestEndpoint":"/api/poseidon/status","producedFor":["Naval COP","Chokepoint monitoring","Coalition vessel picture"],"wff":["Intelligence","Movement & Maneuver"],"echelon":["Operational","Theater"],"classification":"UNCLASSIFIED (class B transponders); FOUO for military vessel tracks","atlasCapability":"POSEIDON cluster — live AIS-scale maritime picture; Persian Gulf / strait presets"},{"id":"noaa-nws-marine","source":"NOAA NWS Marine Forecast / Active CAP Alerts","protocol":"CAP XML → JSON","updateRateS":600,"ingestEndpoint":"/api/dual-use/weather-alerts","producedFor":["Maritime route planning","Amphibious ops weather","DSCA maritime hazard"],"wff":["Movement & Maneuver","Sustainment"],"echelon":["All echelons"],"classification":"UNCLASSIFIED","atlasCapability":"EM hub weather layer + COP METOC overlay"}]},"tacticalSensorMesh":{"label":"Tactical Sensor Mesh (ESMS — Every Soldier is a Sensor™)","feeds":[{"id":"acoustic-sensor","source":"Field-deployed acoustic sensors (any audio source, incl. SDR mic arrays)","protocol":"REST GET → acoustic library; POST → hardware/detect for live ingest","updateRateS":1,"ingestEndpoint":"/api/acoustic/library (GET) · /api/esms/detections (GET) · POST /api/esms/hardware/detect","producedFor":["UAS/drone acoustic detection","Gunshot detection","Vehicle movement"],"wff":["Intelligence","Protection"],"echelon":["Individual Soldier","Squad","Platoon","Company"],"classification":"UNCLASSIFIED","atlasCapability":"ESMS acoustic fingerprint library (8 platforms); Five Ds doctrine routing","doctrineRef":"JIATF 401 Three Terrains — Physical terrain acoustic propagation modeling","liveStatus":"GET /api/acoustic/library — HTTP 200 · GET /api/esms/hardware/status — HTTP 200"},{"id":"rf-spectrum","source":"RTL-SDR / software-defined radio sensors","protocol":"REST POST → /api/esms/spectrum","updateRateS":5,"ingestEndpoint":"/api/esms/spectrum","producedFor":["UAS RF fingerprinting","GCS uplink detection","Spectrum anomaly"],"wff":["Intelligence","Protection"],"echelon":["Individual Soldier","Squad","Platoon"],"classification":"UNCLASSIFIED","atlasCapability":"RF selective jam layer; operator GCS detection + spool back-projection","doctrineRef":"JIATF 401 Three Terrains — EM Spectrum domain"},{"id":"tak-cot","source":"TAK / ATAK / WinTAK CoT (Cursor on Target) feeds","protocol":"CoT XML over UDP/TCP + REST bridge","updateRateS":10,"ingestEndpoint":"/api/tak/snapshot","producedFor":["Blue force tracking","COP force picture","MEDEVAC call coordination"],"wff":["Mission Command","Movement & Maneuver"],"echelon":["Team","Squad","Platoon","Company","Battalion"],"classification":"UNCLASSIFIED // FOUO","atlasCapability":"BFT tile on COP; CoT bridge for TAK mesh active units","jadc2Compliance":"TAK/CoT is the DoD-standard ground SA protocol — SHIELD/ATLAS is a native node","liveStatus":"GET /api/tak/snapshot — HTTP 200"}]},"environmentalHazard":{"label":"Environmental & Hazard Feeds","feeds":[{"id":"nasa-firms","source":"NASA FIRMS (Fire Information for Resource Management System)","protocol":"REST/JSON — VIIRS + MODIS 375m/1km","updateRateS":3600,"ingestEndpoint":"/api/dual-use/fires","producedFor":["Wildfire threat to MSR","EOC fire tracking","DSCA fire ops COP"],"wff":["Protection","Sustainment"],"echelon":["State/DSCA","Brigade","Theater"],"classification":"UNCLASSIFIED","atlasCapability":"EM worst-day wildfire scenario + COP fire layer"},{"id":"usgs-seismic","source":"USGS Earthquake Hazards Program (real-time feed)","protocol":"GeoJSON/REST","updateRateS":60,"ingestEndpoint":"/api/dual-use/earthquakes","producedFor":["DSCA earthquake ops","Infrastructure damage assessment","EOC activation trigger"],"wff":["Protection","Sustainment"],"echelon":["State/DSCA","National Guard","FEMA Region"],"classification":"UNCLASSIFIED","atlasCapability":"EM worst-day earthquake scenario; M7.8 seismic event → S&R → shelter flow"}]},"osintDoctrine":{"label":"OSINT & Doctrine Corpus","feeds":[{"id":"jiatf401-doctrine","source":"Joint Interagency Task Force 401 — Counter-UAS Handbook (Jul 2026)","protocol":"PDF parse → doctrine-corpus.json","updateRateS":"on-ingest","ingestEndpoint":"/api/doctrine-corpus/ingest","producedFor":["Five Ds engagement routing","Four Ps threat assessment","Three Terrains modeling"],"wff":["Protection","Intelligence","Mission Command"],"echelon":["All echelons"],"classification":"UNCLASSIFIED","atlasCapability":"doctrine-corpus.json → operational code reads parameters at runtime"},{"id":"rag-intel-auto","source":"Scheduled OSINT research (RAG researcher — Perplexity + OpenRouter)","protocol":"AI inference → markdown → docs/intel/auto/","updateRateS":86400,"ingestEndpoint":"/api/rag-researcher/status","producedFor":["Threat evolution tracking","Daily intel BLUF","COP context enrichment"],"wff":["Intelligence"],"echelon":["All echelons"],"classification":"UNCLASSIFIED","atlasCapability":"Intel auto surface (/intel-auto); feeds RAG retrieval for all AI queries"},{"id":"attrition-doctrine-mma","source":"DIU Massed Modular Aircraft (MMA) Solicitation + Breaking Defense attrition doctrine (Jul 2026)","protocol":"Web scrape + RAG ingest → doctrine-corpus.json attritionalWarfare","updateRateS":"on-ingest","ingestEndpoint":"/api/doctrine-corpus/ingest","producedFor":["Cost-exchange calculator inputs","Attrition planner benchmarks","Campaign sustainability analysis"],"wff":["Fires","Sustainment","Protection"],"echelon":["Battalion","Brigade","Division","Theater"],"classification":"UNCLASSIFIED","atlasCapability":"doctrine-corpus.json attritionalWarfare → Intel Tools LOO-3 (Attrition Planner + Cost-Exchange Calculator)"},{"id":"ai-governance-dod","source":"AFRL / DARPA Anthropic ban (Jul 2026) + DoD AI governance executive actions","protocol":"Signal capture → doctrine-corpus.json aiGovernance","updateRateS":"on-ingest","ingestEndpoint":"/api/doctrine-corpus/ingest","producedFor":["AI provider compliance routing","Anthropic model ban enforcement","RAG validation rules"],"wff":["Mission Command"],"echelon":["All echelons"],"classification":"UNCLASSIFIED","atlasCapability":"doctrine-corpus.json aiGovernance → /api/ai-orchestrator/compliance + assertNotAnthropic() guard in ai-provider-orchestrator.ts"},{"id":"cca-teaming-doctrine","source":"Boeing Ghost Bat + USAF CCA program doctrine (Jul 2026) + LADRS rifle-mount system","protocol":"OSINT synthesis → doctrine-corpus.json ccaTeaming","updateRateS":"on-ingest","ingestEndpoint":"/api/doctrine-corpus/ingest","producedFor":["Human-on-loop vs human-in-loop taxonomy","NAVWAR requirement for manned-unmanned teaming","CCA increment planning"],"wff":["Mission Command","Fires","Intelligence"],"echelon":["Squadron","Wing","Theater"],"classification":"UNCLASSIFIED","atlasCapability":"doctrine-corpus.json ccaTeaming → Autonomy Classifier ewEffectiveness + HITL gate taxonomy"},{"id":"swarm-scale-defense","source":"Skapion / Arena-M / DefendAir swarm defense platforms + fiber-optic drone threat (Jul 2026)","protocol":"OSINT synthesis → doctrine-corpus.json swarmScaleDefense","updateRateS":"on-ingest","ingestEndpoint":"/api/doctrine-corpus/ingest","producedFor":["Vehicle-organic APS options","Swarm engagement layering","Fiber-optic drone EW null response"],"wff":["Protection","Fires"],"echelon":["Vehicle","Squad","Platoon","Company"],"classification":"UNCLASSIFIED","atlasCapability":"doctrine-corpus.json swarmScaleDefense → Sensor-Effector Matcher fallback options + Adversary Tracker TTPs"},{"id":"sbir-baa-signals","source":"SBIR.gov + SAM.gov opportunity feeds (market lane only)","protocol":"REST/JSON","updateRateS":86400,"ingestEndpoint":"/api/intel/market/* (admin-gated — not operational intel lane)","producedFor":["MARKET INTEL lane only — BD, proposal writing, pursuit prioritization"],"wff":["NOT a WFF function — commercial lane"],"echelon":["Internal (Terry/operator)"],"classification":"UNCLASSIFIED — but ADMIN gated; not surfaced on operational intel","atlasCapability":"/market-intel-command (admin only); explicitly NOT part of operational COP or OV-2 sensor mesh","note":"Per operator instruction: USASpending.gov and SAM.gov data are commercial BD signals only — excluded from operational OV-2 data architecture"}]},"aiInferenceProviders":{"label":"AI Inference Providers (through resilient orchestration layer)","feeds":[{"id":"openrouter","source":"OpenRouter.ai — routing gateway to GPT-4o, Claude 3.7, Gemini 1.5 Pro, Grok","protocol":"OpenAI-compatible REST + SSE","updateRateS":"on-demand","ingestEndpoint":"/api/atlas/chat (plain JSON) · /api/evaluator-ai/chat (SSE)","producedFor":["ODIN co-pilot reasoning","SITREP generation","COA synthesis","Intel BLUF"],"wff":["Mission Command","Intelligence"],"echelon":["All echelons"],"classification":"UNCLASSIFIED (inference only; no classified data sent)","atlasCapability":"Tier cascade: GPT-4o → Gemini → Grok → Perplexity → local RAG fallback. Per-tier 30s timeout + global 50s deadline.","ironRule":"IRON RULE 7 — all AI calls through resilient orchestration layer only; no direct SDK calls in operational code"},{"id":"perplexity-research","source":"Perplexity AI (sonar-medium-online) — live web search + citation","protocol":"REST/JSON","updateRateS":"on-demand (research tier)","ingestEndpoint":"/api/ai-orchestrator/perplexity-ping · rag-researcher.ts","producedFor":["Live OSINT research","Current threat landscape","Document synthesis"],"wff":["Intelligence"],"echelon":["All echelons"],"classification":"UNCLASSIFIED","atlasCapability":"RAG researcher scheduled daily research + live query fallback tier"},{"id":"local-rag","source":"Local RAG corpus (docs/intel/auto/ + docs/intel/private/) — offline-first","protocol":"File-system retrieval + TF-IDF","updateRateS":"always-available","ingestEndpoint":"/api/intel-rag/* · /api/intel/pulse","producedFor":["DDIL fallback — no internet required","Grounded citation for AI answers","Corpus floor validation"],"wff":["Mission Command","Intelligence"],"echelon":["All echelons — critical in DDIL environments"],"classification":"UNCLASSIFIED baseline; FOUO in private lane","atlasCapability":"GREEN/AMBER/RED grounding tags on all AI output; corpus floor = 2 docs minimum before AI responds","ddilNote":"When internet is unavailable, RAG corpus is the sole inference source — DDIL-native by design"}]},"militarySystemIntegrations":{"label":"Military System Integrations (JADC2 / MOSA compliance)","feeds":[{"id":"atak-tak","source":"ATAK / WinTAK / iTAK (Android Team Awareness Kit)","protocol":"CoT XML (UDP/TCP) + TAK Server REST","updateRateS":10,"ingestEndpoint":"/api/tak/snapshot · /tak-demo","producedFor":["Ground SA force picture","MEDEVAC call","Patrol routes","OPORD distribution"],"wff":["Mission Command","Movement & Maneuver","Intelligence"],"echelon":["Individual","Team","Squad","Platoon"],"classification":"UNCLASSIFIED // FOUO","mosaCompliance":"CoT is DoD-standard; no proprietary coupling — any TAK-compatible system connects","jadc2Role":"TAK is the DoD ground SA node; SHIELD/ATLAS bridges TAK to COP, fires, and intel layers","liveStatus":"GET /api/tak/snapshot — HTTP 200"},{"id":"afatds","source":"AFATDS (Advanced Field Artillery Tactical Data System)","protocol":"NFFI / Link adapter (planned) — currently: operator-input fire missions via fires module","updateRateS":"on-fire-mission","ingestEndpoint":"/api/fire-mission/log · /api/useif/killchains","producedFor":["Fire mission coordination","Battle Damage Assessment","D3A targeting cycle"],"wff":["Fires"],"echelon":["Battery","Battalion","Brigade"],"classification":"UNCLASSIFIED // SECRET (fire mission data is SECRET when actual grid data used)","mosaCompliance":"MOSA adapter planned (FY2027 roadmap); current: operator-input fires export","jadc2Role":"Fires sensor → shooter linkage per JADC2 mandate","atlasCapability":"F3EAD targeting cycle surface (/fires-worst-day); fires WFF prove chain","liveStatus":"GET /api/fire-mission/log — HTTP 200"},{"id":"gccs-army","source":"GCCS-Army (Global Command and Control System — Army)","protocol":"NIEM 4.0 / JC3IEDM-compatible REST (adapter)","updateRateS":60,"ingestEndpoint":"/api/cop/* (force tracks layer)","producedFor":["Division/Corps operational picture","Higher HQ COP integration","OPLANs distribution"],"wff":["Mission Command","Intelligence"],"echelon":["Division","Corps","Theater"],"classification":"UNCLASSIFIED (unclass layer) // SECRET (classified layer — SIPRNET)","mosaCompliance":"NIEM-compliant interface — legally required per MOSA FY2017","atlasCapability":"COP strategic overlay; unclassified force tracks merged into tactical COP"},{"id":"dcgs-a","source":"DCGS-A (Distributed Common Ground System — Army)","protocol":"GENESIS API / REST (adapter planned)","updateRateS":3600,"ingestEndpoint":"/api/intel/* (intel synthesis layer)","producedFor":["All-source intelligence products","IPB","Named Area of Interest","Priority Intelligence Requirements"],"wff":["Intelligence"],"echelon":["Brigade","Division","Corps"],"classification":"UNCLASSIFIED // SECRET // TS/SCI (depends on feed)","mosaCompliance":"DCGS-A itself is MOSA-mandated since FY2013; SHIELD/ATLAS consumes unclass tier","atlasCapability":"Intel synthesis layer; IPB workflow → intel products → BLUF distribution"},{"id":"jadc2-cbm","source":"JADC2 Combined Battle Management (ABMS / Project Convergence)","protocol":"API-first (DoD JADC2 reference architecture)","updateRateS":"event-driven","ingestEndpoint":"Adapter layer (roadmap)","producedFor":["All-domain sensor fusion","Multi-service targeting","Cross-domain kill chains"],"wff":["All WFF"],"echelon":["Theater","Strategic","Joint"],"classification":"UNCLASSIFIED coordination layer","mosaCompliance":"SHIELD/ATLAS architecture designed as a JADC2 node — not a replacement","jadc2Role":"SHIELD/ATLAS is a edge/tactical JADC2 node (company → brigade); bridges to theater JADC2 via adapter","atlasCapability":"Event bus (platform-bus) implements publish/subscribe for JADC2-style sensor-to-shooter events"}]}},"internalProcessing":{"_description":"Seven internal processing layers — data flows through each in sequence. L7 (Decision Intelligence) was added in v1.1.0 with the Intel Tools Symphony suite.","layer1_ingress":{"id":"L1","name":"Ingress Normalization","description":"All external data enters through typed adapters. Raw feeds are normalized to internal schema before touching any platform logic.","components":["Feed adapters (NASA, NOAA, ADS-B, AIS, TAK/CoT)","Format converters (CAP XML, GeoJSON, CoT XML, NMEA)","Rate-limit governors (per-source token bucket)","Deduplication (content hash, 5-min window)"],"errorBudget":"99.5% uptime; stale data labeled with age — never served as current without timestamp","atlasFiles":["server/feeds-live.ts","server/feeds-dod-sbir-topics.ts","server/nws-feed.ts","server/firms-feed.ts"]},"layer2_fusion":{"id":"L2","name":"Sensor Fusion Engine","description":"Correlates tracks from multiple sources into unified picture. Applies confidence scoring. Surfaces anomalies (spoofing, off-nominal behavior).","components":["Track correlation (geo-hash + time-window)","Confidence scoring (source reliability × recency × cross-corroboration)","Anomaly detection (GPS vs IMU inconsistency = spoofing indicator)","DDIL edge merge (CRDT-based store-forward for offline nodes)"],"errorBudget":"Duplicate tracks prevented by content-hash dedup; confidence floor = 0.3 before track shown on COP","atlasFiles":["server/uav-swarm-behavior.ts","server/drone-nav-model.ts","server/swarm-failsafe.ts","server/reality-sync.ts"],"liveEndpoints":["GET /api/uav/swarm-behavior/status","GET /api/swarm/status","GET /api/drone-nav/platforms"],"doctrineRef":"JIATF 401 Three Terrains — fusion models Physical + EM + Network together"},"layer3_intelligence":{"id":"L3","name":"Intelligence Synthesis","description":"AI-augmented analysis layer. Produces BLUF strips, COA options, IPB products. Grounded by RAG corpus. AI sorts/flags — human decides kinetic.","components":["AI orchestrator (4-tier: GPT-4o → Gemini → Grok → Perplexity → local RAG)","RAG retrieval (docs/intel/auto/ + docs/intel/private/ — TF-IDF + semantic)","Grounding tags (GREEN = corpus-verified, AMBER = plausible, RED = speculative)","BLUF generator (/api/cop/alerts-intel)","COA synthesis (/api/coa/threat-event)","Intel pulse scheduler (daily OSINT research → RAG ingest)"],"errorBudget":"Per-tier 30s timeout; global 50s deadline; offline RAG fallback guaranteed","atlasFiles":["server/ai-provider-orchestrator.ts","server/atlas-ai-chat.ts","server/rag-researcher.ts","server/intel-rag.ts","server/intel-briefing.ts"],"ironRule":"IRON RULE 7 — AI inference only through orchestrator. IRON RULE 2 — no fabrication; RAG floor enforced."},"layer4_killchain":{"id":"L4","name":"Kill Chain Enforcement (Human-in-Loop Gate)","description":"No Defeat-class (kinetic) action executes without human approval. Every engagement recommendation is queued; operator must explicitly release.","components":["USEIF (Unified Sensor Engagement Interface) — engagement queue","HIL gate: POST /api/useif/killchains/:id/approve","Five Ds doctrine router (Detect → Deny → Disrupt → Defeat — escalation required)","Audit trail (every approve/reject logged with timestamp + operator identity)","COP alert intel — COA options presented, not executed"],"errorBudget":"Zero tolerance — no automated kinetic action. Human approval is a hard gate, not a soft check.","atlasFiles":["server/coas-engine.ts","server/esms-cuas.ts","server/kill-chain-simulation.ts"],"legalBasis":"IRON RULE 5 — Human-in-loop architecture; aligns with DoDD 3000.09 (Autonomous Weapons)","doctrineRef":"JIATF 401 AI Bounds — autonomy latitude is NARROW for homeland; automation broad"},"layer5_dissemination":{"id":"L5","name":"Multi-Surface Dissemination","description":"Intelligence products pushed to 100+ operator surfaces, mobile app, TAK mesh, and partner adapters simultaneously.","components":["HTML surfaces (100+ Express-served templates)","REST APIs (public + evaluator-gated)","WebSocket real-time push (COP live updates)","Server-Sent Events (streaming AI responses)","TAK/CoT bridge (for ATAK/WinTAK)","PDF export (demo pack, capability statement)","Expo/React Native mobile app (client/)","ESP32 firmware OTA (firmware/ — field sensor updates)"],"errorBudget":"HTML surfaces: 100ms P95 response; API: 200ms P95; WS: 500ms latency budget","atlasFiles":["server/platform.ts","server/index.ts","client/","firmware/"]},"layer6_doctrine":{"id":"L6","name":"Doctrine Learning Layer","description":"Continuously ingests new doctrine, research, and TTPs. Operational modules read from doctrine-corpus.json at runtime — no redeploy required when doctrine updates.","components":["Doctrine corpus (data/doctrine-corpus.json v1.1.0 — canonical parameter store, 11 domains)","Ingestion pipeline (POST /api/doctrine-corpus/ingest — admin + URL)","Signal discipline registry (data/signal-discipline-registry.json — 11 new signals Jul 2026)","Signal ledger (docs/intel/private/operator/signal-discipline-ledger.jsonl — append-only audit)","Operational adapters: swarm behavior, nav model, reality sync all read doctrine params at runtime","RAG auto-ingest (new doctrine → markdown → docs/intel/auto/ → available to all AI queries within 1 cycle)"],"errorBudget":"Doctrine updates propagate to operational code within one server read cycle (no restart required for JSON params)","atlasFiles":["server/doctrine-corpus.ts","data/doctrine-corpus.json","data/signal-discipline-registry.json","server/rag-researcher.ts"],"doctrineRef":"JIATF 401 + Palladyne SwarmOS + Breaking Defense GPS Resiliency + MMA + AI Governance + Maritime ADW + CCA + Swarm-Scale Defense (all ingested Jul 2026)"},"layer7_decisionIntelligence":{"id":"L7","name":"Decision Intelligence Symphony","description":"Seven purpose-built decision-intelligence tools organized across 4 Lines of Operation (LOO). Each tool reads doctrine-corpus.json at runtime, enforces HITL on every response, and audits every call. The Full Chain Symphony orchestrates all four LOOs in a single API call.","components":["LOO-1 — Threat Classification: Autonomy Classifier (POST /api/intel-tools/autonomy-classify) + GPS Spoofing Detector (POST /api/intel-tools/spoofing-detect)","LOO-2 — Engagement Planning: Sensor-Effector Matcher (POST /api/intel-tools/sensor-effector-match) + Cost-Exchange Calculator (POST /api/intel-tools/cost-exchange)","LOO-3 — Campaign Planning: Attrition Planner (POST /api/intel-tools/attrition-plan) + Adversary Tracker (GET /api/intel-tools/adversary-tracker)","LOO-4 — AI Governance: AI Compliance Checker (GET /api/ai-orchestrator/compliance — Anthropic ban enforcement)","Full Chain Symphony (POST /api/intel-tools/full-chain — all 4 LOOs in one call; combined verdict)","Status endpoint (GET /api/intel-tools/status — corpus health, degradation flag)"],"errorBudget":"hitlGate on 100% of responses; corpus load failure → DEGRADED status (never silent); per-tool input validation with INPUT_ERROR for invalid inputs; latitude-corrected GPS divergence math","atlasFiles":["server/intel-tools.ts","server/templates/intel-tools.html","data/doctrine-corpus.json"],"surfaces":["/intel-tools","/decision-tools","/blue-ocean"],"doctrineRef":"JIATF 401 + NAVWAR + attritionalWarfare + aiGovernance + swarmScaleDefense (doctrine-corpus.json v1.1.0)","ironRule":"IRON RULE 5 — hitlGate field required on every response; no automated kinetic action ever","addedVersion":"v1.1.0 (Jul 2026)"}},"linesOfEffort":{"_description":"SHIELD/ATLAS operations organized as military Lines of Effort (LOE) and Lines of Operation (LOO).","loe_sense":{"id":"LOE-1","name":"SENSE","description":"Continuously receive data from all external feeds","inputs":["ADS-B","AIS","ESMS acoustic/RF","TAK/CoT","NASA/NOAA hazards","GNSS/space weather"],"outputs":["Normalized tracks in fusion engine","Anomaly flags","DDIL queue for offline nodes"],"performanceMetric":"Feed freshness < 60s for tactical feeds; < 3600s for strategic feeds"},"loe_synthesize":{"id":"LOE-2","name":"SYNTHESIZE","description":"Fuse, correlate, and analyze all sensed data","inputs":["Normalized tracks from L1/L2","RAG corpus","Doctrine parameters"],"outputs":["Fused COP picture","Confidence-scored threat assessments","BLUF intel strips"],"performanceMetric":"Intelligence product latency < 5s for COP alerts; < 30s for full BLUF"},"loe_decide":{"id":"LOE-3","name":"DECIDE","description":"Present decision options with human-in-loop gate for all kinetic actions. The Decision Intelligence Symphony (L7) provides structured decision-assist tools across 4 Lines of Operation — operators receive classified options, not automated outputs.","inputs":["Threat assessment","COA options","Doctrine-based recommendations","Intel Tools Symphony outputs (LOO 1-4)"],"outputs":["Operator-approved actions","Deferred engagement queue","Audit log entry"],"performanceMetric":"Zero automated kinetic actions; 100% human approval for Defeat-class; hitlGate on 100% of Intel Tools responses","decisionToolsSurface":"/intel-tools (LOO-1: classify + spoof-detect | LOO-2: effector-match + cost-exchange | LOO-3: attrition + adversary-track | LOO-4: AI compliance)","symphonyEndpoint":"POST /api/intel-tools/full-chain"},"loe_act":{"id":"LOE-4","name":"ACT","description":"Execute approved actions — disseminate products, route engagements, dispatch reports","inputs":["Operator-approved decisions","Engagement queue"],"outputs":["Fire missions (via fires module)","SITREP dissemination","COP updates","TAK broadcast"],"performanceMetric":"Engagement routing < 2s from approval; SITREP distribution < 5s"},"loe_audit":{"id":"LOE-5","name":"AUDIT","description":"Every state change generates an immutable audit row — the audit trail is the product","inputs":["All LOE-1 through LOE-4 events"],"outputs":["Audit ledger (append-only)","Compliance evidence chain","GAP-131 integration matrix"],"performanceMetric":"100% of state changes logged; audit trail queryable < 500ms","ironRule":"IRON RULE — a state change without an audit row is the product failing at its own thesis"},"loe_sync":{"id":"LOE-6","name":"SYNC","description":"Synchronize state across echelons, partner systems, and offline nodes","inputs":["DDIL queue (offline node store-forward)","TAK CoT bridge","Partner API adapters"],"outputs":["Multi-echelon COP coherence","CRDT-merged offline data when node reconnects","Partner system integration"],"performanceMetric":"Offline node syncs within 30s of reconnect; no data loss during DDIL period"},"loe_learn":{"id":"LOE-7","name":"LEARN","description":"Continuously ingest new doctrine, TTPs, and threat signatures","inputs":["Doctrine corpus ingest API","RAG researcher (daily)","Signal discipline captures"],"outputs":["Updated doctrine parameters (live, no redeploy)","Enriched RAG corpus","Signal ledger entries"],"performanceMetric":"New doctrine available to all operational modules within 1 server read cycle"}},"decisionIntelligenceTools":{"_description":"Seven decision-intelligence tools organized as 4 Lines of Operation (LOO). Added v1.1.0 Jul 2026. All tools read doctrine-corpus.json at runtime. All responses include hitlGate — human approval required before any Defeat-class action. Zero silent failures — corpus load errors surface as DEGRADED status.","surface":"/intel-tools","alternateRoutes":["/decision-tools","/blue-ocean"],"symphonyEndpoint":"POST /api/intel-tools/full-chain","statusEndpoint":"GET /api/intel-tools/status","evaluatorCatalog":"GET /api/evaluate/featured-catalog (category: intel-tools)","doctrineCorpusVersion":"1.1.0","loo1_threatClassification":{"id":"LOO-1","name":"Threat Classification","description":"Classify the threat's autonomy level and detect GPS spoofing — foundational inputs for all downstream engagement and campaign planning decisions.","tools":[{"id":"autonomy-classifier","name":"Autonomy Classifier","endpoint":"POST /api/intel-tools/autonomy-classify","description":"Classifies drone/UAS into FULLY_AUTONOMOUS, SEMI_AUTONOMOUS, AUTOMATED, or REMOTE_CONTROLLED based on observed behaviors (RTH on jam, GPS hold, swarm coordination, operator uplink, preplanned path). Drives effector selection and HITL gate requirements. EW effectiveness: EFFECTIVE / PARTIAL / NONE.","keyInputs":["rthOnJam","gpsHoldBehavior","swarmCoordination","operatorUplink","preplannedPath"],"keyOutputs":["autonomyLevel","ewEffectiveness","hitlGate","corpusDriven"],"doctrineRef":"JIATF 401 Four Ps (Platform) + AI Bounds; doctrine-corpus.json v1.1 ccaTeaming.humanOnTheLoop","ironRule":"IRON RULE 5 — hitlGate on every response"},{"id":"spoofing-detector","name":"GPS Spoofing Detector","endpoint":"POST /api/intel-tools/spoofing-detect","description":"Detects GPS spoofing by comparing declared GPS position vs. estimated inertial/IMU position. Applies latitude-corrected divergence math (cos(lat) correction for longitude distance). Returns confidence score and recommended mitigation.","keyInputs":["gpsLat","gpsLon","imuLat","imuLon","altitude"],"keyOutputs":["spoofingDetected","spoofingConfidence","divergenceMeters","recommendation","hitlGate"],"doctrineRef":"NAVWAR Asymmetry doctrine; doctrine-corpus.json navwar parameters; Breaking Defense GPS Resiliency (Jul 2026)"}]},"loo2_engagementPlanning":{"id":"LOO-2","name":"Engagement Planning","description":"Match threats to available effectors and calculate cost-exchange ratio — informs resource allocation and engagement authority decisions.","tools":[{"id":"sensor-effector-matcher","name":"Sensor-Effector Matcher","endpoint":"POST /api/intel-tools/sensor-effector-match","description":"Matches a detected UAS threat to the optimal effector (kinetic, EW, cyber, combined) based on autonomy level, threat class, terrain, and C-UAS open architecture tiers. EW effectiveness from Autonomy Classifier feeds matcher directly.","keyInputs":["threatClass","autonomyLevel","ewEffectiveness","terrain","rangeM"],"keyOutputs":["recommendedEffectors","primaryOption","fallbackOption","hitlGate"],"doctrineRef":"JIATF 401 Five Ds (Defeat tier); NDAA FY2019 §868 Open Architecture C-UAS; doctrine-corpus.json cuas.fiveDs"},{"id":"cost-exchange-calculator","name":"Cost-Exchange Calculator","endpoint":"POST /api/intel-tools/cost-exchange","description":"Calculates cost-exchange ratio (interceptor cost × salvo ÷ (threat cost × kill probability)). Returns whether engagement is economically sustainable vs. attrition doctrine benchmarks. Guards against zero inputs (INPUT_ERROR) and Infinity results.","keyInputs":["interceptorCostUsd","threatCostUsd","killProbability","salvoSize"],"keyOutputs":["ratio","expectedCostPerKill","verdict","doctrineThreshold","hitlGate"],"doctrineRef":"doctrine-corpus.json attritionalWarfare.costExchangeRatio (favourable <0.5:1 | neutral 0.5–2:1 | unfavourable >2:1)"}]},"loo3_campaignPlanning":{"id":"LOO-3","name":"Campaign Planning","description":"Plan attrition budgets across the campaign duration and track adversary system TTPs to inform force structure and resupply decisions.","tools":[{"id":"attrition-planner","name":"Attrition Planner","endpoint":"POST /api/intel-tools/attrition-plan","description":"Models inventory depletion over time given daily attrition rate and resupply. Returns critical threshold day (when inventory hits floor) and budget runway. Handles resupply-exceeds-attrition case gracefully (constrainingFactor: SUSTAINED, criticalThresholdDay: null).","keyInputs":["startInventory","dailyAttritionRate","dailyResupplyRate","unitCostUsd","campaignDays"],"keyOutputs":["endInventory","criticalThresholdDay","budgetRunwayDays","constrainingFactor","hitlGate"],"doctrineRef":"DIU Massed Modular Aircraft (MMA) doctrine; doctrine-corpus.json attritionalWarfare.massModularAircraft + dispersalDoctrine"},{"id":"adversary-tracker","name":"Adversary System Tracker","endpoint":"GET /api/intel-tools/adversary-tracker?system=&theater=","description":"Queries the adversary system knowledge base for known TTPs, effective countermeasures, and threat evolution notes. Covers Shahed-136/Geranium-2 (loitering munitions), Lancet (precision), FPV swarms, Orlan-10 (ISR). Fiber-optic variant: EW null — only physical intercept.","keyInputs":["system (query param)","theater (query param)"],"keyOutputs":["knownSystems","ttps","effectiveCounters","evolutionNotes","hitlGate"],"doctrineRef":"doctrine-corpus.json swarmScaleDefense (Skapion, Arena-M, DefendAir); ops-intel-synthesis Jul 2026"}]},"loo4_compliance":{"id":"LOO-4","name":"AI Governance & Compliance","description":"Enforce DoD AI governance policies — Anthropic model ban (AFRL/DARPA, effective Sep 2026), open architecture compliance, and RAG output validation. Reports live compliance status.","tools":[{"id":"ai-compliance","name":"AI Compliance Checker","endpoint":"GET /api/ai-orchestrator/compliance","description":"Reports compliance status against DoD AI governance rules: Anthropic model ban deadline (Sep 2026), configured models, blocked models, defense contract mode, and RAG validation enforcement. The assertNotAnthropic() guard is enforced at the orchestrator level — no Anthropic models route in DEFENSE_CONTRACT_MODE.","keyInputs":[],"keyOutputs":["defenseContractMode","anthropicBan","configuredModels","blockedModels","compliant"],"doctrineRef":"doctrine-corpus.json aiGovernance.anthropicBan; AFRL/SOCOM/DARPA scope; DoDD 3000.09; IRON RULE 7"}]},"symphony":{"id":"SYMPHONY","name":"Full Chain Symphony","endpoint":"POST /api/intel-tools/full-chain","description":"Orchestrates all four LOOs in a single API call — Classify → Detect → Match → Cost → Plan → Track → Comply. Each tool runs with its own inputs; absent inputs skip that tool gracefully. Returns a combined symphonyVerdict with recommendations drawn from all doctrine domains. hitlGate on the full response mirrors the strictest individual gate.","inputs":["All LOO 1–4 inputs (partial OK — tools skip gracefully if inputs absent)"],"outputs":["autonomyClassification","spoofingStatus","effectorMatch","costExchange","attrition","adversaryTrack","complianceStatus","symphonyVerdict","hitlGate"],"doctrineRef":"Synthesis of all v1.1.0 doctrine domains: JIATF 401 + NAVWAR + attritionalWarfare + aiGovernance + swarmScaleDefense + maritimeAdw + ccaTeaming"}},"branchWffEchelon":{"army":{"branch":"Army","warfightingFunctions":{"missionCommand":{"wff":"Mission Command","surfaces":["/workspace","/ios","/cop","/em-hub"],"apis":["/api/ios/current","/api/cop/alerts-intel","/api/workspace/modules"],"echelons":["Team","Squad","Platoon","Company","Battalion","Brigade"],"capability":"6-pane battle rhythm workspace; WFF tiles; DDIL-native command post"},"intelligence":{"wff":"Intelligence (S2/G2)","surfaces":["/intel-auto","/intel-command","/intel-worst-day"],"apis":["/api/intel/pulse","/api/cop/alerts-intel","/api/intel-ops/sitrep"],"echelons":["Company","Battalion","Brigade","Division"],"capability":"IPB workflow; NAI/PIR management; daily OSINT BLUF; DCGS-A bridge"},"fires":{"wff":"Fires (S3/FSO)","surfaces":["/fires-worst-day","/cram","/kill-chain-simulation"],"apis":["/api/fires/missions","/api/cram/threat-library","/api/useif/killchains"],"echelons":["Battery","Battalion","Brigade"],"capability":"D3A/F3EAD targeting cycle; C-RAM kill chain; human-release gate on all kinetic"},"protection":{"wff":"Protection (S3/FSO coordination)","surfaces":["/cuas-posture","/protection-worst-day","/gps-denied"],"apis":["/api/cuas/open-architecture/scenario","/api/esms/engagement-options","/api/nav/jammers"],"echelons":["Squad","Platoon","Company","Battalion"],"capability":"C-UAS Five Ds routing; ESMS acoustic/RF detection; GPS-denied nav fallback","doctrineRef":"JIATF 401 Five Ds + Four Ps + Three Terrains"},"movementManeuver":{"wff":"Movement & Maneuver","surfaces":["/scenario-worst-day","/gps-denied","/logistics-walkthrough"],"apis":["/api/drone-nav/predict","/api/logistics/inventory","/api/nav/jammers"],"echelons":["Squad","Platoon","Company"],"capability":"Route planning under GPS denial; logistics spine; MSR clearance; convoy scenario"},"sustainment":{"wff":"Sustainment (S4/G4)","surfaces":["/logistics-walkthrough","/sustainment-worst-day"],"apis":["/api/logistics/inventory","/api/prove/touch/sustainment-worst-day"],"echelons":["Company","Battalion","Brigade","Division"],"capability":"PERSTAT; pacing items; industrial surge; BSB/convoy scenario; LOGSTAT hooks"}}},"navyMarines":{"branch":"Navy / Marine Corps","surfaces":["/maritime","/cop","/poseidon"],"apis":["/api/poseidon/status","/api/dual-use/air-traffic","/api/cop/alerts-intel"],"echelons":["Ship","Squadron","MEU","MEF"],"capability":"POSEIDON maritime cluster; AIS-scale vessel picture; chokepoint monitoring; amphibious COP"},"airForceSpace":{"branch":"Air Force / Space Force","surfaces":["/gps-denied","/cop","/intel-auto"],"apis":["/api/dual-use/space-weather","/api/nav/jammers","/api/space-track/tle"],"echelons":["Wing","Group","Squadron"],"capability":"Space weather → GPS impact correlation; GNSS spoofing detection; air space deconfliction"},"nationalGuardDSCA":{"branch":"National Guard / DSCA","surfaces":["/em-hub","/em-worst-day","/logistics-walkthrough"],"apis":["/api/em/federation/status","/api/dual-use/fires","/api/dual-use/earthquakes"],"echelons":["State","JFHQ-State","DCRF","CBRNE"],"capability":"Federated EOC; dual-role DoD + EM mission; DSCA request → mission tracking"},"femaEM":{"branch":"FEMA / Emergency Management","surfaces":["/em-hub","/em-onboard","/compose?discipline=em"],"apis":["/api/em/federation/status","/api/em/federation/join","/api/evaluate/em-run"],"echelons":["City EOC","County OES","State OES","FEMA Region","FEMA National"],"capability":"5-minute onboarding; federated COP across jurisdictions; ESF activation; HSEEP exercise support","uniqueCapability":"Same chassis as military — EM coordinator and battalion S3 share one platform, different discipline views"}},"darpLevelSpecs":{"theQuestion":"What are you trying to do? Articulate your objectives using absolutely no jargon.","answer":"Give any unit — from a private with a phone to a theater commander — a single screen that shows everything happening around them, tells them what it means, and helps them decide what to do next. The screen works in a bunker with no internet. The decisions it suggests are reviewed by a human before anything fires.","howDoneToday":"Units use 5–12 separate tools (ATAK for blue force, AFATDS for fires, DCGS-A for intel, separate weather apps, separate comms). Each tool was built by a different prime under a different contract. They do not talk to each other by default. The analyst who sees the drone on the radar cannot push that alert to the fires officer's screen without a phone call.","whatIsNew":"One screen that receives from all sensors (ESMS acoustic/RF, ADS-B, AIS, TAK, DCGS-A), fuses them, generates AI analysis grounded by doctrine, presents engagement options with human approval required, and can run offline (DDIL-native). New doctrine is ingested as a URL and immediately drives operational recommendations — no redeploy. The v1.1.0 Decision Intelligence Symphony adds seven purpose-built tools (Autonomy Classifier, GPS Spoofing Detector, Sensor-Effector Matcher, Cost-Exchange Calculator, Attrition Planner, Adversary Tracker, AI Compliance) that can run as individual LOOs or as a single Full Chain call — no analyst toolbox switching required.","whoCares":["Company commander: one screen replaces 5 tools; no internet required; works in contested comms","S2 intelligence officer: daily automated OSINT + corpus-grounded BLUF replaces manual research; Intel Tools LOO-1/LOO-3 directly answers 'what is this drone and how long can we sustain?'","FSO / Fires officer: Cost-Exchange Calculator + Sensor-Effector Matcher instantly answers 'is this engagement worth the interceptor cost?'","FEMA coordinator: same platform for civil emergency ops — EM hub connects any EOC in 5 min","DoD evaluator: MOSA + JADC2 compliant; ACES 8-URL checklist verifiable in 15 min; AI Compliance Checker shows Anthropic ban status live","Prime contractor: modular adapters mean SHIELD/ATLAS is a subcomponent, not a competitor","Congressional OTA evaluator: TRL-7 demonstrated; open architecture per NDAA FY2017 mandate; Decision Intelligence Symphony is a software-only blue ocean — no hardware dependency"],"whyNotLattice":{"label":"Why not LATTICE (Palantir)?","answer":"LATTICE is a cloud-first theater intelligence platform — excellent at scale, requires persistent connectivity, runs on AWS GovCloud, priced at enterprise-tier. SHIELD/ATLAS is DDIL-native: it runs in a vehicle with no internet and costs a fraction of a prime seat license. LATTICE was designed as a program of record; SHIELD/ATLAS is designed as an interoperable node that connects to LATTICE (and ATAK, and GCCS) via standard adapters. The two are complementary, not competing.","proof":"/api/doctrine-corpus/parameters/autonomy (SHIELD reads LATTICE-adjacent doctrine; LATTICE has no equivalent doctrine-learning layer)"},"whyNotMaven":{"label":"Why not Project Maven (DoD AI enterprise)?","answer":"Project Maven is a DoD enterprise AI program for computer vision on ISR feeds — primarily targeting and object detection at strategic scale. SHIELD/ATLAS operates at the tactical edge: company to brigade echelon, any sensor (not just ISR cameras), EM + military dual use, and DDIL-native. Maven requires cleared infrastructure and structured video feeds. SHIELD/ATLAS works with RTL-SDR acoustic sensors, consumer ADS-B receivers, and a FEMA smartphone. The use cases do not overlap.","proof":"/api/evaluate/aces-run (tactical ACES prove chain — no ISR video dependency)"},"errorRatesAndRatios":{"aiHallucination":"Mitigated by corpus floor (min 2 docs retrieved before AI responds) + GREEN/AMBER/RED grounding tags on every output","duplicateTracks":"Content-hash deduplication with 5-minute window — same position report from two sources = one track","feedStaleness":"Every API response includes feed age; stale data (> 2x update rate) shown with STALE badge, never as current","kineticError":"Zero-tolerance: human approval required for all Defeat-class actions — no automated kinetic; audit trail is enforcement mechanism","ddilDataLoss":"CRDT-based store-forward: offline node queues all events; on reconnect, server merges with conflict-free resolution — no data loss","deploymentDrift":"Full-stack congruence checks every 6h: deploy SHA must match EC2 runtime SHA or RED alert raised"},"decoupling":{"description":"System components are decoupled at four seams to prevent cascade failures","seams":[{"name":"Feed adapters ↔ Fusion engine","mechanism":"Typed interface + async queue; feed failure does not block fusion"},{"name":"AI inference ↔ Operational logic","mechanism":"Orchestrator with 4-tier cascade + offline RAG fallback; AI unavailability does not block COP display"},{"name":"Frontend ↔ Backend","mechanism":"REST + SSE — no direct function coupling; frontend survives backend restart"},{"name":"Doctrine ↔ Operational code","mechanism":"JSON parameter read at runtime — doctrine updates without code deployment"}]},"duplicationPrevention":{"trackLevel":"Content-hash dedup on incoming sensor data (5-min window per source)","apiLevel":"ETag + cache-control headers; conditional GET reduces duplicate bandwidth","doctrineLevel":"Signal discipline registry prevents same URL from being ingested twice","deployLevel":"GitHub Actions SHA validation prevents partial deploy from serving mismatched code"},"speedSpecs":{"tacticalFeedLatency":"< 10s ADS-B/CoT to COP display","aiResponseP95":"< 50s global deadline (30s per tier + cascade); offline RAG: < 2s","copAlertBluf":"< 5s from POST /api/cop/alerts to BLUF display","ddilSyncOnReconnect":"< 30s to full merge after node reconnects","doctrineUpdatePropagation":"One read cycle (< 100ms) — no server restart required","deployToLive":"< 3 min from git push to EC2 runtime (GitHub Actions + rsync)"}},"systemSummary":{"poweredBy":["Node.js 22 Express (100+ surfaces, REST/WebSocket/SSE)","PostgreSQL 16 (operational state + audit trail)","OpenRouter (GPT-4o / Gemini 1.5 / Grok / Perplexity — resilient cascade; Anthropic blocked in DEFENSE_CONTRACT_MODE)","Local RAG corpus (docs/intel/auto/ — DDIL fallback, always available; corpus floor = 2 docs minimum)","Decision Intelligence Symphony v1.1.0 (7 tools × 4 LOOs — /intel-tools; software-only blue ocean)","Expo/React Native (mobile client — iOS/Android)","ESP32 firmware (field sensor OTA)","GitHub Actions + EC2 (deploy pipeline — < 3 min git push to live)"],"informedBy":["JIATF 401 Counter-UAS Handbook (Jul 2026) — Five Ds / Four Ps / Three Terrains","Palladyne AI SwarmOS doctrine (Jun 2026) — autonomy levels / FULLY_AUTONOMOUS swarm behavior","Breaking Defense GPS Resiliency (Jul 2026) — NAVWAR asymmetry / eLoran gap","DIU Massed Modular Aircraft (MMA) Solicitation (Jul 2026) — attrition doctrine / cost-exchange benchmarks","AFRL Anthropic ban + DoD AI Governance (Jul 2026) — aiGovernance doctrine domain; assertNotAnthropic() guard","Maritime ADW research + Naval EWS doctrine (Jul 2026) — maritime air defense layering","Boeing Ghost Bat / CCA teaming doctrine (Jul 2026) — human-on-loop vs. human-in-loop taxonomy","Swarm-scale defense platforms (Skapion, Arena-M, DefendAir) + fiber-optic drone threat (Jul 2026)","JADC2 JROC 2019 + NDAA FY2021 §832 — interoperability mandate","10 U.S.C. § 4401 MOSA — open architecture mandate (FY2017)","DoDD 3000.09 — Autonomous Weapons (human-in-loop requirement)","NDS 2022 + ACES framework — integrated deterrence + pacing threat"],"purpose":"One composable decision chassis — any unit, any domain, any echelon, any comms environment — senses the environment, synthesizes intelligence, presents options through a structured Decision Intelligence Symphony, enforces human decisions, audits everything, and learns from new doctrine automatically.","endState":"The newest private and the senior general officer use the same platform. The private sees their squad. The general sees the theater. Same data. Same doctrine. Same audit trail. No tool switching. No data loss when comms go down. The Decision Intelligence Symphony answers 'what is it, can we shoot it, can we afford to, and how long before we run out?' in a single API call."},"technicalFlows":{"part":2,"endpoint":"/api/architecture/ov2/flows","flowCount":9},"liveStatusAudit":{"_description":"Iron Rule 10 compliance: status claims require evidence. LIVE = verified HTTP 200; PLANNED = adapter roadmap; NOT_IN_SYSTEM = excluded by operator instruction.","_auditDate":"2026-07-11","live":[{"id":"ads-b","endpoint":"GET /api/adsb/status","note":"ADS-B status live; aircraft count 0 in dev without external key"},{"id":"weather-alerts","endpoint":"GET /api/dual-use/weather-alerts","note":"NOAA NWS CAP alerts — live"},{"id":"nasa-firms","endpoint":"GET /api/dual-use/fires","note":"NASA FIRMS active fires — live"},{"id":"usgs-seismic","endpoint":"GET /api/dual-use/earthquakes","note":"USGS seismic — live"},{"id":"poseidon-maritime","endpoint":"GET /api/poseidon/status","note":"POSEIDON cluster — live"},{"id":"tak-cot","endpoint":"GET /api/tak/snapshot","note":"TAK snapshot — live"},{"id":"swpc-space-weather","endpoint":"GET /api/adapters/udl/space-weather","note":"UDL space weather adapter — live"},{"id":"esms-spectrum","endpoint":"GET /api/esms/spectrum","note":"RF spectrum — live"},{"id":"esms-engagement","endpoint":"GET /api/esms/engagement-options","note":"Five Ds engagement options — live"},{"id":"esms-hardware-status","endpoint":"GET /api/esms/hardware/status","note":"SDR hardware status — live"},{"id":"esms-detections","endpoint":"GET /api/esms/detections","note":"Detection log — live"},{"id":"acoustic-library","endpoint":"GET /api/acoustic/library","note":"8-platform acoustic library — live"},{"id":"fires-log","endpoint":"GET /api/fire-mission/log","note":"Fire mission log — live"},{"id":"cop-alerts-intel","endpoint":"GET /api/cop/alerts-intel","note":"COP BLUF strip — live"},{"id":"intel-tools","endpoint":"GET /api/intel-tools/status","note":"Symphony status — live"},{"id":"intel-tools-full-chain","endpoint":"POST /api/intel-tools/full-chain","note":"Full chain symphony — live"},{"id":"doctrine-corpus","endpoint":"GET /api/doctrine-corpus/status","note":"Doctrine corpus — live"},{"id":"ai-orchestrator","endpoint":"GET /api/ai-orchestrator/health","note":"AI orchestrator health — live"},{"id":"ai-compliance","endpoint":"GET /api/ai-orchestrator/compliance","note":"LOO-4 compliance — live"},{"id":"useif-killchains","endpoint":"GET /api/useif/killchains","note":"Engagement queue — live"},{"id":"architecture-ov2","endpoint":"GET /api/architecture/ov2","note":"OV-2 Part 1 — live"},{"id":"architecture-ov2-flows","endpoint":"GET /api/architecture/ov2/flows","note":"OV-2 Part 2 technical flows — live"},{"id":"ddil-queue","endpoint":"POST /api/ddil/queue","note":"DDIL store-forward — live (202)"},{"id":"ddil-sync","endpoint":"POST /api/ddil/sync","note":"DDIL flush — live"},{"id":"connect-register","endpoint":"POST /api/connect/register","note":"Universal connection front door — live (201 + token; ?pki=1 issues X.509 client cert)"},{"id":"connect-register-unit","endpoint":"POST /api/connect/register-unit","note":"MTOE bulk unit onboarding (JSON) — live (201 + roster)"},{"id":"connect-register-unit-csv","endpoint":"POST /api/connect/register-unit/csv","note":"MTOE bulk onboarding (CSV/TSV upload) — live (v1.3.1)"},{"id":"connect-ca","endpoint":"GET /api/connect/ca.pem","note":"ATLAS Connection Root CA (PKI chain validation) — live (v1.3.1)"},{"id":"connect-enforcement","endpoint":"GET/POST /api/connect/enforcement","note":"Scope enforcement mode inspect + runtime flip (admin) — live (v1.3.1)"},{"id":"connect-registry","endpoint":"GET /api/connect/registry","note":"Live connection registry + health — live"},{"id":"connect-conductor","endpoint":"GET /api/connect/conductor","note":"Connection conductor status — live"},{"id":"observations-ingest","endpoint":"POST /api/observations/ingest","note":"Canonical attributed ingest w/ scope enforcement + PKI/HMAC identity — live (202)"}],"planned_adapters":[{"id":"afatds-nffi","system":"AFATDS NFFI/Link","note":"Full bidirectional fire mission — MOSA adapter FY2027. Current: /api/fire-mission/log."},{"id":"gccs-army-niem","system":"GCCS-Army NIEM 4.0","note":"Division/Corps picture pull — adapter not deployed."},{"id":"dcgs-a-genesis","system":"DCGS-A GENESIS API","note":"All-source intel pull — OSINT/RAG substitutes today."},{"id":"jadc2-cbm","system":"JADC2 CBM / ABMS","note":"Theater node registration — architecture ready; cleared infra required."}],"notInSystem":[{"id":"usaspending","note":"USASpending.gov — commercial BD lane only; excluded from operational OV-2."},{"id":"samgov","note":"SAM.gov — commercial BD lane only; not operational COP."}]},"surfaces":{"html":"/evaluate/architecture","json":"/api/architecture/ov2","flows":"/api/architecture/ov2/flows","flowsBenchmark":"/api/architecture/ov2/flows/benchmark","legal":"/api/architecture/ov2/legal","liveAudit":"/api/architecture/ov2/live-audit","intelTools":"/intel-tools"}}