icdev 0.0.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- args/agent_config.yaml +113 -0
- args/audit_regimes/cisa_sbd.json +381 -0
- args/audit_regimes/cmmc_l2.json +906 -0
- args/audit_regimes/dod_cssp.json +393 -0
- args/audit_regimes/dodi_5000_87.json +297 -0
- args/audit_regimes/fedramp_moderate.json +650 -0
- args/audit_regimes/ieee_1012.json +373 -0
- args/audit_regimes/nist_800_171.json +624 -0
- args/audit_regimes/nist_800_53.json +907 -0
- args/cloudforge_blueprints/aws_commercial.yaml +29 -0
- args/cloudforge_blueprints/aws_govcloud_il4.yaml +34 -0
- args/cloudforge_blueprints/aws_govcloud_il5.yaml +38 -0
- args/cloudforge_blueprints/azure_commercial.yaml +28 -0
- args/cloudforge_blueprints/azure_gov_il4.yaml +32 -0
- args/cloudforge_blueprints/azure_gov_il5.yaml +36 -0
- args/cloudforge_blueprints/gcp_commercial.yaml +28 -0
- args/cloudforge_blueprints/oci_commercial.yaml +28 -0
- args/cloudforge_config.yaml +231 -0
- args/cloudforge_runbook_templates/backup_verify.yaml +98 -0
- args/cloudforge_runbook_templates/dr_failover.yaml +107 -0
- args/cloudforge_runbook_templates/health_check.yaml +97 -0
- args/cloudforge_runbook_templates/incident_response.yaml +101 -0
- args/cloudforge_runbook_templates/migration_cutover.yaml +105 -0
- args/cloudforge_runbook_templates/patch_rollout.yaml +92 -0
- args/cloudforge_runbook_templates/zone_provision.yaml +93 -0
- args/code_pattern_config.yaml +151 -0
- args/code_quality_config.yaml +47 -0
- args/compliance_config.yaml +17 -0
- args/control_inheritance.yaml +177 -0
- args/csp_mcp_config.yaml +41 -0
- args/cui_markings.yaml +35 -0
- args/databridge_config.yaml +232 -0
- args/db_config.yaml +116 -0
- args/decision_tables/agent_trust_decision.yaml +143 -0
- args/decision_tables/ato_boundary_impact.yaml +132 -0
- args/decision_tables/deployment_approval.yaml +152 -0
- args/degradation_matrix.yaml +163 -0
- args/devsecops_config.yaml +286 -0
- args/endpoint_security_config.yaml +207 -0
- args/exit_criteria.yaml +102 -0
- args/feature_flags.yaml +235 -0
- args/file_access_tiers.yaml +88 -0
- args/forge_studio/blueprint_config.yaml +27 -0
- args/forge_studio/component_catalog.json +411 -0
- args/forge_studio/workflow_templates.yaml +103 -0
- args/govcon_config.yaml +41 -0
- args/harness_config.yaml +67 -0
- args/innovation_config.yaml +321 -0
- args/knowledge_graph_config.yaml +113 -0
- args/llm_config.yaml +222 -0
- args/marketplace_config.yaml +260 -0
- args/monitoring_config.yaml +127 -0
- args/mosa_config.yaml +190 -0
- args/observability_tracing_config.yaml +170 -0
- args/owasp_agentic_config.yaml +171 -0
- args/pipeline_gates.yaml +197 -0
- args/project_defaults.yaml +235 -0
- args/prompt_chains.yaml +163 -0
- args/rag_config.yaml +167 -0
- args/research_config.yaml +89 -0
- args/resilience_config.yaml +197 -0
- args/ricoas_config.yaml +191 -0
- args/security_gates.yaml +763 -0
- args/storage_config.yaml +63 -0
- args/writeguard_config.yaml +131 -0
- args/zta_config.yaml +247 -0
- context/__init__.py +6 -0
- context/agent/__init__.py +6 -0
- context/agent/response_schemas/__init__.py +6 -0
- context/agent/response_schemas/debate_position.json +46 -0
- context/agent/response_schemas/fitness_scorecard.json +74 -0
- context/agent/response_schemas/review_decision.json +39 -0
- context/agent/response_schemas/task_decomposition.json +82 -0
- context/agent/response_schemas/veto_decision.json +40 -0
- context/agentic/__init__.py +6 -0
- context/agentic/architecture_patterns.md +269 -0
- context/agentic/capability_registry.yaml +223 -0
- context/agentic/csp_integration.md +30 -0
- context/agentic/csp_mcp_registry.yaml +280 -0
- context/agentic/fitness_rubric.md +56 -0
- context/agentic/governance_baseline.md +205 -0
- context/ci/__init__.py +6 -0
- context/ci/worktree_templates.json +44 -0
- context/cloud/__init__.py +6 -0
- context/cloud/csp_service_registry.json +739 -0
- context/compliance/__init__.py +6 -0
- context/compliance/ai_rmf_crosswalk.yaml +226 -0
- context/compliance/atlas_mitigations.json +293 -0
- context/compliance/atlas_techniques.json +833 -0
- context/compliance/cisa_sbd_requirements.json +477 -0
- context/compliance/cjis_security_policy.json +522 -0
- context/compliance/cmmc_practices.json +2494 -0
- context/compliance/cmmc_report_template.md +142 -0
- context/compliance/cnssi_1253_overlay.json +109 -0
- context/compliance/control_crosswalk.json +1914 -0
- context/compliance/control_families/__init__.py +6 -0
- context/compliance/csp_certifications.json +251 -0
- context/compliance/cssp_report_template.md +193 -0
- context/compliance/cui_templates/__init__.py +6 -0
- context/compliance/cui_templates/banner_block.txt +4 -0
- context/compliance/cui_templates/code_header.txt +8 -0
- context/compliance/cui_templates/document_template.md +35 -0
- context/compliance/data_type_framework_map.json +321 -0
- context/compliance/data_type_registry.json +147 -0
- context/compliance/dod_cssp_8530.json +463 -0
- context/compliance/eu_ai_act_annex_iii.json +108 -0
- context/compliance/export_templates/__init__.py +6 -0
- context/compliance/export_templates/emass_controls.csv.j2 +4 -0
- context/compliance/export_templates/evidence_package.md.j2 +39 -0
- context/compliance/export_templates/executive_summary.md.j2 +55 -0
- context/compliance/export_templates/poam_tracking.csv.j2 +4 -0
- context/compliance/fedramp_20x_ksi_schemas.json +133 -0
- context/compliance/fedramp_high_baseline.json +4370 -0
- context/compliance/fedramp_moderate_baseline.json +2183 -0
- context/compliance/fedramp_report_template.md +181 -0
- context/compliance/fips_200_areas.json +362 -0
- context/compliance/gao_ai_accountability.json +262 -0
- context/compliance/hipaa_security_rule.json +720 -0
- context/compliance/hitrust_csf_v11.json +930 -0
- context/compliance/impact_level_profiles.json +251 -0
- context/compliance/incident_response_template.md +1110 -0
- context/compliance/iso27001_2022_controls.json +750 -0
- context/compliance/iso27001_nist_bridge.json +382 -0
- context/compliance/iso42001_controls.json +254 -0
- context/compliance/ivv_checklist_template.md +80 -0
- context/compliance/ivv_report_template.md +116 -0
- context/compliance/ivv_requirements.json +372 -0
- context/compliance/mosa_crosswalk.json +327 -0
- context/compliance/mosa_framework.json +250 -0
- context/compliance/narrative_templates/AC.md.j2 +101 -0
- context/compliance/narrative_templates/AU.md.j2 +106 -0
- context/compliance/narrative_templates/IA.md.j2 +104 -0
- context/compliance/narrative_templates/SC.md.j2 +102 -0
- context/compliance/narrative_templates/SI.md.j2 +111 -0
- context/compliance/narrative_templates/__init__.py +6 -0
- context/compliance/narrative_templates/default.md.j2 +50 -0
- context/compliance/narrative_templates/executive_summary.j2 +27 -0
- context/compliance/narrative_templates/poam_milestone.j2 +19 -0
- context/compliance/narrative_templates/ssp_section.j2 +11 -0
- context/compliance/nist_800_171_controls.json +1552 -0
- context/compliance/nist_800_207_crosswalk.json +399 -0
- context/compliance/nist_800_207_zta.json +258 -0
- context/compliance/nist_800_53.json +324 -0
- context/compliance/nist_ai_600_1_genai.json +326 -0
- context/compliance/nist_ai_rmf.json +206 -0
- context/compliance/nist_sp_800_60_types.json +1667 -0
- context/compliance/omb_m25_21_high_impact_ai.json +248 -0
- context/compliance/omb_m26_04_unbiased_ai.json +262 -0
- context/compliance/owasp_agentic_asi.json +133 -0
- context/compliance/owasp_agentic_threats.json +285 -0
- context/compliance/owasp_llm_top10.json +274 -0
- context/compliance/pci_dss_v4.json +510 -0
- context/compliance/poam_template.md +117 -0
- context/compliance/safeai_controls.json +512 -0
- context/compliance/sbd_report_template.md +77 -0
- context/compliance/siem_config_templates/__init__.py +6 -0
- context/compliance/siem_config_templates/filebeat.yml +213 -0
- context/compliance/siem_config_templates/log_sources.json +208 -0
- context/compliance/soc2_trust_criteria.json +661 -0
- context/compliance/ssp_template.md +432 -0
- context/compliance/stig_templates/__init__.py +6 -0
- context/compliance/stig_templates/webapp_stig.json +139 -0
- context/compliance/xai_requirements.json +108 -0
- context/dashboard/__init__.py +6 -0
- context/dashboard/nlq_examples.json +50 -0
- context/dashboard/schema_descriptions.json +23 -0
- context/icdev_methodology.md +100 -0
- context/integration/__init__.py +6 -0
- context/integration/approval_workflows.json +32 -0
- context/integration/gitlab_field_mappings.json +33 -0
- context/integration/jira_field_mappings.json +32 -0
- context/integration/reqif_export_schema.json +23 -0
- context/integration/servicenow_field_mappings.json +22 -0
- context/languages/__init__.py +6 -0
- context/languages/framework_patterns.json +205 -0
- context/languages/language_registry.json +279 -0
- context/llm/__init__.py +6 -0
- context/llm/example_provider.py +89 -0
- context/marketplace/assets/writeguard-core.yaml +100 -0
- context/marketplace/assets/writeguard-govcon.yaml +45 -0
- context/marketplace/assets/writeguard-style-guides.yaml +44 -0
- context/mbse/__init__.py +6 -0
- context/mbse/des_report_template.md +162 -0
- context/mbse/des_requirements.json +411 -0
- context/mbse/digital_thread_patterns.json +403 -0
- context/mbse/reqif_schema.json +280 -0
- context/mbse/sysml_element_types.json +432 -0
- context/oscal/NIST_SP-800-53_rev5_catalog.json +254987 -0
- context/oscal/README.md +43 -0
- context/patterns/__init__.py +6 -0
- context/profiles/__init__.py +6 -0
- context/profiles/dod_baseline_v1.yaml +145 -0
- context/profiles/fedramp_baseline_v1.yaml +143 -0
- context/profiles/financial_baseline_v1.yaml +142 -0
- context/profiles/healthcare_baseline_v1.yaml +135 -0
- context/profiles/law_enforcement_v1.yaml +129 -0
- context/profiles/startup_v1.yaml +134 -0
- context/rag/source_mappings.json +42 -0
- context/requirements/__init__.py +6 -0
- context/requirements/ambiguity_patterns.json +97 -0
- context/requirements/boundary_impact_rules.json +123 -0
- context/requirements/default_constitutions.json +67 -0
- context/requirements/document_extraction_rules.json +58 -0
- context/requirements/gap_patterns.json +108 -0
- context/requirements/readiness_rubric.json +78 -0
- context/requirements/red_alternative_patterns.json +210 -0
- context/requirements/safe_templates.json +72 -0
- context/requirements/spec_quality_checklist.json +122 -0
- context/research/regulatory_registry.json +114 -0
- context/research/verticals/cybersecurity.json +127 -0
- context/research/verticals/defense.json +104 -0
- context/research/verticals/fintech.json +125 -0
- context/research/verticals/healthcare.json +118 -0
- context/research/verticals/logistics.json +117 -0
- context/research/verticals/trading.json +145 -0
- context/simulation/__init__.py +6 -0
- context/simulation/architecture_patterns.json +36 -0
- context/simulation/coa_templates.json +38 -0
- context/simulation/cost_models.json +23 -0
- context/simulation/risk_categories.json +46 -0
- context/supply_chain/__init__.py +6 -0
- context/supply_chain/isa_templates.json +129 -0
- context/supply_chain/nist_800_161_controls.json +247 -0
- context/supply_chain/scrm_risk_matrix.json +147 -0
- context/templates/__init__.py +6 -0
- context/templates/ansible/__init__.py +6 -0
- context/templates/ansible/playbooks/__init__.py +6 -0
- context/templates/ansible/roles/__init__.py +6 -0
- context/templates/gitlab_ci/__init__.py +6 -0
- context/templates/grafana/__init__.py +6 -0
- context/templates/kubernetes/__init__.py +6 -0
- context/templates/project/__init__.py +6 -0
- context/templates/project/api/__init__.py +6 -0
- context/templates/project/cli/__init__.py +6 -0
- context/templates/project/data_pipeline/__init__.py +6 -0
- context/templates/project/iac/__init__.py +6 -0
- context/templates/project/javascript_frontend/__init__.py +6 -0
- context/templates/project/javascript_frontend/src/__init__.py +6 -0
- context/templates/project/javascript_frontend/tests/__init__.py +6 -0
- context/templates/project/microservice/__init__.py +6 -0
- context/templates/project/python_backend/__init__.py +6 -0
- context/templates/project/python_backend/src/__init__.py +6 -0
- context/templates/project/python_backend/tests/__init__.py +6 -0
- context/templates/project/python_backend/tests/features/__init__.py +6 -0
- context/templates/project/python_backend/tests/steps/__init__.py +6 -0
- context/templates/terraform/__init__.py +6 -0
- context/templates/terraform/govcloud_base/__init__.py +6 -0
- context/templates/terraform/modules/__init__.py +6 -0
- context/tone/__init__.py +6 -0
- context/writing/grammar_rules/common_errors.json +306 -0
- context/writing/grammar_rules/govcon_vocabulary.json +113 -0
- context/writing/style_guides/academic.yaml +43 -0
- context/writing/style_guides/business.yaml +42 -0
- context/writing/style_guides/government.yaml +59 -0
- context/writing/style_guides/proposal.yaml +58 -0
- context/writing/style_guides/technical.yaml +43 -0
- docs/adr/README.md +66 -0
- docs/adr/connector-forge-decisions.md +318 -0
- docs/adr/core-decisions.md +289 -0
- docs/adr/db-decisions.md +94 -0
- docs/adr/harness-decisions.md +122 -0
- docs/adr/innovation-decisions.md +262 -0
- docs/adr/marketplace-decisions.md +109 -0
- docs/adr/sbd-decisions.md +109 -0
- docs/adr/scale-engine-decisions.md +108 -0
- docs/adr/writeguard-decisions.md +136 -0
- docs/architecture/bounded-contexts.md +1032 -0
- docs/features/phase-65-writeguard.md +139 -0
- docs/features/phase-66-marketplace-commerce.md +79 -0
- docs/features/phase-67-knowledge-ingestion-rag-autodraft.md +97 -0
- docs/features/phase-68-enhanced-autodraft-pipeline.md +109 -0
- docs/features/phase-69-proposalai-marketplace-module.md +131 -0
- docs/features/phase-70-databridge.md +214 -0
- docs/features/phase-71-databridge-messaging.md +102 -0
- docs/implementation-plan-architecture-evolution.md +614 -0
- docs/marketplace/CONTRIBUTING.md +124 -0
- docs/marketplace/module_manifest_schema.yaml +83 -0
- docs/research/ai-architecture-patterns-2024-2026.md +1236 -0
- docs/research/app-builder-platform-analysis.md +582 -0
- docs/research/architecture-patterns-c4-ddd-agentic.md +871 -0
- docs/research/flowable-boat-competitive-analysis.md +426 -0
- docs/research/modern-dev-practices-2024-2026.md +1615 -0
- docs/research/secure-by-design-cloudyrion-adaptation.md +270 -0
- goals/agent_management.md +144 -0
- goals/ai_accountability.md +90 -0
- goals/ai_narratives.md +79 -0
- goals/ai_transparency.md +76 -0
- goals/ato_simulator.md +78 -0
- goals/audit_engine.md +177 -0
- goals/bite_sized_plans.md +225 -0
- goals/boundary_supply_chain.md +206 -0
- goals/brainstorming_gate.md +186 -0
- goals/build_app.md +604 -0
- goals/cato_live_evidence.md +77 -0
- goals/cloudforge.md +106 -0
- goals/code_intelligence.md +197 -0
- goals/compliance_workflow.md +858 -0
- goals/connector_forge.md +133 -0
- goals/databridge.md +128 -0
- goals/deploy_workflow.md +390 -0
- goals/developer_scorecard.md +78 -0
- goals/devsecops_workflow.md +408 -0
- goals/firmware_sbom.md +79 -0
- goals/forge_hub.md +78 -0
- goals/golden_path.md +77 -0
- goals/harness_engineering.md +91 -0
- goals/integration_testing.md +189 -0
- goals/knowledge_graph.md +128 -0
- goals/maintenance_audit.md +196 -0
- goals/manifest.md +50 -0
- goals/monitoring.md +126 -0
- goals/mosa_workflow.md +463 -0
- goals/multi_agent_orchestration.md +68 -0
- goals/observability_traceability_xai.md +154 -0
- goals/owasp_agentic_security.md +395 -0
- goals/pr_intelligence.md +78 -0
- goals/requirements_intake.md +213 -0
- goals/secure_by_design.md +135 -0
- goals/security_scan.md +381 -0
- goals/self_healing.md +120 -0
- goals/simulation_engine.md +111 -0
- goals/subagent_review.md +205 -0
- goals/systematic_debugging.md +257 -0
- goals/tdd_workflow.md +403 -0
- goals/template_exchange.md +77 -0
- goals/thread_heatmap.md +77 -0
- goals/threat_modeler.md +77 -0
- goals/verification_iron_law.md +192 -0
- goals/vsm_dashboard.md +76 -0
- goals/writeguard.md +89 -0
- goals/zero_trust_architecture.md +403 -0
- hardprompts/__init__.py +6 -0
- hardprompts/agent/__init__.py +6 -0
- hardprompts/agent/agentic_architect.md +100 -0
- hardprompts/agent/debate_prompt.md +32 -0
- hardprompts/agent/fitness_evaluation.md +48 -0
- hardprompts/agent/governance_review.md +214 -0
- hardprompts/agent/reviewer_prompt.md +34 -0
- hardprompts/agent/skill_design.md +172 -0
- hardprompts/agent/task_decomposition.md +275 -0
- hardprompts/agent/veto_check_prompt.md +33 -0
- hardprompts/architect/__init__.py +6 -0
- hardprompts/architect/api_design.md +283 -0
- hardprompts/architect/data_model.md +277 -0
- hardprompts/architect/system_design.md +180 -0
- hardprompts/builder/__init__.py +6 -0
- hardprompts/builder/code_generation.md +59 -0
- hardprompts/builder/refactor.md +58 -0
- hardprompts/builder/scaffold_project.md +69 -0
- hardprompts/builder/test_generation.md +87 -0
- hardprompts/ci/__init__.py +6 -0
- hardprompts/ci/worktree_setup.md +35 -0
- hardprompts/compliance/__init__.py +6 -0
- hardprompts/compliance/cmmc_assessment.md +63 -0
- hardprompts/compliance/cssp_assessment.md +75 -0
- hardprompts/compliance/cui_marking.md +86 -0
- hardprompts/compliance/fedramp_assessment.md +55 -0
- hardprompts/compliance/ivv_assessment.md +96 -0
- hardprompts/compliance/poam_generation.md +57 -0
- hardprompts/compliance/sbd_assessment.md +101 -0
- hardprompts/compliance/security_categorization.md +74 -0
- hardprompts/compliance/ssp_generation.md +56 -0
- hardprompts/compliance/stig_evaluation.md +63 -0
- hardprompts/dashboard/__init__.py +6 -0
- hardprompts/dashboard/nlq_system_prompt.md +26 -0
- hardprompts/infra/__init__.py +6 -0
- hardprompts/infra/k8s_manifests.md +118 -0
- hardprompts/infra/pipeline_generation.md +160 -0
- hardprompts/infra/terraform_generation.md +92 -0
- hardprompts/integration/__init__.py +6 -0
- hardprompts/integration/approval_review.md +17 -0
- hardprompts/integration/jira_mapping.md +25 -0
- hardprompts/integration/servicenow_mapping.md +14 -0
- hardprompts/knowledge/__init__.py +6 -0
- hardprompts/knowledge/pattern_detection.md +73 -0
- hardprompts/knowledge/recommendation_engine.md +90 -0
- hardprompts/knowledge/root_cause_analysis.md +91 -0
- hardprompts/maintenance/__init__.py +6 -0
- hardprompts/maintenance/maintenance_assessment.md +82 -0
- hardprompts/mbse/__init__.py +6 -0
- hardprompts/mbse/digital_thread.md +67 -0
- hardprompts/mbse/model_import.md +62 -0
- hardprompts/mbse/model_to_code.md +65 -0
- hardprompts/modernization/__init__.py +6 -0
- hardprompts/modernization/legacy_analysis.md +93 -0
- hardprompts/modernization/migration_planning.md +150 -0
- hardprompts/modernization/seven_r_assessment.md +107 -0
- hardprompts/proposal_draft.md +53 -0
- hardprompts/rag_citation.md +12 -0
- hardprompts/rag_rerank.md +31 -0
- hardprompts/requirements/__init__.py +6 -0
- hardprompts/requirements/bdd_generation.md +35 -0
- hardprompts/requirements/clarification_prioritization.md +29 -0
- hardprompts/requirements/decomposition.md +60 -0
- hardprompts/requirements/document_extraction.md +45 -0
- hardprompts/requirements/gap_detection.md +70 -0
- hardprompts/requirements/intake_conversation.md +101 -0
- hardprompts/requirements/readiness_assessment.md +39 -0
- hardprompts/requirements/spec_quality.md +33 -0
- hardprompts/requirements/traceability_analysis.md +23 -0
- hardprompts/security/__init__.py +6 -0
- hardprompts/security/endpoint_security.md +78 -0
- hardprompts/security/threat_model.md +70 -0
- hardprompts/security/vulnerability_assessment.md +81 -0
- hardprompts/simulation/__init__.py +6 -0
- hardprompts/simulation/architecture_impact.md +27 -0
- hardprompts/simulation/coa_alternative.md +27 -0
- hardprompts/simulation/coa_generation.md +25 -0
- hardprompts/simulation/compliance_impact.md +28 -0
- hardprompts/simulation/cost_estimation.md +33 -0
- hardprompts/simulation/risk_assessment.md +28 -0
- hardprompts/translation/code_translation.md +68 -0
- hardprompts/translation/dependency_suggestion.md +44 -0
- hardprompts/translation/test_translation.md +64 -0
- hardprompts/translation/translation_repair.md +59 -0
- icdev-0.0.3.dist-info/METADATA +909 -0
- icdev-0.0.3.dist-info/RECORD +1214 -0
- icdev-0.0.3.dist-info/WHEEL +5 -0
- icdev-0.0.3.dist-info/entry_points.txt +9 -0
- icdev-0.0.3.dist-info/licenses/LICENSE +201 -0
- icdev-0.0.3.dist-info/licenses/NOTICE +11 -0
- icdev-0.0.3.dist-info/top_level.txt +7 -0
- memory/MEMORY.md +52 -0
- memory/logs/2026-02-14.md +17 -0
- memory/logs/2026-03-03.md +2 -0
- memory/logs/__init__.py +1 -0
- tools/a2a/icdev_callback_client.py +210 -0
- tools/agent/cards/architect_card.json +29 -0
- tools/agent/cards/builder_card.json +34 -0
- tools/agent/cards/compliance_card.json +29 -0
- tools/agent/cards/connector_forge_card.json +49 -0
- tools/agent/cards/devsecops_zta_card.json +24 -0
- tools/agent/cards/knowledge_card.json +29 -0
- tools/agent/cards/monitor_card.json +29 -0
- tools/agent/cards/orchestrator_card.json +29 -0
- tools/agent/cards/requirements_analyst_card.json +24 -0
- tools/agent/cards/security_card.json +29 -0
- tools/agent/cards/simulation_card.json +24 -0
- tools/agent/cards/supply_chain_card.json +24 -0
- tools/analysis/__init__.py +1 -0
- tools/analysis/code_analyzer.py +770 -0
- tools/analysis/runtime_feedback.py +379 -0
- tools/analytics/__init__.py +2 -0
- tools/analytics/scorecard.py +538 -0
- tools/analytics/vsm_engine.py +612 -0
- tools/architecture/__init__.py +2 -0
- tools/architecture/adr_extractor.py +393 -0
- tools/audit/__init__.py +1 -0
- tools/audit/audit_logger.py +199 -0
- tools/audit/audit_query.py +153 -0
- tools/audit/decision_recorder.py +73 -0
- tools/audit_engine/__init__.py +12 -0
- tools/audit_engine/ai_advisor.py +906 -0
- tools/audit_engine/cli.py +286 -0
- tools/audit_engine/comparator.py +305 -0
- tools/audit_engine/eject_scaffolder.py +399 -0
- tools/audit_engine/engine.py +614 -0
- tools/audit_engine/git_fetcher.py +341 -0
- tools/audit_engine/regime_loader.py +200 -0
- tools/audit_engine/regime_updater.py +325 -0
- tools/audit_engine/report_card.py +289 -0
- tools/audit_engine/scanner.py +684 -0
- tools/audit_engine/self_heal.py +1042 -0
- tools/ci/__init__.py +2 -0
- tools/ci/connectors/__init__.py +2 -0
- tools/ci/connectors/base_connector.py +80 -0
- tools/ci/connectors/connector_registry.py +188 -0
- tools/ci/connectors/mattermost_connector.py +159 -0
- tools/ci/connectors/slack_connector.py +197 -0
- tools/ci/core/__init__.py +2 -0
- tools/ci/core/air_gap_detector.py +115 -0
- tools/ci/core/comment_handler.py +192 -0
- tools/ci/core/conversation_manager.py +480 -0
- tools/ci/core/event_envelope.py +500 -0
- tools/ci/core/event_router.py +444 -0
- tools/ci/core/failure_parser.py +397 -0
- tools/ci/core/recovery_engine.py +527 -0
- tools/ci/gate_enforcer.py +361 -0
- tools/ci/modules/__init__.py +2 -0
- tools/ci/modules/agent.py +271 -0
- tools/ci/modules/git_ops.py +175 -0
- tools/ci/modules/state.py +117 -0
- tools/ci/modules/vcs.py +303 -0
- tools/ci/modules/workflow_ops.py +295 -0
- tools/ci/modules/worktree.py +337 -0
- tools/ci/pipeline_config_generator.py +558 -0
- tools/ci/pr_intelligence.py +485 -0
- tools/ci/triggers/__init__.py +2 -0
- tools/ci/triggers/gitlab_task_monitor.py +327 -0
- tools/ci/triggers/poll_trigger.py +237 -0
- tools/ci/triggers/webhook_server.py +356 -0
- tools/ci/workflows/__init__.py +2 -0
- tools/ci/workflows/icdev_build.py +140 -0
- tools/ci/workflows/icdev_comply.py +284 -0
- tools/ci/workflows/icdev_document.py +152 -0
- tools/ci/workflows/icdev_e2e.py +188 -0
- tools/ci/workflows/icdev_patch.py +186 -0
- tools/ci/workflows/icdev_plan.py +202 -0
- tools/ci/workflows/icdev_plan_build.py +41 -0
- tools/ci/workflows/icdev_plan_build_test.py +46 -0
- tools/ci/workflows/icdev_plan_build_test_review.py +47 -0
- tools/ci/workflows/icdev_review.py +126 -0
- tools/ci/workflows/icdev_sdlc.py +261 -0
- tools/ci/workflows/icdev_test.py +240 -0
- tools/cli/__init__.py +1 -0
- tools/cli/output_formatter.py +756 -0
- tools/cloudforge/__init__.py +12 -0
- tools/cloudforge/airgap/__init__.py +2 -0
- tools/cloudforge/airgap/il_classifier.py +70 -0
- tools/cloudforge/airgap/offline_validator.py +42 -0
- tools/cloudforge/airgap/shift_emulator.py +155 -0
- tools/cloudforge/airgap/sneakernet.py +91 -0
- tools/cloudforge/cd_hub/__init__.py +2 -0
- tools/cloudforge/cd_hub/canary_deployer.py +88 -0
- tools/cloudforge/cd_hub/gitops_renderer.py +123 -0
- tools/cloudforge/cd_hub/hub_controller.py +143 -0
- tools/cloudforge/cd_hub/pipeline_bridge.py +30 -0
- tools/cloudforge/cd_hub/rollback_engine.py +29 -0
- tools/cloudforge/cd_hub/spoke_agent.py +51 -0
- tools/cloudforge/compliance/__init__.py +2 -0
- tools/cloudforge/compliance/ato_accelerator.py +272 -0
- tools/cloudforge/compliance/control_inheritor.py +127 -0
- tools/cloudforge/compliance/evidence_generator.py +129 -0
- tools/cloudforge/compliance/poam_bridge.py +41 -0
- tools/cloudforge/compliance/ssp_bridge.py +52 -0
- tools/cloudforge/compliance/stig_bridge.py +41 -0
- tools/cloudforge/container_forge/__init__.py +2 -0
- tools/cloudforge/container_forge/bigbang_renderer.py +85 -0
- tools/cloudforge/container_forge/hardener.py +169 -0
- tools/cloudforge/container_forge/image_scanner_bridge.py +33 -0
- tools/cloudforge/container_forge/runtime_policy.py +87 -0
- tools/cloudforge/container_forge/sbom_bridge.py +42 -0
- tools/cloudforge/finops/__init__.py +2 -0
- tools/cloudforge/finops/anomaly_detector.py +78 -0
- tools/cloudforge/finops/budget_tracker.py +96 -0
- tools/cloudforge/finops/chargeback.py +69 -0
- tools/cloudforge/finops/cost_collector.py +141 -0
- tools/cloudforge/finops/optimizer.py +55 -0
- tools/cloudforge/hybrid/__init__.py +2 -0
- tools/cloudforge/hybrid/connection_manager.py +141 -0
- tools/cloudforge/hybrid/dns_federator.py +56 -0
- tools/cloudforge/hybrid/health_monitor.py +108 -0
- tools/cloudforge/hybrid/identity_federator.py +53 -0
- tools/cloudforge/hybrid/network_bridge.py +68 -0
- tools/cloudforge/hybrid/topology_manager.py +147 -0
- tools/cloudforge/hybrid/workload_abstractor.py +92 -0
- tools/cloudforge/iac/__init__.py +2 -0
- tools/cloudforge/iac/drift_detector.py +154 -0
- tools/cloudforge/iac/module_library.py +265 -0
- tools/cloudforge/iac/opentofu_adapter.py +89 -0
- tools/cloudforge/iac/pulumi_renderer.py +292 -0
- tools/cloudforge/iac/state_backend.py +146 -0
- tools/cloudforge/iac/terraform_renderer.py +626 -0
- tools/cloudforge/landing_zone/__init__.py +2 -0
- tools/cloudforge/landing_zone/blueprint_loader.py +98 -0
- tools/cloudforge/landing_zone/blueprint_validator.py +113 -0
- tools/cloudforge/landing_zone/zone_provisioner.py +306 -0
- tools/cloudforge/landing_zone/zone_state.py +143 -0
- tools/cloudforge/mbse_thread/__init__.py +2 -0
- tools/cloudforge/mbse_thread/ato_thread_weaver.py +111 -0
- tools/cloudforge/mbse_thread/control_tracer.py +68 -0
- tools/cloudforge/mbse_thread/system_boundary.py +83 -0
- tools/cloudforge/metastore/__init__.py +2 -0
- tools/cloudforge/metastore/dependency_graph.py +202 -0
- tools/cloudforge/metastore/discovery.py +192 -0
- tools/cloudforge/metastore/registry.py +185 -0
- tools/cloudforge/metastore/rto_tracker.py +92 -0
- tools/cloudforge/metastore/runbook_linker.py +82 -0
- tools/cloudforge/migration/__init__.py +2 -0
- tools/cloudforge/migration/assessor.py +187 -0
- tools/cloudforge/migration/cutover_orchestrator.py +117 -0
- tools/cloudforge/migration/databridge_bridge.py +92 -0
- tools/cloudforge/migration/planner.py +98 -0
- tools/cloudforge/migration/risk_scorer.py +97 -0
- tools/cloudforge/migration/validation_runner.py +45 -0
- tools/cloudforge/migration/workload_inventory.py +107 -0
- tools/cloudforge/provider.py +319 -0
- tools/cloudforge/providers/__init__.py +2 -0
- tools/cloudforge/providers/aws_commercial.py +92 -0
- tools/cloudforge/providers/aws_govcloud.py +229 -0
- tools/cloudforge/providers/aws_secret.py +83 -0
- tools/cloudforge/providers/azure_commercial.py +80 -0
- tools/cloudforge/providers/azure_gov.py +91 -0
- tools/cloudforge/providers/azure_secret.py +71 -0
- tools/cloudforge/providers/gcp.py +102 -0
- tools/cloudforge/providers/oci.py +102 -0
- tools/cloudforge/registry.py +140 -0
- tools/cloudforge/runbooks/__init__.py +2 -0
- tools/cloudforge/runbooks/ai_generator.py +119 -0
- tools/cloudforge/runbooks/dag_validator.py +219 -0
- tools/cloudforge/runbooks/engine.py +470 -0
- tools/cloudforge/runbooks/models.py +99 -0
- tools/cloudforge/runbooks/snippet_library.py +158 -0
- tools/cloudforge/runbooks/template_loader.py +122 -0
- tools/cloudforge/runbooks/visualization.py +108 -0
- tools/cloudforge/siem/__init__.py +2 -0
- tools/cloudforge/siem/alert_rules.py +86 -0
- tools/cloudforge/siem/correlation_engine.py +61 -0
- tools/cloudforge/siem/log_aggregator.py +113 -0
- tools/cloudforge/siem/siem_dashboard_data.py +28 -0
- tools/cloudforge/supply_chain/__init__.py +2 -0
- tools/cloudforge/supply_chain/bridge.py +33 -0
- tools/cloudforge/supply_chain/iac_dependency_scanner.py +36 -0
- tools/cloudforge/supply_chain/provider_trust_scorer.py +54 -0
- tools/compat/__init__.py +21 -0
- tools/compat/cli_harmonizer.py +251 -0
- tools/compat/datetime_utils.py +18 -0
- tools/compat/db_utils.py +190 -0
- tools/compat/platform_utils.py +123 -0
- tools/compliance/__init__.py +1 -0
- tools/compliance/accountability_manager.py +391 -0
- tools/compliance/ai_accountability_audit.py +287 -0
- tools/compliance/ai_impact_assessor.py +267 -0
- tools/compliance/ai_incident_response.py +295 -0
- tools/compliance/ai_inventory_manager.py +233 -0
- tools/compliance/ai_reassessment_scheduler.py +250 -0
- tools/compliance/ai_transparency_audit.py +247 -0
- tools/compliance/atlas_assessor.py +276 -0
- tools/compliance/atlas_report_generator.py +1199 -0
- tools/compliance/base_assessor.py +591 -0
- tools/compliance/cato_live_engine.py +607 -0
- tools/compliance/cato_monitor.py +1371 -0
- tools/compliance/cato_scheduler.py +698 -0
- tools/compliance/cjis_assessor.py +76 -0
- tools/compliance/classification_manager.py +1340 -0
- tools/compliance/cmmc_assessor.py +1478 -0
- tools/compliance/cmmc_report_generator.py +1087 -0
- tools/compliance/compliance_detector.py +452 -0
- tools/compliance/compliance_exporter.py +418 -0
- tools/compliance/compliance_status.py +810 -0
- tools/compliance/control_mapper.py +488 -0
- tools/compliance/crosswalk_engine.py +1208 -0
- tools/compliance/cssp_assessor.py +1032 -0
- tools/compliance/cssp_evidence_collector.py +716 -0
- tools/compliance/cssp_report_generator.py +1103 -0
- tools/compliance/cui_marker.py +387 -0
- tools/compliance/diagram_validator.py +599 -0
- tools/compliance/emass/__init__.py +2 -0
- tools/compliance/emass/emass_client.py +822 -0
- tools/compliance/emass/emass_export.py +758 -0
- tools/compliance/emass/emass_sync.py +807 -0
- tools/compliance/eu_ai_act_classifier.py +193 -0
- tools/compliance/evidence_collector.py +459 -0
- tools/compliance/fairness_assessor.py +310 -0
- tools/compliance/fedramp_20x_ksi_emitter.py +692 -0
- tools/compliance/fedramp_assessor.py +1795 -0
- tools/compliance/fedramp_authorization_packager.py +137 -0
- tools/compliance/fedramp_ksi_generator.py +349 -0
- tools/compliance/fedramp_report_generator.py +1115 -0
- tools/compliance/fips199_categorizer.py +869 -0
- tools/compliance/fips200_validator.py +304 -0
- tools/compliance/firmware_sbom.py +646 -0
- tools/compliance/gao_ai_assessor.py +228 -0
- tools/compliance/gao_evidence_builder.py +302 -0
- tools/compliance/hipaa_assessor.py +78 -0
- tools/compliance/hitrust_assessor.py +49 -0
- tools/compliance/incident_response_plan.py +705 -0
- tools/compliance/inheritance_engine.py +693 -0
- tools/compliance/iso27001_assessor.py +92 -0
- tools/compliance/iso42001_assessor.py +114 -0
- tools/compliance/ivv_assessor.py +2314 -0
- tools/compliance/ivv_report_generator.py +1649 -0
- tools/compliance/model_card_generator.py +291 -0
- tools/compliance/mosa_assessor.py +117 -0
- tools/compliance/multi_regime_assessor.py +441 -0
- tools/compliance/narrative_generator.py +1012 -0
- tools/compliance/narrative_quality_gate.py +701 -0
- tools/compliance/narrative_workflow.py +814 -0
- tools/compliance/nist_800_207_assessor.py +191 -0
- tools/compliance/nist_ai_600_1_assessor.py +185 -0
- tools/compliance/nist_ai_rmf_assessor.py +110 -0
- tools/compliance/nist_lookup.py +244 -0
- tools/compliance/omb_m25_21_assessor.py +225 -0
- tools/compliance/omb_m26_04_assessor.py +185 -0
- tools/compliance/oscal_catalog_adapter.py +395 -0
- tools/compliance/oscal_generator.py +2157 -0
- tools/compliance/oscal_tools.py +1182 -0
- tools/compliance/oscal_validator.py +692 -0
- tools/compliance/owasp_agentic_assessor.py +227 -0
- tools/compliance/owasp_asi_assessor.py +197 -0
- tools/compliance/owasp_llm_assessor.py +245 -0
- tools/compliance/pci_dss_assessor.py +80 -0
- tools/compliance/pi_compliance_tracker.py +1447 -0
- tools/compliance/poam_generator.py +388 -0
- tools/compliance/resolve_marking.py +272 -0
- tools/compliance/sbd_assessor.py +2070 -0
- tools/compliance/sbd_report_generator.py +1223 -0
- tools/compliance/sbom_generator.py +993 -0
- tools/compliance/siem_config_generator.py +661 -0
- tools/compliance/slsa_attestation_generator.py +479 -0
- tools/compliance/soc2_assessor.py +77 -0
- tools/compliance/ssp_generator.py +556 -0
- tools/compliance/stig_checker.py +712 -0
- tools/compliance/swft_evidence_bundler.py +326 -0
- tools/compliance/system_card_generator.py +303 -0
- tools/compliance/template_exchange.py +513 -0
- tools/compliance/traceability_matrix.py +1268 -0
- tools/compliance/universal_classification_manager.py +1159 -0
- tools/compliance/xacta/__init__.py +2 -0
- tools/compliance/xacta/xacta_client.py +438 -0
- tools/compliance/xacta/xacta_export.py +546 -0
- tools/compliance/xacta/xacta_sync.py +322 -0
- tools/compliance/xai_assessor.py +231 -0
- tools/core/__init__.py +2 -0
- tools/core/circuit_breaker.py +353 -0
- tools/core/compliance_sidecar.py +344 -0
- tools/core/container.py +110 -0
- tools/core/errors.py +256 -0
- tools/core/feature_flags.py +311 -0
- tools/core/task_dlq.py +350 -0
- tools/dashboard/__init__.py +2 -0
- tools/dashboard/app.py +6288 -0
- tools/dashboard/templates/agent_evolution.html +287 -0
- tools/dashboard/templates/agents/list.html +71 -0
- tools/dashboard/templates/agents.html +132 -0
- tools/dashboard/templates/architecture.html +289 -0
- tools/dashboard/templates/ato_simulator.html +170 -0
- tools/dashboard/templates/audit_engine.html +844 -0
- tools/dashboard/templates/base.html +236 -0
- tools/dashboard/templates/cato_live.html +116 -0
- tools/dashboard/templates/cloudforge.html +195 -0
- tools/dashboard/templates/cloudforge_finops.html +111 -0
- tools/dashboard/templates/cloudforge_hybrid.html +122 -0
- tools/dashboard/templates/cloudforge_metastore.html +234 -0
- tools/dashboard/templates/cloudforge_migration.html +87 -0
- tools/dashboard/templates/cloudforge_runbooks.html +201 -0
- tools/dashboard/templates/cloudforge_siem.html +94 -0
- tools/dashboard/templates/compliance_accel.html +292 -0
- tools/dashboard/templates/crashes.html +122 -0
- tools/dashboard/templates/databridge.html +305 -0
- tools/dashboard/templates/databridge_analytics.html +195 -0
- tools/dashboard/templates/databridge_mapping.html +345 -0
- tools/dashboard/templates/databridge_messaging.html +321 -0
- tools/dashboard/templates/decisions.html +258 -0
- tools/dashboard/templates/devices.html +151 -0
- tools/dashboard/templates/devsecops_maturity.html +278 -0
- tools/dashboard/templates/edge_ai.html +128 -0
- tools/dashboard/templates/firmware.html +120 -0
- tools/dashboard/templates/firmware_sbom.html +193 -0
- tools/dashboard/templates/forge_hub.html +196 -0
- tools/dashboard/templates/forge_studio.html +379 -0
- tools/dashboard/templates/forge_studio_analytics.html +360 -0
- tools/dashboard/templates/forge_studio_builder.html +1637 -0
- tools/dashboard/templates/forge_studio_compliance.html +310 -0
- tools/dashboard/templates/forge_studio_deploy.html +573 -0
- tools/dashboard/templates/forge_studio_enterprise.html +888 -0
- tools/dashboard/templates/forge_studio_marketplace.html +502 -0
- tools/dashboard/templates/forge_studio_workflow.html +696 -0
- tools/dashboard/templates/golden_path.html +175 -0
- tools/dashboard/templates/govcon.html +280 -0
- tools/dashboard/templates/harness.html +148 -0
- tools/dashboard/templates/index.html +207 -0
- tools/dashboard/templates/intelligence.html +336 -0
- tools/dashboard/templates/knowledge/index.html +190 -0
- tools/dashboard/templates/knowledge_graph.html +739 -0
- tools/dashboard/templates/login.html +51 -0
- tools/dashboard/templates/marketplace.html +336 -0
- tools/dashboard/templates/marketplace_admin.html +247 -0
- tools/dashboard/templates/missions.html +403 -0
- tools/dashboard/templates/narratives.html +154 -0
- tools/dashboard/templates/pr_intelligence.html +151 -0
- tools/dashboard/templates/proposals/detail.html +300 -0
- tools/dashboard/templates/proposals/list.html +52 -0
- tools/dashboard/templates/proposals/sam_detail.html +132 -0
- tools/dashboard/templates/proposals/section_detail.html +375 -0
- tools/dashboard/templates/research.html +222 -0
- tools/dashboard/templates/resilience.html +300 -0
- tools/dashboard/templates/scorecard.html +162 -0
- tools/dashboard/templates/simulator.html +131 -0
- tools/dashboard/templates/template_exchange.html +147 -0
- tools/dashboard/templates/thread_heatmap.html +151 -0
- tools/dashboard/templates/threat_model.html +195 -0
- tools/dashboard/templates/vsm.html +141 -0
- tools/dashboard/templates/writeguard.html +277 -0
- tools/databridge/__init__.py +5 -0
- tools/databridge/agent/__init__.py +2 -0
- tools/databridge/agent/daemon.py +227 -0
- tools/databridge/agent/tunnel.py +101 -0
- tools/databridge/agent/ws_relay.py +91 -0
- tools/databridge/analytics.py +167 -0
- tools/databridge/arrow_pipeline.py +327 -0
- tools/databridge/connection_manager.py +424 -0
- tools/databridge/connector.py +331 -0
- tools/databridge/connectors/__init__.py +2 -0
- tools/databridge/connectors/argocd_connector.py +160 -0
- tools/databridge/connectors/avro_connector.py +203 -0
- tools/databridge/connectors/azure_blob.py +63 -0
- tools/databridge/connectors/cdc_connector.py +205 -0
- tools/databridge/connectors/csv_connector.py +172 -0
- tools/databridge/connectors/datadog_connector.py +153 -0
- tools/databridge/connectors/discord_messaging.py +215 -0
- tools/databridge/connectors/dynamics365.py +151 -0
- tools/databridge/connectors/elasticsearch_connector.py +145 -0
- tools/databridge/connectors/email_base.py +114 -0
- tools/databridge/connectors/excel_connector.py +175 -0
- tools/databridge/connectors/fsspec_base.py +300 -0
- tools/databridge/connectors/gcs.py +53 -0
- tools/databridge/connectors/github_connector.py +138 -0
- tools/databridge/connectors/gitlab_connector.py +132 -0
- tools/databridge/connectors/gmail_connector.py +182 -0
- tools/databridge/connectors/hdfs.py +57 -0
- tools/databridge/connectors/health_base.py +401 -0
- tools/databridge/connectors/hubspot.py +124 -0
- tools/databridge/connectors/imap_connector.py +171 -0
- tools/databridge/connectors/jenkins_connector.py +138 -0
- tools/databridge/connectors/jira_connector.py +86 -0
- tools/databridge/connectors/json_connector.py +184 -0
- tools/databridge/connectors/kafka_connector.py +246 -0
- tools/databridge/connectors/kinesis_connector.py +238 -0
- tools/databridge/connectors/local_fs.py +30 -0
- tools/databridge/connectors/matrix.py +197 -0
- tools/databridge/connectors/mattermost_messaging.py +184 -0
- tools/databridge/connectors/messaging_base.py +172 -0
- tools/databridge/connectors/mssql.py +63 -0
- tools/databridge/connectors/mysql.py +57 -0
- tools/databridge/connectors/netsuite.py +170 -0
- tools/databridge/connectors/o365_mail.py +196 -0
- tools/databridge/connectors/oracle.py +65 -0
- tools/databridge/connectors/pagerduty_connector.py +162 -0
- tools/databridge/connectors/parquet_connector.py +131 -0
- tools/databridge/connectors/postgresql.py +58 -0
- tools/databridge/connectors/s3.py +65 -0
- tools/databridge/connectors/saas_base.py +198 -0
- tools/databridge/connectors/salesforce.py +126 -0
- tools/databridge/connectors/sap.py +89 -0
- tools/databridge/connectors/servicenow.py +60 -0
- tools/databridge/connectors/signal_messaging.py +150 -0
- tools/databridge/connectors/slack_messaging.py +203 -0
- tools/databridge/connectors/smtp_connector.py +126 -0
- tools/databridge/connectors/soap_base.py +258 -0
- tools/databridge/connectors/splunk_connector.py +171 -0
- tools/databridge/connectors/sql_base.py +310 -0
- tools/databridge/connectors/sqlite_connector.py +76 -0
- tools/databridge/connectors/teams.py +148 -0
- tools/databridge/connectors/telegram.py +192 -0
- tools/databridge/connectors/whatsapp.py +137 -0
- tools/databridge/data_profiler.py +99 -0
- tools/databridge/forge/__init__.py +6 -0
- tools/databridge/forge/base_selector.py +150 -0
- tools/databridge/forge/code_generator.py +206 -0
- tools/databridge/forge/community_hub.py +539 -0
- tools/databridge/forge/forge_agent.py +306 -0
- tools/databridge/forge/import_handler.py +133 -0
- tools/databridge/forge/integration_tester.py +127 -0
- tools/databridge/forge/marketplace_publisher.py +164 -0
- tools/databridge/forge/promoter.py +159 -0
- tools/databridge/forge/sandbox_manager.py +257 -0
- tools/databridge/forge/spec_parser.py +358 -0
- tools/databridge/forge/static_validator.py +363 -0
- tools/databridge/forge/templates/__init__.py +591 -0
- tools/databridge/format_converter.py +188 -0
- tools/databridge/mapping_engine.py +348 -0
- tools/databridge/messaging/__init__.py +5 -0
- tools/databridge/messaging/agent_bridge.py +254 -0
- tools/databridge/messaging/message_envelope.py +111 -0
- tools/databridge/messaging/message_logger.py +204 -0
- tools/databridge/messaging/messaging_daemon.py +326 -0
- tools/databridge/messaging/oauth2_manager.py +411 -0
- tools/databridge/pii_detector.py +221 -0
- tools/databridge/registry.py +352 -0
- tools/databridge/relay_server.py +105 -0
- tools/databridge/scale/__init__.py +16 -0
- tools/databridge/scale/backpressure.py +134 -0
- tools/databridge/scale/chunked_pipeline.py +169 -0
- tools/databridge/scale/connection_pool.py +293 -0
- tools/databridge/scale/engine.py +492 -0
- tools/databridge/scale/worker_pool.py +140 -0
- tools/databridge/scale/write_batcher.py +250 -0
- tools/databridge/schema_engine.py +324 -0
- tools/databridge/stream_manager.py +225 -0
- tools/databridge/sync_engine.py +411 -0
- tools/databridge/transforms.py +302 -0
- tools/db/__init__.py +1 -0
- tools/db/backup.py +312 -0
- tools/db/backup_manager.py +832 -0
- tools/db/init_icdev_db.py +7753 -0
- tools/db/init_sparkpilot_db.py +431 -0
- tools/db/migrate.py +177 -0
- tools/db/migrate_innovation_audit.py +165 -0
- tools/db/migration_runner.py +548 -0
- tools/db/migrations/001_baseline/meta.json +9 -0
- tools/db/migrations/001_baseline/up.py +67 -0
- tools/db/migrations/002_memory_enhancements/down.sql +8 -0
- tools/db/migrations/002_memory_enhancements/meta.json +9 -0
- tools/db/migrations/002_memory_enhancements/up.py +119 -0
- tools/db/migrations/003_dev_profiles/meta.json +8 -0
- tools/db/migrations/003_dev_profiles/up.py +93 -0
- tools/db/migrations/004_innovation_engine/down.py +19 -0
- tools/db/migrations/004_innovation_engine/up.py +227 -0
- tools/db/migrations/005_phase_37_ai_security/down.py +19 -0
- tools/db/migrations/005_phase_37_ai_security/up.py +257 -0
- tools/db/migrations/006_phase_36_evolution/down.py +21 -0
- tools/db/migrations/006_phase_36_evolution/up.py +323 -0
- tools/db/migrations/007_phase_38_cloud/down.py +14 -0
- tools/db/migrations/007_phase_38_cloud/up.py +110 -0
- tools/db/migrations/008_phase36_37_integration/up.py +55 -0
- tools/db/migrations/__init__.py +2 -0
- tools/db/pg_migrate.py +642 -0
- tools/db/storage.py +1080 -0
- tools/decisions/__init__.py +2 -0
- tools/decisions/dmn_engine.py +695 -0
- tools/devsecops/__init__.py +2 -0
- tools/devsecops/attestation_manager.py +449 -0
- tools/devsecops/network_segmentation_generator.py +604 -0
- tools/devsecops/pdp_config_generator.py +1246 -0
- tools/devsecops/pipeline_security_generator.py +475 -0
- tools/devsecops/policy_generator.py +644 -0
- tools/devsecops/profile_manager.py +374 -0
- tools/devsecops/service_mesh_generator.py +1063 -0
- tools/devsecops/zta_maturity_scorer.py +355 -0
- tools/devsecops/zta_terraform_generator.py +1301 -0
- tools/edge_ai/__init__.py +2 -0
- tools/edge_ai/model_manager.py +200 -0
- tools/embedded/__init__.py +2 -0
- tools/embedded/cmake_generator.py +318 -0
- tools/embedded/crash_analyzer.py +191 -0
- tools/embedded/nl_to_firmware.py +277 -0
- tools/events/__init__.py +1 -0
- tools/events/event_bus.py +199 -0
- tools/finetune/pair_generator.py +832 -0
- tools/fleet/__init__.py +2 -0
- tools/fleet/device_registry.py +148 -0
- tools/fleet/ota_manager.py +153 -0
- tools/forge_studio/__init__.py +13 -0
- tools/forge_studio/analytics/__init__.py +0 -0
- tools/forge_studio/analytics/process_miner.py +383 -0
- tools/forge_studio/audit.py +183 -0
- tools/forge_studio/blueprint/__init__.py +2 -0
- tools/forge_studio/blueprint/build_tracker.py +317 -0
- tools/forge_studio/blueprint/export_engine.py +441 -0
- tools/forge_studio/blueprint/parent_client.py +335 -0
- tools/forge_studio/catalog/__init__.py +2 -0
- tools/forge_studio/catalog/component_registry.py +176 -0
- tools/forge_studio/catalog/schema_validator.py +193 -0
- tools/forge_studio/compliance/__init__.py +1 -0
- tools/forge_studio/compliance/compliance_wiring.py +554 -0
- tools/forge_studio/deploy/__init__.py +1 -0
- tools/forge_studio/deploy/airgap_packager.py +466 -0
- tools/forge_studio/deploy/deploy_engine.py +1792 -0
- tools/forge_studio/deploy/env_manager.py +431 -0
- tools/forge_studio/eject/__init__.py +2 -0
- tools/forge_studio/eject/docker_compose_generator.py +237 -0
- tools/forge_studio/eject/eject_engine.py +230 -0
- tools/forge_studio/eject/expo_scaffolder.py +303 -0
- tools/forge_studio/eject/nextjs_scaffolder.py +338 -0
- tools/forge_studio/enterprise/__init__.py +0 -0
- tools/forge_studio/enterprise/custom_frameworks.py +826 -0
- tools/forge_studio/enterprise/hardening_engine.py +1530 -0
- tools/forge_studio/enterprise/sso_manager.py +718 -0
- tools/forge_studio/enterprise/whitelabel_engine.py +887 -0
- tools/forge_studio/formula/__init__.py +0 -0
- tools/forge_studio/formula/expression_engine.py +562 -0
- tools/forge_studio/formula/formula_registry.py +265 -0
- tools/forge_studio/generator/__init__.py +2 -0
- tools/forge_studio/generator/app_generator.py +584 -0
- tools/forge_studio/generator/complexity_detector.py +368 -0
- tools/forge_studio/generator/prompt_templates.py +104 -0
- tools/forge_studio/generator/spec_builder.py +192 -0
- tools/forge_studio/intake_bridge.py +898 -0
- tools/forge_studio/marketplace/__init__.py +0 -0
- tools/forge_studio/marketplace/component_hub.py +428 -0
- tools/forge_studio/models.py +369 -0
- tools/forge_studio/renderer/__init__.py +2 -0
- tools/forge_studio/renderer/json_render_engine.py +623 -0
- tools/forge_studio/renderer/layout_engine.py +214 -0
- tools/forge_studio/renderer/rn_component_map.py +182 -0
- tools/forge_studio/supabase/__init__.py +2 -0
- tools/forge_studio/supabase/auth_generator.py +283 -0
- tools/forge_studio/supabase/migration_generator.py +93 -0
- tools/forge_studio/supabase/schema_generator.py +281 -0
- tools/forge_studio/tenant_manager.py +387 -0
- tools/forge_studio/workflow/__init__.py +2 -0
- tools/forge_studio/workflow/bpmn_adapter.py +489 -0
- tools/govcon/draft_orchestrator.py +1151 -0
- tools/govcon/engine_enrichment.py +373 -0
- tools/govcon/knowledge_base.py +487 -0
- tools/govcon/knowledge_ingestion.py +510 -0
- tools/govcon/sam_scanner.py +754 -0
- tools/harness/__init__.py +6 -0
- tools/harness/exit_criteria_evaluator.py +231 -0
- tools/harness/maturity_assessor.py +347 -0
- tools/harness/scaffold_harness.py +416 -0
- tools/harness/trace_analyzer.py +281 -0
- tools/infra/__init__.py +1 -0
- tools/infra/ansible_generator.py +867 -0
- tools/infra/dockerfile_generator.py +359 -0
- tools/infra/infra_status.py +384 -0
- tools/infra/ironbank_metadata_generator.py +403 -0
- tools/infra/k8s_generator.py +1000 -0
- tools/infra/pipeline_generator.py +830 -0
- tools/infra/rollback.py +389 -0
- tools/infra/terraform_generator.py +1140 -0
- tools/infra/terraform_generator_azure.py +1252 -0
- tools/infra/terraform_generator_gcp.py +951 -0
- tools/infra/terraform_generator_ibm.py +359 -0
- tools/infra/terraform_generator_oci.py +918 -0
- tools/infra/terraform_generator_onprem.py +318 -0
- tools/knowledge/__init__.py +1 -0
- tools/knowledge/knowledge_ingest.py +281 -0
- tools/knowledge/pattern_detector.py +681 -0
- tools/knowledge/recommendation_engine.py +449 -0
- tools/knowledge/self_heal_analyzer.py +492 -0
- tools/knowledge_graph/__init__.py +2 -0
- tools/knowledge_graph/graph_rag.py +498 -0
- tools/knowledge_graph/ingester.py +406 -0
- tools/knowledge_graph/insight_generator.py +369 -0
- tools/knowledge_graph/text_network.py +832 -0
- tools/llm/__init__.py +72 -0
- tools/llm/anthropic_provider.py +170 -0
- tools/llm/azure_openai_provider.py +338 -0
- tools/llm/bedrock_provider.py +315 -0
- tools/llm/embedding_provider.py +438 -0
- tools/llm/gemini_provider.py +381 -0
- tools/llm/ibm_watsonx_provider.py +231 -0
- tools/llm/oci_genai_provider.py +462 -0
- tools/llm/ollama_provider.py +350 -0
- tools/llm/openai_provider.py +225 -0
- tools/llm/prompt_registry.py +447 -0
- tools/llm/provider.py +355 -0
- tools/llm/provider_sdk.py +175 -0
- tools/llm/router.py +1124 -0
- tools/llm/semantic_cache.py +394 -0
- tools/llm/vertex_ai_provider.py +374 -0
- tools/maintenance/__init__.py +2 -0
- tools/maintenance/dependency_scanner.py +1016 -0
- tools/maintenance/maintenance_auditor.py +804 -0
- tools/maintenance/remediation_engine.py +957 -0
- tools/maintenance/vulnerability_checker.py +978 -0
- tools/manifest.md +1066 -0
- tools/marketplace/asset_installer.py +639 -0
- tools/marketplace/feedback_validator.py +359 -0
- tools/marketplace/license_client.py +458 -0
- tools/marketplace/module_crypto.py +544 -0
- tools/marketplace/module_runtime.py +236 -0
- tools/marketplace/token_store.py +264 -0
- tools/mbse/__init__.py +3 -0
- tools/mbse/des_assessor.py +1173 -0
- tools/mbse/des_report_generator.py +787 -0
- tools/mbse/diagram_extractor.py +792 -0
- tools/mbse/digital_thread.py +1650 -0
- tools/mbse/model_code_generator.py +1115 -0
- tools/mbse/model_control_mapper.py +410 -0
- tools/mbse/pi_model_tracker.py +1079 -0
- tools/mbse/reqif_parser.py +1468 -0
- tools/mbse/sync_engine.py +1789 -0
- tools/mbse/thread_heatmap.py +445 -0
- tools/mbse/xmi_parser.py +1558 -0
- tools/mcp/builder_server.py +64 -0
- tools/mcp/compliance_server.py +64 -0
- tools/mcp/connector_forge_server.py +155 -0
- tools/mcp/core_server.py +64 -0
- tools/mcp/devsecops_server.py +11 -0
- tools/mcp/devsecops_zta_server.py +64 -0
- tools/mcp/knowledge_server.py +64 -0
- tools/mcp/monitor_server.py +64 -0
- tools/mcp/ops_server.py +300 -0
- tools/mcp/requirements_analyst_server.py +64 -0
- tools/mcp/requirements_server.py +11 -0
- tools/mcp/security_server.py +64 -0
- tools/mcp/simulation_server.py +64 -0
- tools/mcp/supply_chain_server.py +64 -0
- tools/mcp/tool_registry.py +299 -0
- tools/memory/__init__.py +2 -0
- tools/memory/auto_capture.py +346 -0
- tools/memory/embed_memory.py +157 -0
- tools/memory/history_compressor.py +334 -0
- tools/memory/hybrid_search.py +235 -0
- tools/memory/maintenance_cron.py +288 -0
- tools/memory/memory_consolidation.py +439 -0
- tools/memory/memory_db.py +132 -0
- tools/memory/memory_read.py +101 -0
- tools/memory/memory_write.py +221 -0
- tools/memory/semantic_search.py +138 -0
- tools/memory/time_decay.py +434 -0
- tools/missions/__init__.py +2 -0
- tools/missions/mission_engine.py +459 -0
- tools/monitor/__init__.py +1 -0
- tools/monitor/alert_correlator.py +486 -0
- tools/monitor/auto_resolver.py +603 -0
- tools/monitor/health_checker.py +507 -0
- tools/monitor/heartbeat_daemon.py +779 -0
- tools/monitor/log_analyzer.py +507 -0
- tools/monitor/metric_collector.py +484 -0
- tools/mosa/__init__.py +10 -0
- tools/mosa/icd_generator.py +358 -0
- tools/mosa/modular_design_analyzer.py +682 -0
- tools/mosa/mosa_code_enforcer.py +348 -0
- tools/mosa/tsp_generator.py +265 -0
- tools/observability/__init__.py +100 -0
- tools/observability/genai_attributes.py +88 -0
- tools/observability/instrumentation.py +140 -0
- tools/observability/mlflow_exporter.py +193 -0
- tools/observability/otel_tracer.py +168 -0
- tools/observability/provenance/__init__.py +3 -0
- tools/observability/provenance/prov_recorder.py +322 -0
- tools/observability/shap/__init__.py +3 -0
- tools/observability/shap/agent_shap.py +274 -0
- tools/observability/sqlite_tracer.py +360 -0
- tools/observability/trace_context.py +205 -0
- tools/observability/tracer.py +230 -0
- tools/orchestration/__init__.py +1 -0
- tools/orchestration/peer_channels.py +254 -0
- tools/orchestration/saga_coordinator.py +390 -0
- tools/project/__init__.py +1 -0
- tools/project/manifest_loader.py +418 -0
- tools/project/project_create.py +350 -0
- tools/project/project_list.py +171 -0
- tools/project/project_scaffold.py +1715 -0
- tools/project/project_status.py +478 -0
- tools/project/session_context_builder.py +752 -0
- tools/project/validate_manifest.py +54 -0
- tools/rag/corrective_rag.py +582 -0
- tools/rag/source_registry.py +482 -0
- tools/requirements/__init__.py +1 -0
- tools/requirements/ai_governance_scorer.py +207 -0
- tools/requirements/boundary_analyzer.py +1281 -0
- tools/requirements/clarification_engine.py +605 -0
- tools/requirements/complexity_scorer.py +369 -0
- tools/requirements/consistency_analyzer.py +789 -0
- tools/requirements/constitution_manager.py +592 -0
- tools/requirements/decomposition_engine.py +764 -0
- tools/requirements/document_extractor.py +1002 -0
- tools/requirements/elicitation_techniques.py +508 -0
- tools/requirements/gap_detector.py +260 -0
- tools/requirements/intake_engine.py +2175 -0
- tools/requirements/prd_generator.py +839 -0
- tools/requirements/prd_validator.py +584 -0
- tools/requirements/readiness_scorer.py +302 -0
- tools/requirements/spec_organizer.py +1015 -0
- tools/requirements/spec_quality_checker.py +1083 -0
- tools/requirements/traceability_builder.py +566 -0
- tools/research/__init__.py +3 -0
- tools/research/academic_scanner.py +130 -0
- tools/research/build_buy_analyzer.py +229 -0
- tools/research/challenge_scorer.py +280 -0
- tools/research/community_scanner.py +174 -0
- tools/research/cross_engine_bridge.py +124 -0
- tools/research/dossier_generator.py +305 -0
- tools/research/landscape_scanner.py +315 -0
- tools/research/regulatory_scanner.py +248 -0
- tools/research/research_manager.py +469 -0
- tools/research/source_scanner.py +150 -0
- tools/research/vertical_loader.py +118 -0
- tools/saas/__init__.py +0 -0
- tools/saas/licensing/__init__.py +0 -0
- tools/saas/licensing/license_validator.py +345 -0
- tools/scaffold/__init__.py +2 -0
- tools/scaffold/golden_path.py +504 -0
- tools/security/__init__.py +1 -0
- tools/security/agent_output_validator.py +330 -0
- tools/security/agent_trust_scorer.py +652 -0
- tools/security/ai_bom_generator.py +718 -0
- tools/security/ai_telemetry_logger.py +469 -0
- tools/security/atlas_red_team.py +541 -0
- tools/security/code_pattern_scanner.py +382 -0
- tools/security/confabulation_detector.py +265 -0
- tools/security/container_scanner.py +489 -0
- tools/security/dependency_auditor.py +942 -0
- tools/security/endpoint_security_scanner.py +626 -0
- tools/security/mcp_tool_authorizer.py +242 -0
- tools/security/output_verifier.py +427 -0
- tools/security/prompt_injection_detector.py +737 -0
- tools/security/sast_runner.py +946 -0
- tools/security/secret_detector.py +376 -0
- tools/security/threat_modeler.py +678 -0
- tools/security/tool_chain_validator.py +357 -0
- tools/security/vuln_scanner.py +536 -0
- tools/simulation/__init__.py +2 -0
- tools/simulation/ato_simulator.py +517 -0
- tools/simulation/coa_generator.py +1539 -0
- tools/simulation/monte_carlo.py +745 -0
- tools/simulation/scenario_manager.py +1060 -0
- tools/simulation/simulation_engine.py +1091 -0
- tools/simulator/__init__.py +2 -0
- tools/simulator/sim_runner.py +272 -0
- tools/supply_chain/__init__.py +2 -0
- tools/supply_chain/cve_triager.py +690 -0
- tools/supply_chain/dependency_graph.py +630 -0
- tools/supply_chain/isa_manager.py +526 -0
- tools/supply_chain/scrm_assessor.py +531 -0
- tools/supply_chain/slsa_verifier.py +473 -0
- tools/testing/__init__.py +2 -0
- tools/testing/acceptance_validator.py +411 -0
- tools/testing/api_surface_extractor.py +749 -0
- tools/testing/claude_dir_validator.py +831 -0
- tools/testing/data_types.py +199 -0
- tools/testing/e2e_runner.py +715 -0
- tools/testing/fuzz_cli.py +306 -0
- tools/testing/health_check.py +483 -0
- tools/testing/platform_check.py +143 -0
- tools/testing/production_audit.py +1836 -0
- tools/testing/production_remediate.py +803 -0
- tools/testing/screenshot_validator.py +538 -0
- tools/testing/smoke_test.py +283 -0
- tools/testing/test_agent_models.py +117 -0
- tools/testing/test_orchestrator.py +957 -0
- tools/testing/utils.py +229 -0
- tools/writeguard/__init__.py +1 -0
- tools/writeguard/main.py +1 -0
- tools/writing/__init__.py +7 -0
- tools/writing/ai_content_detector.py +316 -0
- tools/writing/analysis_engine.py +454 -0
- tools/writing/batch_analyzer.py +276 -0
- tools/writing/coherence_analyzer.py +221 -0
- tools/writing/govcon_bridge.py +509 -0
- tools/writing/grammar_checker.py +270 -0
- tools/writing/plagiarism_detector.py +106 -0
- tools/writing/readability_scorer.py +201 -0
- tools/writing/rewriter.py +96 -0
- tools/writing/signal_registrar.py +167 -0
- tools/writing/snippet_manager.py +276 -0
- tools/writing/style_enforcer.py +220 -0
- tools/writing/style_guide_manager.py +438 -0
- tools/writing/tone_profiler.py +168 -0
|
@@ -0,0 +1,1032 @@
|
|
|
1
|
+
# CUI // SP-CTI
|
|
2
|
+
|
|
3
|
+
# ICDEV Bounded Contexts — Domain-Driven Design Reference
|
|
4
|
+
|
|
5
|
+
**Classification:** CUI // SP-CTI
|
|
6
|
+
**Impact Level:** IL4
|
|
7
|
+
**Last Updated:** 2026-03-08
|
|
8
|
+
**Status:** Living Document
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Table of Contents
|
|
13
|
+
|
|
14
|
+
1. [Overview](#overview)
|
|
15
|
+
2. [Context Map](#context-map)
|
|
16
|
+
3. [Bounded Contexts](#bounded-contexts)
|
|
17
|
+
- [Compliance](#1-compliance)
|
|
18
|
+
- [Security](#2-security)
|
|
19
|
+
- [Requirements](#3-requirements)
|
|
20
|
+
- [Simulation](#4-simulation)
|
|
21
|
+
- [DevSecOps](#5-devsecops)
|
|
22
|
+
- [Supply Chain](#6-supply-chain)
|
|
23
|
+
- [MBSE](#7-mbse)
|
|
24
|
+
- [Embedded](#8-embedded)
|
|
25
|
+
- [Observability](#9-observability)
|
|
26
|
+
- [GovCon](#10-govcon)
|
|
27
|
+
- [CloudForge](#11-cloudforge)
|
|
28
|
+
- [Knowledge](#12-knowledge)
|
|
29
|
+
4. [Integration Patterns Summary](#integration-patterns-summary)
|
|
30
|
+
5. [Anti-Corruption Layer Index](#anti-corruption-layer-index)
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Overview
|
|
35
|
+
|
|
36
|
+
ICDEV (Intelligent Certified Development) is decomposed into 12 bounded contexts following Domain-Driven Design principles. Each context owns its aggregate roots, enforces its invariants independently, and communicates with other contexts through well-defined integration patterns.
|
|
37
|
+
|
|
38
|
+
All contexts share the storage abstraction layer (`tools/db/storage.py`, decision D-DB-21) but maintain logical isolation of their domain models. The audit trail is append-only across all contexts (NIST 800-53 AU compliance, decision D6).
|
|
39
|
+
|
|
40
|
+
### Bounded Context Summary
|
|
41
|
+
|
|
42
|
+
| Bounded Context | Directory | Core Aggregate | Key Invariant |
|
|
43
|
+
|---|---|---|---|
|
|
44
|
+
| Compliance | `tools/compliance/` | ComplianceControl | Cannot be "Implemented" without non-expired evidence |
|
|
45
|
+
| Security | `tools/security/` | ThreatModel | Every STRIDE threat maps to >= 1 NIST control |
|
|
46
|
+
| Requirements | `tools/requirements/` | IntakeSession | Cannot pass Stage 3 without readiness >= 0.7 |
|
|
47
|
+
| Simulation | `tools/simulation/` | Scenario | Monte Carlo requires >= 1000 iterations |
|
|
48
|
+
| DevSecOps | `tools/devsecops/` | DevSecOpsProfile | IL4+ requires ZTA maturity >= Advanced |
|
|
49
|
+
| Supply Chain | `tools/supply_chain/` | DependencyGraph | All vendors must have SCRM assessment |
|
|
50
|
+
| MBSE | `tools/mbse/` | DigitalThread | Every model element must have trace link |
|
|
51
|
+
| Embedded | `tools/embedded/` + `fleet/` + `edge_ai/` | Device | Deployed firmware must have SBOM |
|
|
52
|
+
| Observability | `tools/observability/` | Trace | Active tracing required for production |
|
|
53
|
+
| GovCon | `tools/govcon/` | Proposal | Read-only bridge to compliance (D-WG-8) |
|
|
54
|
+
| CloudForge | `tools/cloudforge/` | Runbook | DAG execution via Kahn's algorithm |
|
|
55
|
+
| Knowledge | `tools/memory/` + `tools/rag/` | MemoryEntry | Hybrid search: 0.7 BM25 + 0.3 semantic |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Context Map
|
|
60
|
+
|
|
61
|
+
```mermaid
|
|
62
|
+
graph TB
|
|
63
|
+
subgraph core["Core Domain"]
|
|
64
|
+
COMP[Compliance]
|
|
65
|
+
SEC[Security]
|
|
66
|
+
REQ[Requirements]
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
subgraph supporting["Supporting Domain"]
|
|
70
|
+
SIM[Simulation]
|
|
71
|
+
DSO[DevSecOps]
|
|
72
|
+
SC[Supply Chain]
|
|
73
|
+
MBSE_CTX[MBSE]
|
|
74
|
+
OBS[Observability]
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
subgraph generic["Generic Domain"]
|
|
78
|
+
EMB[Embedded]
|
|
79
|
+
GOV[GovCon]
|
|
80
|
+
CF[CloudForge]
|
|
81
|
+
KN[Knowledge]
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
subgraph external["External Systems"]
|
|
85
|
+
EXT_VENDORS[External Vendors]
|
|
86
|
+
EXT_FRAMEWORKS[Compliance Frameworks]
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
%% Conformist
|
|
90
|
+
SEC -->|Conformist| COMP
|
|
91
|
+
COMP -.->|publishes controls| SEC
|
|
92
|
+
|
|
93
|
+
%% Customer/Supplier
|
|
94
|
+
REQ -->|Customer/Supplier| COMP
|
|
95
|
+
REQ -->|Customer/Supplier| SIM
|
|
96
|
+
COMP -.->|control status| REQ
|
|
97
|
+
SIM -.->|simulation results| REQ
|
|
98
|
+
|
|
99
|
+
%% Partnership
|
|
100
|
+
MBSE_CTX <-->|Partnership| REQ
|
|
101
|
+
|
|
102
|
+
%% ACL boundaries
|
|
103
|
+
SC -->|ACL| EXT_VENDORS
|
|
104
|
+
EMB -->|ACL| COMP
|
|
105
|
+
EMB -->|ACL| EXT_FRAMEWORKS
|
|
106
|
+
|
|
107
|
+
%% Published Language
|
|
108
|
+
GOV -->|Published Language| COMP
|
|
109
|
+
|
|
110
|
+
%% Shared Kernel
|
|
111
|
+
CF <-->|Shared Kernel| DSO
|
|
112
|
+
|
|
113
|
+
%% Observability monitors everything
|
|
114
|
+
OBS -.->|monitors| COMP
|
|
115
|
+
OBS -.->|monitors| SEC
|
|
116
|
+
OBS -.->|monitors| DSO
|
|
117
|
+
|
|
118
|
+
%% Knowledge serves everything
|
|
119
|
+
KN -.->|serves| REQ
|
|
120
|
+
KN -.->|serves| COMP
|
|
121
|
+
KN -.->|serves| SEC
|
|
122
|
+
|
|
123
|
+
classDef core fill:#2d5f8a,stroke:#1a3a5c,color:#fff
|
|
124
|
+
classDef supporting fill:#5a8a3d,stroke:#3a5c1a,color:#fff
|
|
125
|
+
classDef generic fill:#8a6b2d,stroke:#5c4a1a,color:#fff
|
|
126
|
+
classDef external fill:#8a2d2d,stroke:#5c1a1a,color:#fff
|
|
127
|
+
|
|
128
|
+
class COMP,SEC,REQ core
|
|
129
|
+
class SIM,DSO,SC,MBSE_CTX,OBS supporting
|
|
130
|
+
class EMB,GOV,CF,KN generic
|
|
131
|
+
class EXT_VENDORS,EXT_FRAMEWORKS external
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Relationship Types
|
|
135
|
+
|
|
136
|
+
| Relationship | Upstream | Downstream | Pattern | Description |
|
|
137
|
+
|---|---|---|---|---|
|
|
138
|
+
| Conformist | Compliance | Security | Security conforms to Compliance's control model without translation |
|
|
139
|
+
| Customer/Supplier | Compliance | Requirements | Requirements consumes control status; Compliance fulfills on its own schedule |
|
|
140
|
+
| Customer/Supplier | Simulation | Requirements | Requirements triggers simulations; Simulation delivers results asynchronously |
|
|
141
|
+
| Partnership | MBSE | Requirements | Co-evolving models; both teams collaborate on shared traceability schema |
|
|
142
|
+
| ACL | External Vendors | Supply Chain | Supply Chain translates vendor data through anti-corruption layer |
|
|
143
|
+
| ACL | Compliance | Embedded | Embedded translates between IEC 62443/DO-178C and NIST 800-53 |
|
|
144
|
+
| Published Language | Compliance | GovCon | GovCon reads compliance data via standardized read-only bridge |
|
|
145
|
+
| Shared Kernel | DevSecOps | CloudForge | Shared pipeline/policy models; changes require mutual agreement |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Bounded Contexts
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### 1. Compliance
|
|
154
|
+
|
|
155
|
+
**Directory:** `tools/compliance/`
|
|
156
|
+
**Agent:** Compliance (port 9446)
|
|
157
|
+
**Domain Type:** Core
|
|
158
|
+
|
|
159
|
+
#### Overview
|
|
160
|
+
|
|
161
|
+
The Compliance context is the authoritative source for control implementation status, evidence collection, and framework assessments across 9 compliance frameworks. It enforces the control crosswalk (D-SBD-4): implementing one NIST 800-53 control auto-populates FedRAMP, CMMC, and 800-171 status. This context is the single source of truth for ATO readiness.
|
|
162
|
+
|
|
163
|
+
#### Core Aggregate: ComplianceControl
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
ComplianceControl (Aggregate Root)
|
|
167
|
+
├── control_id: str # e.g., "AC-2"
|
|
168
|
+
├── framework: str # e.g., "NIST 800-53"
|
|
169
|
+
├── status: enum # not_started | partial | implemented | not_applicable
|
|
170
|
+
├── evidence: List[Evidence]
|
|
171
|
+
│ ├── evidence_id: str
|
|
172
|
+
│ ├── collected_at: datetime
|
|
173
|
+
│ ├── expires_at: datetime
|
|
174
|
+
│ └── artifact_type: str # ssp | poam | scan_result | test_result
|
|
175
|
+
├── crosswalk_mappings: List[CrosswalkMapping]
|
|
176
|
+
│ ├── target_framework: str
|
|
177
|
+
│ └── target_control_id: str
|
|
178
|
+
└── sbd_requirements: List[SbdRequirement]
|
|
179
|
+
├── requirement_id: str # e.g., "SBD-04"
|
|
180
|
+
├── pillar: str # Cloudyrion 8-pillar
|
|
181
|
+
└── exception: Optional[SbdException]
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
#### Key Invariants
|
|
185
|
+
|
|
186
|
+
1. **Evidence freshness:** A control cannot be "Implemented" without at least one non-expired evidence artifact (D-INV-2: current <= 30d, stale <= 90d, expired > 90d).
|
|
187
|
+
2. **Crosswalk propagation:** Status change on a NIST 800-53 control must trigger crosswalk update to all mapped frameworks.
|
|
188
|
+
3. **SbD exception aging:** Expired SbD exceptions block deployment (D-SBD-3). Maximum exception duration is 365 days.
|
|
189
|
+
4. **Append-only audit:** All compliance evidence and assessment results are immutable (D6, D-WG-9).
|
|
190
|
+
5. **Classification markings:** All generated artifacts must include CUI // SP-CTI markings at IL4 (D5).
|
|
191
|
+
|
|
192
|
+
#### Domain Events
|
|
193
|
+
|
|
194
|
+
| Event | Published/Consumed | Description |
|
|
195
|
+
|---|---|---|
|
|
196
|
+
| `ControlStatusChanged` | Published | Emitted when a control transitions status |
|
|
197
|
+
| `EvidenceCollected` | Published | New evidence artifact linked to control |
|
|
198
|
+
| `EvidenceExpired` | Published | Evidence crosses freshness threshold |
|
|
199
|
+
| `CrosswalkUpdated` | Published | Mapped framework status propagated |
|
|
200
|
+
| `SbdExceptionExpired` | Published | Exception aging triggered |
|
|
201
|
+
| `AssessmentCompleted` | Published | FedRAMP/CMMC/STIG assessment finished |
|
|
202
|
+
| `ThreatMitigationLinked` | Consumed | From Security — threat mapped to control |
|
|
203
|
+
| `RequirementDecomposed` | Consumed | From Requirements — new control needed |
|
|
204
|
+
|
|
205
|
+
#### Anti-Corruption Layer
|
|
206
|
+
|
|
207
|
+
- **Inbound from Security:** Accepts `ThreatMitigationLinked` events, validates that referenced control IDs exist in the control catalog before linking.
|
|
208
|
+
- **Inbound from Requirements:** Accepts decomposed requirements, maps to controls via `control_mapper.py`.
|
|
209
|
+
- **Outbound to GovCon:** Exposes read-only bridge (D-WG-8) — GovCon can query control status but never write.
|
|
210
|
+
|
|
211
|
+
#### Integration Patterns
|
|
212
|
+
|
|
213
|
+
- **Crosswalk Engine** (`crosswalk_engine.py`): Internal pattern that propagates status across frameworks. Implements the "implement once, satisfy many" principle.
|
|
214
|
+
- **cATO Live Evidence** (`cato_live_engine.py`): Continuous OSCAL streaming with incremental assessment-results (D-INV-1).
|
|
215
|
+
- **Template Exchange** (`template_exchange.py`): Community template sharing with SHA-256 content hash for tamper detection (D-INV-5).
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
### 2. Security
|
|
220
|
+
|
|
221
|
+
**Directory:** `tools/security/`
|
|
222
|
+
**Agent:** Security (port 9447)
|
|
223
|
+
**Domain Type:** Core
|
|
224
|
+
|
|
225
|
+
#### Overview
|
|
226
|
+
|
|
227
|
+
The Security context owns threat modeling, vulnerability scanning, AI security assessment, and agent trust scoring. It operates as a conformist to the Compliance context — it adopts the Compliance control model directly for STRIDE-to-NIST mapping without translating it into a separate model.
|
|
228
|
+
|
|
229
|
+
#### Core Aggregate: ThreatModel
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
ThreatModel (Aggregate Root)
|
|
233
|
+
├── model_id: str
|
|
234
|
+
├── project_id: str
|
|
235
|
+
├── name: str
|
|
236
|
+
├── components: List[Component]
|
|
237
|
+
│ ├── component_id: str
|
|
238
|
+
│ ├── type: enum # web_application | api | database | message_queue | ...
|
|
239
|
+
│ └── stride_threats: List[StrideThreat]
|
|
240
|
+
│ ├── category: enum # Spoofing | Tampering | Repudiation | InfoDisclosure | DoS | EoP
|
|
241
|
+
│ ├── severity: enum # critical | high | medium | low
|
|
242
|
+
│ └── nist_controls: List[str] # mapped controls
|
|
243
|
+
├── trust_scores: List[AgentTrustScore]
|
|
244
|
+
│ ├── agent_id: str
|
|
245
|
+
│ ├── score: float # 0.0 - 1.0
|
|
246
|
+
│ └── dimensions: dict # behavioral_drift, tool_chain, rbac, ...
|
|
247
|
+
└── scan_results: List[ScanResult]
|
|
248
|
+
├── scanner: enum # sast | dependency | secret | container | prompt_injection
|
|
249
|
+
└── findings: List[Finding]
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
#### Key Invariants
|
|
253
|
+
|
|
254
|
+
1. **STRIDE-to-NIST completeness:** Every STRIDE threat must map to at least one NIST 800-53 control (D-INV-25, D-INV-26). Mapping: Spoofing -> AC/IA, Tampering -> SC/SI, Repudiation -> AU, InfoDisclosure -> SC, DoS -> SC/CP, EoP -> AC.
|
|
255
|
+
2. **AI security gates:** Prompt injection defense must be active, AI telemetry enabled, AI BOM present, ATLAS coverage >= 80%.
|
|
256
|
+
3. **Agent trust threshold:** Agents with trust score < 0.5 are flagged for review; < 0.3 triggers isolation.
|
|
257
|
+
4. **Deterministic threat analysis:** STRIDE analysis is rule-based per component type (D-INV-25) — no LLM in the critical path.
|
|
258
|
+
|
|
259
|
+
#### Domain Events
|
|
260
|
+
|
|
261
|
+
| Event | Published/Consumed | Description |
|
|
262
|
+
|---|---|---|
|
|
263
|
+
| `ThreatIdentified` | Published | New STRIDE threat detected |
|
|
264
|
+
| `ThreatMitigationLinked` | Published | Threat mapped to NIST control(s) |
|
|
265
|
+
| `VulnerabilityFound` | Published | SAST/dependency/secret scan finding |
|
|
266
|
+
| `AgentTrustScoreUpdated` | Published | Agent trust recalculated |
|
|
267
|
+
| `PromptInjectionDetected` | Published | Injection attempt flagged |
|
|
268
|
+
| `ControlStatusChanged` | Consumed | From Compliance — mitigation status update |
|
|
269
|
+
|
|
270
|
+
#### Anti-Corruption Layer
|
|
271
|
+
|
|
272
|
+
- **Inbound from Compliance:** Consumes `ControlStatusChanged` to update threat mitigation status. No translation needed (conformist relationship).
|
|
273
|
+
- **Outbound to Compliance:** Publishes `ThreatMitigationLinked` with NIST control IDs in Compliance's ubiquitous language.
|
|
274
|
+
|
|
275
|
+
#### Integration Patterns
|
|
276
|
+
|
|
277
|
+
- **Conformist to Compliance:** Security adopts Compliance's control catalog verbatim. The STRIDE-to-NIST mapping table (D-INV-26) is the integration seam.
|
|
278
|
+
- **AI telemetry:** Privacy-preserving SHA-256 hashed prompts/responses (D216).
|
|
279
|
+
- **ATLAS/OWASP assessors:** Consume from multiple contexts to build comprehensive AI security posture.
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
### 3. Requirements
|
|
284
|
+
|
|
285
|
+
**Directory:** `tools/requirements/`
|
|
286
|
+
**Agent:** Requirements Analyst (port 9453)
|
|
287
|
+
**Domain Type:** Core
|
|
288
|
+
|
|
289
|
+
#### Overview
|
|
290
|
+
|
|
291
|
+
The Requirements context implements RICOAS (Requirements Intake, COA & Approval System) — an AI-driven conversational intake pipeline with gap detection, readiness scoring, and SAFe decomposition. It is the upstream supplier of work items to Compliance and Simulation.
|
|
292
|
+
|
|
293
|
+
#### Core Aggregate: IntakeSession
|
|
294
|
+
|
|
295
|
+
```
|
|
296
|
+
IntakeSession (Aggregate Root)
|
|
297
|
+
├── session_id: str
|
|
298
|
+
├── project_id: str
|
|
299
|
+
├── customer_name: str
|
|
300
|
+
├── customer_org: str
|
|
301
|
+
├── impact_level: enum # IL2 | IL4 | IL5 | IL6
|
|
302
|
+
├── stage: enum # 1_discovery | 2_elicitation | 3_validation | 4_decomposition | 5_approval
|
|
303
|
+
├── readiness_score: ReadinessScore
|
|
304
|
+
│ ├── overall: float # 0.0 - 1.0
|
|
305
|
+
│ └── dimensions: dict # 7-dimension scoring
|
|
306
|
+
├── gaps: List[Gap]
|
|
307
|
+
│ ├── gap_id: str
|
|
308
|
+
│ ├── severity: enum # critical | high | medium | low
|
|
309
|
+
│ └── resolved: bool
|
|
310
|
+
├── decomposed_items: List[DecomposedItem]
|
|
311
|
+
│ ├── level: enum # epic | feature | story
|
|
312
|
+
│ ├── bdd_scenarios: List[str]
|
|
313
|
+
│ └── acceptance_criteria: List[str]
|
|
314
|
+
└── boundary_assessment: BoundaryAssessment
|
|
315
|
+
├── tier: enum # GREEN | YELLOW | ORANGE | RED
|
|
316
|
+
└── ato_impact: str
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
#### Key Invariants
|
|
320
|
+
|
|
321
|
+
1. **Readiness gate:** Cannot advance past Stage 3 (validation) without readiness score >= 0.7 (D21 — deterministic weighted average).
|
|
322
|
+
2. **Critical gap blocking:** Unresolved critical gaps block progression regardless of readiness score.
|
|
323
|
+
3. **RED boundary requires COA:** Requirements assessed as RED (ATO boundary impact) cannot proceed without an alternative Course of Action.
|
|
324
|
+
4. **Stage sequencing:** Stages must execute in order (1 through 5); no skipping.
|
|
325
|
+
|
|
326
|
+
#### Domain Events
|
|
327
|
+
|
|
328
|
+
| Event | Published/Consumed | Description |
|
|
329
|
+
|---|---|---|
|
|
330
|
+
| `IntakeSessionCreated` | Published | New requirements intake started |
|
|
331
|
+
| `StageAdvanced` | Published | Session progressed to next stage |
|
|
332
|
+
| `GapDetected` | Published | New gap identified |
|
|
333
|
+
| `GapResolved` | Published | Gap marked as resolved |
|
|
334
|
+
| `ReadinessScoreComputed` | Published | 7-dimension score calculated |
|
|
335
|
+
| `RequirementDecomposed` | Published | SAFe decomposition completed |
|
|
336
|
+
| `BoundaryAssessed` | Published | ATO impact tier assigned |
|
|
337
|
+
| `SimulationResultReceived` | Consumed | From Simulation — Monte Carlo results |
|
|
338
|
+
| `ModelElementLinked` | Consumed | From MBSE — traceability link established |
|
|
339
|
+
|
|
340
|
+
#### Anti-Corruption Layer
|
|
341
|
+
|
|
342
|
+
- **Outbound to Compliance:** Decomposed requirements are translated into control mapping requests via `control_mapper.py`.
|
|
343
|
+
- **Outbound to Simulation:** Scenario creation requests are translated into Simulation's scenario model.
|
|
344
|
+
- **Inbound from MBSE:** Model elements are accepted and linked to requirements through the digital thread.
|
|
345
|
+
|
|
346
|
+
#### Integration Patterns
|
|
347
|
+
|
|
348
|
+
- **Customer/Supplier with Compliance:** Requirements is the customer; Compliance fulfills control mapping on its own timeline.
|
|
349
|
+
- **Customer/Supplier with Simulation:** Requirements triggers Monte Carlo simulations; results flow back asynchronously.
|
|
350
|
+
- **Partnership with MBSE:** Bidirectional — requirements inform models, models inform requirements.
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
### 4. Simulation
|
|
355
|
+
|
|
356
|
+
**Directory:** `tools/simulation/`
|
|
357
|
+
**Agent:** Simulation (port 9455)
|
|
358
|
+
**Domain Type:** Supporting
|
|
359
|
+
|
|
360
|
+
#### Overview
|
|
361
|
+
|
|
362
|
+
The Simulation context implements the Digital Program Twin — a multi-dimensional simulation engine with Monte Carlo analysis and Course of Action (COA) generation. It operates as a supplier to the Requirements context.
|
|
363
|
+
|
|
364
|
+
#### Core Aggregate: Scenario
|
|
365
|
+
|
|
366
|
+
```
|
|
367
|
+
Scenario (Aggregate Root)
|
|
368
|
+
├── scenario_id: str
|
|
369
|
+
├── project_id: str
|
|
370
|
+
├── name: str
|
|
371
|
+
├── scenario_type: enum # what_if | baseline | stress_test
|
|
372
|
+
├── dimensions: List[Dimension]
|
|
373
|
+
│ ├── name: str # schedule | cost | risk | quality | compliance | security
|
|
374
|
+
│ └── parameters: dict
|
|
375
|
+
├── monte_carlo_runs: List[MonteCarloRun]
|
|
376
|
+
│ ├── run_id: str
|
|
377
|
+
│ ├── iterations: int # must be >= 1000
|
|
378
|
+
│ ├── results: dict # p10, p50, p90 distributions
|
|
379
|
+
│ └── confidence: float
|
|
380
|
+
├── coas: List[CourseOfAction]
|
|
381
|
+
│ ├── coa_id: str
|
|
382
|
+
│ ├── name: str
|
|
383
|
+
│ ├── simulated: bool
|
|
384
|
+
│ └── comparison_metrics: dict
|
|
385
|
+
└── ato_simulation: Optional[AtoSimulation]
|
|
386
|
+
├── pert_samples: List[float] # betavariate sampling (D-INV-41)
|
|
387
|
+
└── predicted_timeline: dict
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
#### Key Invariants
|
|
391
|
+
|
|
392
|
+
1. **Minimum iterations:** Monte Carlo simulations require >= 1000 iterations for statistical validity (D22 — Python stdlib `random`).
|
|
393
|
+
2. **ATO PERT sampling:** ATO timeline predictions use `random.betavariate` (D-INV-41) — zero external dependencies.
|
|
394
|
+
3. **COA comparison:** COAs cannot be compared unless all have been simulated.
|
|
395
|
+
4. **Dimension validity:** At least one dimension must be specified per scenario.
|
|
396
|
+
|
|
397
|
+
#### Domain Events
|
|
398
|
+
|
|
399
|
+
| Event | Published/Consumed | Description |
|
|
400
|
+
|---|---|---|
|
|
401
|
+
| `ScenarioCreated` | Published | New simulation scenario defined |
|
|
402
|
+
| `MonteCarloCompleted` | Published | Simulation run finished |
|
|
403
|
+
| `CoaGenerated` | Published | Course of Action produced |
|
|
404
|
+
| `AtoTimelinePredicted` | Published | ATO simulator results ready |
|
|
405
|
+
| `RequirementDecomposed` | Consumed | From Requirements — triggers scenario creation |
|
|
406
|
+
|
|
407
|
+
#### Anti-Corruption Layer
|
|
408
|
+
|
|
409
|
+
- **Inbound from Requirements:** Translates decomposed requirements into scenario parameters. Requirements speaks in SAFe terms; Simulation translates to dimension-based models.
|
|
410
|
+
|
|
411
|
+
#### Integration Patterns
|
|
412
|
+
|
|
413
|
+
- **Customer/Supplier with Requirements:** Simulation fulfills scenario requests from Requirements. Results are returned via `MonteCarloCompleted` events.
|
|
414
|
+
- **ATO Simulator** (`ato_simulator.py`): Standalone Monte Carlo for ATO timeline prediction, consumed by both Requirements and Compliance.
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
### 5. DevSecOps
|
|
419
|
+
|
|
420
|
+
**Directory:** `tools/devsecops/`
|
|
421
|
+
**Agent:** DevSecOps ZTA (port 9457)
|
|
422
|
+
**Domain Type:** Supporting
|
|
423
|
+
|
|
424
|
+
#### Overview
|
|
425
|
+
|
|
426
|
+
The DevSecOps context owns pipeline security generation, policy-as-code (Kyverno/OPA), service mesh configuration, and Zero Trust Architecture maturity scoring across the DoD 7-pillar model. It has a hard veto on `pipeline_configuration` and `zero_trust_policy` (D117).
|
|
427
|
+
|
|
428
|
+
#### Core Aggregate: DevSecOpsProfile
|
|
429
|
+
|
|
430
|
+
```
|
|
431
|
+
DevSecOpsProfile (Aggregate Root)
|
|
432
|
+
├── profile_id: str
|
|
433
|
+
├── project_id: str
|
|
434
|
+
├── maturity_level: enum # Level 1 (Initial) | 2 | 3 | 4 | 5 (Optimized)
|
|
435
|
+
├── zta_maturity: ZtaMaturity
|
|
436
|
+
│ ├── overall: enum # Traditional | Advanced | Optimal
|
|
437
|
+
│ └── pillars: dict # 7 pillar scores
|
|
438
|
+
│ ├── identity: enum
|
|
439
|
+
│ ├── devices: enum
|
|
440
|
+
│ ├── networks: enum
|
|
441
|
+
│ ├── applications: enum
|
|
442
|
+
│ ├── data: enum
|
|
443
|
+
│ ├── visibility: enum
|
|
444
|
+
│ └── automation: enum
|
|
445
|
+
├── pipeline_config: PipelineSecurityConfig
|
|
446
|
+
│ ├── stages: List[Stage]
|
|
447
|
+
│ └── gates: List[Gate]
|
|
448
|
+
├── policies: List[Policy]
|
|
449
|
+
│ ├── engine: enum # kyverno | opa
|
|
450
|
+
│ └── policy_yaml: str
|
|
451
|
+
└── service_mesh: Optional[ServiceMeshConfig]
|
|
452
|
+
├── mesh_type: enum # istio | linkerd
|
|
453
|
+
└── mtls_enforced: bool
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
#### Key Invariants
|
|
457
|
+
|
|
458
|
+
1. **IL4+ ZTA requirement:** Impact levels IL4 and above require ZTA maturity >= Advanced (D120).
|
|
459
|
+
2. **mTLS enforcement:** Service mesh deployments must enforce mTLS (ZTA gate).
|
|
460
|
+
3. **Default-deny NetworkPolicy:** All deployments must have default-deny NetworkPolicy (ZTA gate).
|
|
461
|
+
4. **Hard veto authority:** DevSecOps agent has hard veto on pipeline_configuration and zero_trust_policy (D117).
|
|
462
|
+
|
|
463
|
+
#### Domain Events
|
|
464
|
+
|
|
465
|
+
| Event | Published/Consumed | Description |
|
|
466
|
+
|---|---|---|
|
|
467
|
+
| `ProfileAssessed` | Published | DevSecOps maturity level computed |
|
|
468
|
+
| `ZtaMaturityScored` | Published | 7-pillar ZTA score computed |
|
|
469
|
+
| `PipelineGenerated` | Published | Security pipeline configuration created |
|
|
470
|
+
| `PolicyGenerated` | Published | Kyverno/OPA policy produced |
|
|
471
|
+
| `ServiceMeshConfigured` | Published | Istio/Linkerd config generated |
|
|
472
|
+
| `VetoExercised` | Published | Hard veto on configuration change |
|
|
473
|
+
|
|
474
|
+
#### Anti-Corruption Layer
|
|
475
|
+
|
|
476
|
+
- **Shared Kernel with CloudForge:** Pipeline and policy models are co-owned. Changes require coordination between DevSecOps and CloudForge teams.
|
|
477
|
+
|
|
478
|
+
#### Integration Patterns
|
|
479
|
+
|
|
480
|
+
- **Shared Kernel with CloudForge:** Both contexts share pipeline security and policy-as-code models. The shared kernel is defined in `args/` YAML configurations.
|
|
481
|
+
- **ZTA maturity feeds Compliance:** ZTA scores are consumed by Compliance for NIST 800-207 assessment (`nist_800_207_assessor.py`).
|
|
482
|
+
|
|
483
|
+
---
|
|
484
|
+
|
|
485
|
+
### 6. Supply Chain
|
|
486
|
+
|
|
487
|
+
**Directory:** `tools/supply_chain/`
|
|
488
|
+
**Agent:** Supply Chain (port 9454)
|
|
489
|
+
**Domain Type:** Supporting
|
|
490
|
+
|
|
491
|
+
#### Overview
|
|
492
|
+
|
|
493
|
+
The Supply Chain context manages vendor dependency graphs, SBOM aggregation, ISA lifecycle, and CVE triage with SLA enforcement. It operates behind an anti-corruption layer that shields the internal domain from volatile external vendor data formats.
|
|
494
|
+
|
|
495
|
+
#### Core Aggregate: DependencyGraph
|
|
496
|
+
|
|
497
|
+
```
|
|
498
|
+
DependencyGraph (Aggregate Root)
|
|
499
|
+
├── project_id: str
|
|
500
|
+
├── vendors: List[Vendor]
|
|
501
|
+
│ ├── vendor_id: str
|
|
502
|
+
│ ├── name: str
|
|
503
|
+
│ ├── scrm_assessment: ScrmAssessment
|
|
504
|
+
│ │ ├── assessed: bool
|
|
505
|
+
│ │ ├── risk_level: enum # critical | high | medium | low
|
|
506
|
+
│ │ └── assessed_at: datetime
|
|
507
|
+
│ └── isa_status: enum # draft | active | expired | terminated
|
|
508
|
+
├── dependencies: List[Dependency] # adjacency list (D27)
|
|
509
|
+
│ ├── source_id: str
|
|
510
|
+
│ ├── target_id: str
|
|
511
|
+
│ ├── relationship: enum
|
|
512
|
+
│ └── depth: int
|
|
513
|
+
├── sbom_entries: List[SbomEntry]
|
|
514
|
+
│ ├── component: str
|
|
515
|
+
│ ├── version: str
|
|
516
|
+
│ └── license: str
|
|
517
|
+
└── cve_triage: List[CveTriage]
|
|
518
|
+
├── cve_id: str
|
|
519
|
+
├── severity: enum
|
|
520
|
+
├── sla_deadline: datetime
|
|
521
|
+
└── status: enum # open | triaged | mitigated | accepted
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
#### Key Invariants
|
|
525
|
+
|
|
526
|
+
1. **SCRM assessment required:** All vendors in the dependency graph must have a completed SCRM assessment before being marked as approved.
|
|
527
|
+
2. **Graph stored as adjacency list:** No graph database needed — SQL adjacency list (D27).
|
|
528
|
+
3. **CVE SLA enforcement:** Critical CVEs have 48h SLA, High 7d, Medium 30d, Low 90d.
|
|
529
|
+
4. **ISA lifecycle:** ISAs must be active (not expired/terminated) for vendor dependencies to be valid.
|
|
530
|
+
|
|
531
|
+
#### Domain Events
|
|
532
|
+
|
|
533
|
+
| Event | Published/Consumed | Description |
|
|
534
|
+
|---|---|---|
|
|
535
|
+
| `VendorAdded` | Published | New vendor registered |
|
|
536
|
+
| `ScrmAssessmentCompleted` | Published | Vendor risk assessment finished |
|
|
537
|
+
| `CveDetected` | Published | New CVE found in dependency |
|
|
538
|
+
| `CveTriaged` | Published | CVE triaged with disposition |
|
|
539
|
+
| `SlaBreach` | Published | CVE SLA deadline passed |
|
|
540
|
+
| `IsaExpired` | Published | Vendor ISA expired |
|
|
541
|
+
| `SbomGenerated` | Published | SBOM regenerated on build |
|
|
542
|
+
|
|
543
|
+
#### Anti-Corruption Layer
|
|
544
|
+
|
|
545
|
+
- **Outbound to External Vendors:** All vendor data passes through the ACL in `scrm_assessor.py`. External vendor formats (NVD JSON, vendor security questionnaires) are translated into the internal `Vendor` and `ScrmAssessment` models.
|
|
546
|
+
- **Inbound from External CVE feeds:** CVE data is normalized into the internal `CveTriage` model regardless of source format.
|
|
547
|
+
|
|
548
|
+
#### Integration Patterns
|
|
549
|
+
|
|
550
|
+
- **ACL to External Vendors:** Translates heterogeneous vendor data formats into uniform internal models.
|
|
551
|
+
- **SBOM feeds Compliance:** Generated SBOMs are consumed by Compliance for control evidence.
|
|
552
|
+
|
|
553
|
+
---
|
|
554
|
+
|
|
555
|
+
### 7. MBSE
|
|
556
|
+
|
|
557
|
+
**Directory:** `tools/mbse/`
|
|
558
|
+
**Agent:** (shares Architect agent, port 9444)
|
|
559
|
+
**Domain Type:** Supporting
|
|
560
|
+
|
|
561
|
+
#### Overview
|
|
562
|
+
|
|
563
|
+
The MBSE (Model-Based Systems Engineering) context manages SysML model import, DOORS NG ReqIF parsing, digital thread traceability, model-to-code generation, and drift detection. It maintains the N:M digital thread links (D12) that connect model elements to code, requirements, tests, and compliance controls.
|
|
564
|
+
|
|
565
|
+
#### Core Aggregate: DigitalThread
|
|
566
|
+
|
|
567
|
+
```
|
|
568
|
+
DigitalThread (Aggregate Root)
|
|
569
|
+
├── project_id: str
|
|
570
|
+
├── model_elements: List[ModelElement]
|
|
571
|
+
│ ├── element_id: str
|
|
572
|
+
│ ├── element_type: enum # block | requirement | interface | activity | state
|
|
573
|
+
│ ├── source: enum # xmi | reqif | manual
|
|
574
|
+
│ └── trace_links: List[TraceLink] # N:M (D12)
|
|
575
|
+
│ ├── target_type: enum # code | requirement | test | control
|
|
576
|
+
│ ├── target_id: str
|
|
577
|
+
│ └── link_type: enum # implements | satisfies | verifies | traces_to
|
|
578
|
+
├── heatmap: ThreadHeatmap
|
|
579
|
+
│ ├── matrix: dict # N x M artifact-type cross-reference (D-INV-17)
|
|
580
|
+
│ └── orphans: List[str] # unlinked elements
|
|
581
|
+
└── drift_report: Optional[DriftReport]
|
|
582
|
+
├── drifted_elements: List[str]
|
|
583
|
+
└── detected_at: datetime
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
#### Key Invariants
|
|
587
|
+
|
|
588
|
+
1. **Trace completeness:** Every model element must have at least one trace link to another artifact (requirement, code, test, or control).
|
|
589
|
+
2. **N:M linking:** One block can trace to many code modules; one control can trace to many requirements (D12).
|
|
590
|
+
3. **Drift detection:** Model-to-code drift must be detected and reported; does not auto-fix (advisory only).
|
|
591
|
+
4. **XML parsing:** Uses Python stdlib `xml.etree.ElementTree` only — zero external dependencies, air-gap safe (D7).
|
|
592
|
+
|
|
593
|
+
#### Domain Events
|
|
594
|
+
|
|
595
|
+
| Event | Published/Consumed | Description |
|
|
596
|
+
|---|---|---|
|
|
597
|
+
| `ModelImported` | Published | XMI or ReqIF model parsed and stored |
|
|
598
|
+
| `TraceLinkCreated` | Published | New digital thread link established |
|
|
599
|
+
| `OrphanDetected` | Published | Model element without trace link |
|
|
600
|
+
| `DriftDetected` | Published | Model-code drift identified |
|
|
601
|
+
| `CodeGenerated` | Published | Model-to-code generation completed |
|
|
602
|
+
| `ModelElementLinked` | Published | Sent to Requirements for bidirectional linking |
|
|
603
|
+
| `RequirementDecomposed` | Consumed | From Requirements — new element to link |
|
|
604
|
+
|
|
605
|
+
#### Anti-Corruption Layer
|
|
606
|
+
|
|
607
|
+
- **Inbound from XMI/ReqIF:** Parsers (`xmi_parser.py`, `reqif_parser.py`) translate vendor-specific model formats into normalized `ModelElement` records.
|
|
608
|
+
- **Outbound to Requirements:** Model elements are expressed in Requirements' ubiquitous language when creating trace links.
|
|
609
|
+
|
|
610
|
+
#### Integration Patterns
|
|
611
|
+
|
|
612
|
+
- **Partnership with Requirements:** Both contexts co-evolve. MBSE provides model elements; Requirements provides decomposed stories. Both contribute to the digital thread.
|
|
613
|
+
- **Heatmap** (`thread_heatmap.py`): Cross-context coverage gap detection across artifact types (D-INV-17).
|
|
614
|
+
|
|
615
|
+
---
|
|
616
|
+
|
|
617
|
+
### 8. Embedded
|
|
618
|
+
|
|
619
|
+
**Directory:** `tools/embedded/` + `tools/fleet/` + `tools/edge_ai/`
|
|
620
|
+
**Agents:** (multiple, via Orchestrator)
|
|
621
|
+
**Domain Type:** Generic
|
|
622
|
+
|
|
623
|
+
#### Overview
|
|
624
|
+
|
|
625
|
+
The Embedded context spans three subdirectories and covers the SparkPilot four-tier architecture: natural language to firmware, device fleet management, OTA updates, edge AI model lifecycle, gamified missions, and the browser simulator. It operates behind an ACL when interfacing with Compliance because embedded systems use different compliance frameworks (IEC 62443, DO-178C) than the core NIST 800-53.
|
|
626
|
+
|
|
627
|
+
#### Core Aggregate: Device
|
|
628
|
+
|
|
629
|
+
```
|
|
630
|
+
Device (Aggregate Root)
|
|
631
|
+
├── device_id: str
|
|
632
|
+
├── name: str
|
|
633
|
+
├── board: enum # esp32-s3 | stm32f407 | nrf52840 | rpi-pico | simulator
|
|
634
|
+
├── status: enum # registered | online | offline | degraded
|
|
635
|
+
├── firmware: FirmwareState
|
|
636
|
+
│ ├── current_version: str
|
|
637
|
+
│ ├── sbom: Optional[Sbom] # CycloneDX 1.5 JSON (D-INV-45)
|
|
638
|
+
│ ├── vex: Optional[Vex] # CSAF 2.0 (D-INV-46)
|
|
639
|
+
│ └── deployed_at: datetime
|
|
640
|
+
├── telemetry: DeviceTelemetry
|
|
641
|
+
│ ├── last_heartbeat: datetime
|
|
642
|
+
│ ├── health_metrics: dict
|
|
643
|
+
│ └── crash_dumps: List[CrashDump]
|
|
644
|
+
├── ml_models: List[DeployedModel]
|
|
645
|
+
│ ├── model_id: str
|
|
646
|
+
│ ├── task: enum # anomaly_detection | classification | regression
|
|
647
|
+
│ └── inference_stats: dict
|
|
648
|
+
├── ota_history: List[OtaUpdate]
|
|
649
|
+
│ ├── firmware_id: str
|
|
650
|
+
│ ├── status: enum # pending | downloading | installing | verified | rolled_back
|
|
651
|
+
│ └── canary: bool
|
|
652
|
+
└── group_id: Optional[str] # fleet group for canary deployments
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
#### Key Invariants
|
|
656
|
+
|
|
657
|
+
1. **SBOM required for deployment:** No firmware can be deployed to a device without an accompanying SBOM (D-INV-45).
|
|
658
|
+
2. **Self-healing stability window:** After crash-triggered rollback, 72-hour stability window before re-deployment.
|
|
659
|
+
3. **Canary deployment:** Fleet-wide OTA requires canary phase (configurable percentage) before full rollout.
|
|
660
|
+
4. **SDK size constraint:** SparkPilot Device SDK must remain under ~8KB flash footprint.
|
|
661
|
+
|
|
662
|
+
#### Domain Events
|
|
663
|
+
|
|
664
|
+
| Event | Published/Consumed | Description |
|
|
665
|
+
|---|---|---|
|
|
666
|
+
| `DeviceRegistered` | Published | New device added to fleet |
|
|
667
|
+
| `FirmwareDeployed` | Published | OTA update completed |
|
|
668
|
+
| `FirmwareRolledBack` | Published | Self-healing rollback triggered |
|
|
669
|
+
| `CrashDetected` | Published | Crash dump received from device |
|
|
670
|
+
| `HeartbeatReceived` | Published | Device health telemetry |
|
|
671
|
+
| `ModelDeployed` | Published | TinyML model pushed to device |
|
|
672
|
+
| `SbomGenerated` | Published | Firmware SBOM created, forwarded to Compliance ACL |
|
|
673
|
+
|
|
674
|
+
#### Anti-Corruption Layer
|
|
675
|
+
|
|
676
|
+
- **Outbound to Compliance:** Embedded compliance frameworks (IEC 62443, DO-178C, ISO 26262, IEC 62304, MISRA C:2023, FIPS 140-3, EU AI Act) are translated into NIST 800-53 equivalents when crossing the context boundary to Compliance. The `firmware_sbom.py` tool produces CycloneDX format that Compliance consumes directly.
|
|
677
|
+
- **Inbound from Compliance:** NIST control requirements are translated into embedded-specific checks by the compliance ACL layer.
|
|
678
|
+
|
|
679
|
+
#### Integration Patterns
|
|
680
|
+
|
|
681
|
+
- **ACL to Compliance:** Framework translation layer. Embedded speaks IEC 62443; Compliance speaks NIST 800-53. The ACL maintains the mapping table.
|
|
682
|
+
- **Progressive compliance:** Beginner Mode hides compliance complexity; Pro Mode exposes full framework coverage.
|
|
683
|
+
|
|
684
|
+
---
|
|
685
|
+
|
|
686
|
+
### 9. Observability
|
|
687
|
+
|
|
688
|
+
**Directory:** `tools/observability/`
|
|
689
|
+
**Agent:** Monitor (port 9450)
|
|
690
|
+
**Domain Type:** Supporting
|
|
691
|
+
|
|
692
|
+
#### Overview
|
|
693
|
+
|
|
694
|
+
The Observability context provides distributed tracing (OTel + SQLite dual-mode), W3C PROV provenance graphs, AgentSHAP tool attribution, and XAI compliance assessment. It is a cross-cutting concern that monitors all other contexts.
|
|
695
|
+
|
|
696
|
+
#### Core Aggregate: Trace
|
|
697
|
+
|
|
698
|
+
```
|
|
699
|
+
Trace (Aggregate Root)
|
|
700
|
+
├── trace_id: str
|
|
701
|
+
├── project_id: str
|
|
702
|
+
├── tracer_type: enum # otel | sqlite | null (D280)
|
|
703
|
+
├── spans: List[Span]
|
|
704
|
+
│ ├── span_id: str
|
|
705
|
+
│ ├── parent_span_id: Optional[str]
|
|
706
|
+
│ ├── operation: str
|
|
707
|
+
│ ├── start_time: datetime
|
|
708
|
+
│ ├── end_time: datetime
|
|
709
|
+
│ └── attributes: dict
|
|
710
|
+
├── provenance: ProvenanceGraph # W3C PROV-AGENT (D287)
|
|
711
|
+
│ ├── entities: List[Entity]
|
|
712
|
+
│ ├── activities: List[Activity]
|
|
713
|
+
│ └── derivations: List[Derivation]
|
|
714
|
+
├── shap_values: Optional[ShapAnalysis]
|
|
715
|
+
│ ├── tool_attributions: dict # Monte Carlo Shapley values
|
|
716
|
+
│ └── top_contributors: List[str]
|
|
717
|
+
└── xai_assessment: Optional[XaiAssessment]
|
|
718
|
+
├── checks_passed: int # out of 10
|
|
719
|
+
└── findings: List[str]
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
#### Key Invariants
|
|
723
|
+
|
|
724
|
+
1. **Active tracing required:** Production deployments must have tracing active (not NullTracer).
|
|
725
|
+
2. **Provenance append-only:** PROV-AGENT provenance stored in 3 append-only SQLite tables (D287).
|
|
726
|
+
3. **XAI compliance gate:** XAI assessment must be completed before production release.
|
|
727
|
+
4. **Pluggable tracer:** Tracer ABC with three implementations — OTelTracer (production), SQLiteTracer (air-gapped), NullTracer (fallback) (D280).
|
|
728
|
+
|
|
729
|
+
#### Domain Events
|
|
730
|
+
|
|
731
|
+
| Event | Published/Consumed | Description |
|
|
732
|
+
|---|---|---|
|
|
733
|
+
| `TraceStarted` | Published | New distributed trace initiated |
|
|
734
|
+
| `TraceCompleted` | Published | Trace finalized with all spans |
|
|
735
|
+
| `ProvenanceRecorded` | Published | W3C PROV entity/activity stored |
|
|
736
|
+
| `ShapAnalysisCompleted` | Published | AgentSHAP attribution computed |
|
|
737
|
+
| `XaiAssessmentCompleted` | Published | 10-check XAI assessment finished |
|
|
738
|
+
| `*` (all events) | Consumed | Observability monitors events from all contexts |
|
|
739
|
+
|
|
740
|
+
#### Anti-Corruption Layer
|
|
741
|
+
|
|
742
|
+
- **Inbound from all contexts:** Observability accepts events from every bounded context. It normalizes diverse event formats into its span/trace model. No context-specific logic leaks into Observability.
|
|
743
|
+
|
|
744
|
+
#### Integration Patterns
|
|
745
|
+
|
|
746
|
+
- **Cross-cutting monitor:** Subscribes to events from all contexts for tracing and provenance.
|
|
747
|
+
- **Dual-mode deployment:** OTel for connected environments, SQLite for air-gapped (D280).
|
|
748
|
+
|
|
749
|
+
---
|
|
750
|
+
|
|
751
|
+
### 10. GovCon
|
|
752
|
+
|
|
753
|
+
**Directory:** `tools/govcon/`
|
|
754
|
+
**Agent:** (accessed via Orchestrator)
|
|
755
|
+
**Domain Type:** Generic
|
|
756
|
+
|
|
757
|
+
#### Overview
|
|
758
|
+
|
|
759
|
+
The GovCon (Government Contracting) context manages the proposal lifecycle, SAM.gov opportunity scanning, RFP requirement extraction, compliance matrix generation, color reviews, and post-award CPMP (Contract Performance Management). It is feature-flag isolated (`ICDEV_GOVCON_ENABLED`) and communicates with Compliance via a read-only Published Language.
|
|
760
|
+
|
|
761
|
+
#### Core Aggregate: Proposal
|
|
762
|
+
|
|
763
|
+
```
|
|
764
|
+
Proposal (Aggregate Root)
|
|
765
|
+
├── proposal_id: str
|
|
766
|
+
├── opportunity: SamOpportunity
|
|
767
|
+
│ ├── notice_id: str
|
|
768
|
+
│ ├── title: str
|
|
769
|
+
│ └── requirements: List[ShallStatement]
|
|
770
|
+
├── volumes: List[Volume]
|
|
771
|
+
│ ├── volume_type: enum # technical | management | past_performance | cost
|
|
772
|
+
│ └── sections: List[Section]
|
|
773
|
+
│ ├── section_id: str
|
|
774
|
+
│ ├── drafts: List[Draft] # versioned
|
|
775
|
+
│ └── compliance_status: enum
|
|
776
|
+
├── compliance_matrix: ComplianceMatrix
|
|
777
|
+
│ ├── entries: List[MatrixEntry]
|
|
778
|
+
│ └── coverage_pct: float
|
|
779
|
+
├── color_reviews: List[ColorReview]
|
|
780
|
+
│ ├── color: enum # pink | red | green | blue | gold
|
|
781
|
+
│ └── findings: List[str]
|
|
782
|
+
└── cpmp: Optional[CpmpContract]
|
|
783
|
+
├── contract_id: str
|
|
784
|
+
├── evm_metrics: dict
|
|
785
|
+
├── cpars_prediction: dict
|
|
786
|
+
└── cdrls: List[Cdrl]
|
|
787
|
+
```
|
|
788
|
+
|
|
789
|
+
#### Key Invariants
|
|
790
|
+
|
|
791
|
+
1. **Read-only bridge to Compliance:** GovCon can query compliance control status but NEVER writes to compliance tables (D-WG-8).
|
|
792
|
+
2. **Feature-flag isolation:** Entire context gated by `ICDEV_GOVCON_ENABLED` env var.
|
|
793
|
+
3. **Excluded from child apps:** `PARENT_ONLY_DIRS` ensures GovCon is not inherited by generated child applications.
|
|
794
|
+
4. **Management Volume references portal:** Management Volume responses must reference the post-award management portal.
|
|
795
|
+
|
|
796
|
+
#### Domain Events
|
|
797
|
+
|
|
798
|
+
| Event | Published/Consumed | Description |
|
|
799
|
+
|---|---|---|
|
|
800
|
+
| `OpportunityScanned` | Published | SAM.gov opportunity imported |
|
|
801
|
+
| `ProposalCreated` | Published | New proposal lifecycle started |
|
|
802
|
+
| `SectionDrafted` | Published | Volume section draft generated |
|
|
803
|
+
| `ColorReviewCompleted` | Published | Review gate passed/failed |
|
|
804
|
+
| `ComplianceMatrixUpdated` | Published | Matrix coverage recalculated |
|
|
805
|
+
| `ControlStatusChanged` | Consumed | From Compliance — read-only query |
|
|
806
|
+
|
|
807
|
+
#### Anti-Corruption Layer
|
|
808
|
+
|
|
809
|
+
- **Inbound from Compliance:** Published Language — GovCon reads compliance data through a standardized query interface. The bridge translates Compliance's internal model into GovCon's compliance matrix format.
|
|
810
|
+
- **No outbound writes:** GovCon never publishes events that modify Compliance state.
|
|
811
|
+
|
|
812
|
+
#### Integration Patterns
|
|
813
|
+
|
|
814
|
+
- **Published Language with Compliance:** Compliance publishes a stable read-only API. GovCon consumes it without coupling to Compliance internals.
|
|
815
|
+
- **RAG integration:** 9 GovCon tables registered in `tools/rag/source_registry.py` for hybrid search enrichment.
|
|
816
|
+
- **Fine-tuning bridge:** `pair_generator.py --generate-from-govcon` creates training pairs from approved drafts.
|
|
817
|
+
|
|
818
|
+
---
|
|
819
|
+
|
|
820
|
+
### 11. CloudForge
|
|
821
|
+
|
|
822
|
+
**Directory:** `tools/cloudforge/`
|
|
823
|
+
**Agent:** (accessed via Orchestrator + Ops MCP server)
|
|
824
|
+
**Domain Type:** Generic
|
|
825
|
+
|
|
826
|
+
#### Overview
|
|
827
|
+
|
|
828
|
+
The CloudForge context manages operational runbooks (DAG-based workflow execution), the application metastore (dependency graph, RTO/RPO tracking), and cross-domain operations queries (zones, budgets, SIEM, migrations, deployments, topologies). It shares a kernel with DevSecOps for pipeline and policy models.
|
|
829
|
+
|
|
830
|
+
#### Core Aggregate: Runbook
|
|
831
|
+
|
|
832
|
+
```
|
|
833
|
+
Runbook (Aggregate Root)
|
|
834
|
+
├── runbook_id: str
|
|
835
|
+
├── name: str
|
|
836
|
+
├── description: str
|
|
837
|
+
├── tasks_json: dict # JSON DAG (D-CF-19)
|
|
838
|
+
│ └── tasks: List[Task]
|
|
839
|
+
│ ├── task_id: str
|
|
840
|
+
│ ├── task_type: enum
|
|
841
|
+
│ ├── parameters: dict
|
|
842
|
+
│ └── condition: Optional[Condition] # key-operator-value (D-CF-25)
|
|
843
|
+
├── edges_json: dict # DAG edges for topological sort
|
|
844
|
+
├── executions: List[Execution] # append-only (D-CF-20)
|
|
845
|
+
│ ├── execution_id: str
|
|
846
|
+
│ ├── status: enum # pending | running | completed | failed
|
|
847
|
+
│ └── task_logs: List[TaskLog]
|
|
848
|
+
├── snippets: List[Snippet] # self-contained sub-DAGs (D-CF-22)
|
|
849
|
+
│ ├── snippet_id: str
|
|
850
|
+
│ └── usage_count: int
|
|
851
|
+
└── metastore_app: Optional[MetastoreApp]
|
|
852
|
+
├── app_id: str
|
|
853
|
+
├── dependencies: List[str] # adjacency list (D-CF-23)
|
|
854
|
+
├── rto_hours: float # (D-CF-27)
|
|
855
|
+
└── rpo_hours: float
|
|
856
|
+
```
|
|
857
|
+
|
|
858
|
+
#### Key Invariants
|
|
859
|
+
|
|
860
|
+
1. **Kahn's algorithm execution:** DAG execution uses topological sort — deterministic O(V+E), no LLM in critical path (D-CF-21).
|
|
861
|
+
2. **Append-only execution log:** All execution records and task logs are immutable (D-CF-20, NIST AU).
|
|
862
|
+
3. **Conditional branching safety:** Conditions use key-operator-value triples only — no `eval()` (D-CF-25).
|
|
863
|
+
4. **AI generation is draft-only:** AI-generated runbooks always output `status='draft'` (D-CF-26).
|
|
864
|
+
5. **Auto-discovery idempotent:** Metastore auto-discovery from db_connections, cf_landing_zones, devices uses idempotent upsert (D-CF-24).
|
|
865
|
+
|
|
866
|
+
#### Domain Events
|
|
867
|
+
|
|
868
|
+
| Event | Published/Consumed | Description |
|
|
869
|
+
|---|---|---|
|
|
870
|
+
| `RunbookCreated` | Published | New runbook DAG defined |
|
|
871
|
+
| `RunbookExecutionStarted` | Published | DAG execution initiated |
|
|
872
|
+
| `RunbookExecutionCompleted` | Published | All tasks finished |
|
|
873
|
+
| `TaskCompleted` | Published | Individual task in DAG finished |
|
|
874
|
+
| `AppRegistered` | Published | Application added to metastore |
|
|
875
|
+
| `DependencyDiscovered` | Published | Auto-discovery found new dependency |
|
|
876
|
+
| `RtoBreachRisk` | Published | Application approaching RTO threshold |
|
|
877
|
+
| `PolicyGenerated` | Consumed | From DevSecOps — shared kernel |
|
|
878
|
+
|
|
879
|
+
#### Anti-Corruption Layer
|
|
880
|
+
|
|
881
|
+
- **Shared Kernel with DevSecOps:** Pipeline security configurations and policy-as-code models are co-owned. Changes to shared YAML schemas in `args/` require agreement from both contexts.
|
|
882
|
+
|
|
883
|
+
#### Integration Patterns
|
|
884
|
+
|
|
885
|
+
- **Shared Kernel with DevSecOps:** Both contexts read/write shared pipeline and policy configurations.
|
|
886
|
+
- **YAML runbook templates:** Stored in `args/cloudforge_runbook_templates/` following GOTCHA args layer convention (D-CF-29).
|
|
887
|
+
- **Ops MCP server:** Unified 18-tool MCP server (D-CF-28) exposes both runbook and metastore operations.
|
|
888
|
+
|
|
889
|
+
---
|
|
890
|
+
|
|
891
|
+
### 12. Knowledge
|
|
892
|
+
|
|
893
|
+
**Directory:** `tools/memory/` + `tools/rag/`
|
|
894
|
+
**Agent:** Knowledge (port 9449)
|
|
895
|
+
**Domain Type:** Generic
|
|
896
|
+
|
|
897
|
+
#### Overview
|
|
898
|
+
|
|
899
|
+
The Knowledge context manages the dual-storage memory system (markdown files + SQLite databases), hybrid search (keyword + semantic), self-healing pattern detection, and RAG (Retrieval-Augmented Generation) source registry. It serves as a utility context consumed by all other bounded contexts.
|
|
900
|
+
|
|
901
|
+
#### Core Aggregate: MemoryEntry
|
|
902
|
+
|
|
903
|
+
```
|
|
904
|
+
MemoryEntry (Aggregate Root)
|
|
905
|
+
├── entry_id: str
|
|
906
|
+
├── content: str
|
|
907
|
+
├── memory_type: enum # fact | preference | event | insight | task | relationship
|
|
908
|
+
├── importance: int # 1-10
|
|
909
|
+
├── created_at: datetime
|
|
910
|
+
├── embedding: Optional[bytes] # OpenAI text-embedding-3-small, 1536 dims
|
|
911
|
+
├── access_log: List[AccessRecord]
|
|
912
|
+
│ ├── accessed_at: datetime
|
|
913
|
+
│ └── query: str
|
|
914
|
+
└── source: MemorySource
|
|
915
|
+
├── source_type: enum # manual | daily_log | tool_output | rag
|
|
916
|
+
└── source_ref: str
|
|
917
|
+
```
|
|
918
|
+
|
|
919
|
+
```
|
|
920
|
+
RagSourceRegistry
|
|
921
|
+
├── sources: List[RegisteredSource]
|
|
922
|
+
│ ├── source_name: str
|
|
923
|
+
│ ├── table_name: str
|
|
924
|
+
│ ├── content_columns: List[str]
|
|
925
|
+
│ └── search_type: enum # keyword | semantic | hybrid
|
|
926
|
+
```
|
|
927
|
+
|
|
928
|
+
#### Key Invariants
|
|
929
|
+
|
|
930
|
+
1. **Hybrid search weights:** Default ranking is 0.7 * BM25 (keyword) + 0.3 * semantic (vector). Configurable via `--bm25-weight` and `--semantic-weight` flags.
|
|
931
|
+
2. **Embedding model:** OpenAI `text-embedding-3-small` (1536 dimensions), stored as BLOBs in SQLite.
|
|
932
|
+
3. **Dual storage:** Every memory entry exists in both markdown (human-readable) and SQLite (searchable).
|
|
933
|
+
4. **Access logging:** All memory reads are logged for access pattern analysis.
|
|
934
|
+
|
|
935
|
+
#### Domain Events
|
|
936
|
+
|
|
937
|
+
| Event | Published/Consumed | Description |
|
|
938
|
+
|---|---|---|
|
|
939
|
+
| `MemoryWritten` | Published | New entry stored in both markdown and DB |
|
|
940
|
+
| `MemoryAccessed` | Published | Entry retrieved via search |
|
|
941
|
+
| `EmbeddingGenerated` | Published | Vector embedding computed for entry |
|
|
942
|
+
| `PatternDetected` | Published | Self-healing pattern identified |
|
|
943
|
+
| `RecommendationGenerated` | Published | Knowledge-based recommendation produced |
|
|
944
|
+
| `*` (queries from all contexts) | Consumed | Knowledge responds to search requests from any context |
|
|
945
|
+
|
|
946
|
+
#### Anti-Corruption Layer
|
|
947
|
+
|
|
948
|
+
- **Inbound from all contexts:** Search queries from any context are normalized into the hybrid search interface. Context-specific terminology is handled by the RAG source registry which knows how to search each registered table.
|
|
949
|
+
|
|
950
|
+
#### Integration Patterns
|
|
951
|
+
|
|
952
|
+
- **Utility service:** Knowledge is a generic subdomain that serves all other contexts. It has no upstream dependencies.
|
|
953
|
+
- **RAG source registry:** 9 GovCon tables + core tables registered for cross-context semantic search.
|
|
954
|
+
- **Self-healing loop:** Pattern detection feeds Knowledge agent recommendations back to requesting contexts.
|
|
955
|
+
|
|
956
|
+
---
|
|
957
|
+
|
|
958
|
+
## Integration Patterns Summary
|
|
959
|
+
|
|
960
|
+
```mermaid
|
|
961
|
+
graph LR
|
|
962
|
+
subgraph patterns["Integration Patterns"]
|
|
963
|
+
CF_CONF[Conformist]
|
|
964
|
+
CF_CS[Customer/Supplier]
|
|
965
|
+
CF_PART[Partnership]
|
|
966
|
+
CF_ACL[Anti-Corruption Layer]
|
|
967
|
+
CF_PL[Published Language]
|
|
968
|
+
CF_SK[Shared Kernel]
|
|
969
|
+
end
|
|
970
|
+
|
|
971
|
+
subgraph relationships["Context Relationships"]
|
|
972
|
+
R1["Security --Conformist--> Compliance"]
|
|
973
|
+
R2["Requirements --C/S--> Compliance"]
|
|
974
|
+
R3["Requirements --C/S--> Simulation"]
|
|
975
|
+
R4["MBSE <--Partnership--> Requirements"]
|
|
976
|
+
R5["Supply Chain --ACL--> External Vendors"]
|
|
977
|
+
R6["Embedded --ACL--> Compliance"]
|
|
978
|
+
R7["GovCon --Pub Language--> Compliance"]
|
|
979
|
+
R8["CloudForge <--Shared Kernel--> DevSecOps"]
|
|
980
|
+
end
|
|
981
|
+
```
|
|
982
|
+
|
|
983
|
+
| Pattern | Upstream | Downstream | Coupling | Data Flow |
|
|
984
|
+
|---|---|---|---|---|
|
|
985
|
+
| **Conformist** | Compliance | Security | High (intentional) | Security adopts Compliance's control model verbatim |
|
|
986
|
+
| **Customer/Supplier** | Compliance | Requirements | Medium | Requirements requests; Compliance fulfills on own schedule |
|
|
987
|
+
| **Customer/Supplier** | Simulation | Requirements | Medium | Requirements triggers; Simulation delivers results |
|
|
988
|
+
| **Partnership** | MBSE | Requirements | High (co-evolution) | Bidirectional trace link management |
|
|
989
|
+
| **ACL** | External Vendors | Supply Chain | Low (isolated) | Vendor data translated at boundary |
|
|
990
|
+
| **ACL** | Compliance | Embedded | Low (framework translation) | IEC 62443/DO-178C translated to NIST 800-53 |
|
|
991
|
+
| **Published Language** | Compliance | GovCon | Low (read-only) | Stable read-only query interface |
|
|
992
|
+
| **Shared Kernel** | DevSecOps | CloudForge | High (co-owned) | Shared pipeline/policy YAML schemas |
|
|
993
|
+
|
|
994
|
+
---
|
|
995
|
+
|
|
996
|
+
## Anti-Corruption Layer Index
|
|
997
|
+
|
|
998
|
+
| ACL | Location | Purpose |
|
|
999
|
+
|---|---|---|
|
|
1000
|
+
| Supply Chain External ACL | `tools/supply_chain/scrm_assessor.py` | Translates external vendor formats to internal models |
|
|
1001
|
+
| Embedded-Compliance ACL | `tools/compliance/firmware_sbom.py` | Translates IEC 62443/DO-178C to NIST 800-53 |
|
|
1002
|
+
| GovCon Read Bridge | `tools/govcon/` (read-only queries) | Prevents GovCon from writing to Compliance tables |
|
|
1003
|
+
| MBSE Import ACL | `tools/mbse/xmi_parser.py`, `reqif_parser.py` | Normalizes vendor model formats to internal schema |
|
|
1004
|
+
| Knowledge RAG ACL | `tools/rag/source_registry.py` | Normalizes cross-context search queries |
|
|
1005
|
+
| Observability Event ACL | `tools/observability/` | Normalizes diverse event formats to span/trace model |
|
|
1006
|
+
|
|
1007
|
+
---
|
|
1008
|
+
|
|
1009
|
+
## Key Architecture Decisions Referenced
|
|
1010
|
+
|
|
1011
|
+
| Decision | Summary |
|
|
1012
|
+
|---|---|
|
|
1013
|
+
| D6 | Audit trail is append-only/immutable (NIST AU) |
|
|
1014
|
+
| D7 | Python stdlib XML parsing (zero deps, air-gap safe) |
|
|
1015
|
+
| D12 | N:M digital thread links |
|
|
1016
|
+
| D21 | Deterministic weighted average for readiness scoring |
|
|
1017
|
+
| D22 | Monte Carlo uses Python stdlib random |
|
|
1018
|
+
| D27 | SQL adjacency list for dependency graphs |
|
|
1019
|
+
| D117 | DevSecOps hard veto on pipeline/ZTA configuration |
|
|
1020
|
+
| D120 | DoD 7-pillar ZTA scoring model |
|
|
1021
|
+
| D280 | Pluggable Tracer ABC (OTel/SQLite/Null) |
|
|
1022
|
+
| D287 | W3C PROV-AGENT in append-only SQLite |
|
|
1023
|
+
| D-DB-21 | Storage abstraction — all tools use `get_connection()` |
|
|
1024
|
+
| D-CF-21 | Kahn's algorithm for DAG execution |
|
|
1025
|
+
| D-CF-25 | No `eval()` — key-operator-value conditions only |
|
|
1026
|
+
| D-INV-25 | Deterministic STRIDE analysis (no LLM) |
|
|
1027
|
+
| D-INV-26 | STRIDE-to-NIST control mapping |
|
|
1028
|
+
| D-WG-8 | GovCon read-only bridge to Compliance |
|
|
1029
|
+
|
|
1030
|
+
---
|
|
1031
|
+
|
|
1032
|
+
*CUI // SP-CTI*
|