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
goals/connector_forge.md
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# CUI // SP-CTI
|
|
2
|
+
# Goal: Connector Forge — Dynamic DataBridge Connector Generation
|
|
3
|
+
|
|
4
|
+
## Purpose
|
|
5
|
+
|
|
6
|
+
Generate, validate, sandbox, and publish new DataBridge connectors on demand from API specs, WSDL definitions, or structured YAML input. Extends DataBridge's 47 hand-coded connectors with an infinite long tail via AI-assisted code generation.
|
|
7
|
+
|
|
8
|
+
## When to Use
|
|
9
|
+
|
|
10
|
+
- User needs a DataBridge connector for a product/service that doesn't have one yet
|
|
11
|
+
- User has an OpenAPI spec, WSDL definition, or API documentation URL
|
|
12
|
+
- User wants to import a community-shared connector from the marketplace
|
|
13
|
+
- User wants to promote a sandboxed connector to production
|
|
14
|
+
|
|
15
|
+
## 6-Stage Pipeline
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
INPUT PARSING → BASE CLASS SELECTION → CODE GENERATION → STATIC VALIDATION → SANDBOX → INTEGRATION TEST
|
|
19
|
+
(spec_parser) (base_selector) (code_generator) (static_validator) (sandbox_mgr) (int_tester)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Stage 1: Spec Parser
|
|
23
|
+
Parse OpenAPI JSON/YAML, WSDL XML, HTML docs, or structured YAML into `ForgeApiManifest`.
|
|
24
|
+
|
|
25
|
+
### Stage 2: Base Selector
|
|
26
|
+
Deterministic protocol→base class mapping. Maps to one of 8 base classes: SaaSBase, SoapBase, SQLBase, FsspecBase, MessagingBase, HealthBase, EmailBase, DataConnector.
|
|
27
|
+
|
|
28
|
+
### Stage 3: Code Generator
|
|
29
|
+
Render skeleton from Jinja2 template, optionally enhance with two-tier LLM (qwen3 draft → Claude review).
|
|
30
|
+
|
|
31
|
+
### Stage 4: Static Validator
|
|
32
|
+
6-gate validation: py_compile, ruff, AST ABC check, bandit SAST, secret scan, import whitelist.
|
|
33
|
+
|
|
34
|
+
### Stage 5: Sandbox
|
|
35
|
+
Docker container (--network none, --memory 256m) with subprocess fallback. Probes import/instantiate/connect/health/list_tables.
|
|
36
|
+
|
|
37
|
+
### Stage 6: Integration Test
|
|
38
|
+
Evaluate sandbox results. Pass requires successful import + instantiation.
|
|
39
|
+
|
|
40
|
+
## Workflow
|
|
41
|
+
|
|
42
|
+
### Generate a connector from spec
|
|
43
|
+
```bash
|
|
44
|
+
# Via MCP
|
|
45
|
+
echo '{"jsonrpc":"2.0","id":1,"method":"forge_from_spec","params":{"content":"<openapi-json>","connector_name":"my_api"}}' | python tools/mcp/connector_forge_server.py
|
|
46
|
+
|
|
47
|
+
# Via Python
|
|
48
|
+
from tools.databridge.forge.forge_agent import forge_from_spec
|
|
49
|
+
result = forge_from_spec(content="...", connector_name="my_api", use_llm=False, run_sandbox_flag=False)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Promote to production
|
|
53
|
+
```bash
|
|
54
|
+
from tools.databridge.forge.promoter import promote_connector
|
|
55
|
+
result = promote_connector(connector_id="forge-abc123", promoted_by="admin")
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Publish to marketplace
|
|
59
|
+
```bash
|
|
60
|
+
from tools.databridge.forge.marketplace_publisher import publish_connector
|
|
61
|
+
result = publish_connector(connector_id="forge-abc123", marketplace_url="https://marketplace.icdev.ai")
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Import from marketplace
|
|
65
|
+
```bash
|
|
66
|
+
from tools.databridge.forge.import_handler import import_community_connector
|
|
67
|
+
result = import_community_connector(slug="databridge-connector-acme-crm")
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Promotion State Machine
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
sandboxed → promoted → published → deprecated
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
- **sandboxed**: Just generated, passed validation. Cannot be used in production sync jobs.
|
|
77
|
+
- **promoted**: Human-approved. Loaded into in-memory connector registry via `load_forge_connectors()`.
|
|
78
|
+
- **published**: Shared on marketplace.icdev.ai for community use.
|
|
79
|
+
- **deprecated**: Retired. No longer loaded into registry.
|
|
80
|
+
|
|
81
|
+
## Expected Outputs
|
|
82
|
+
|
|
83
|
+
| Operation | Success Output |
|
|
84
|
+
|-----------|---------------|
|
|
85
|
+
| forge_from_spec | `{status: "sandboxed", connector_id, validation, sandbox, integration}` |
|
|
86
|
+
| forge_promote | `{status: "ok", new_status: "promoted"}` |
|
|
87
|
+
| forge_publish | `{status: "ok", slug, artifact_id}` |
|
|
88
|
+
| forge_import | `{status: "ok", connector_id, new_status: "sandboxed"}` |
|
|
89
|
+
| forge_list | `{connectors: [...], count: N}` |
|
|
90
|
+
|
|
91
|
+
## Edge Cases
|
|
92
|
+
|
|
93
|
+
- **No LLM available**: Falls back to template-only generation (still produces valid connector skeleton)
|
|
94
|
+
- **No Docker**: Falls back to subprocess sandbox with restricted PYTHONPATH
|
|
95
|
+
- **Air-gapped**: All parsing uses stdlib (xml.etree, json, html.parser). Jinja2 has string-replacement fallback
|
|
96
|
+
- **Validation failure**: Pipeline stops after Stage 4, returns detailed gate results
|
|
97
|
+
- **Sandbox timeout**: 30-second default, configurable in `args/databridge_config.yaml` under `forge.sandbox`
|
|
98
|
+
- **Import validation fail**: Community connector rejected, not stored in DB
|
|
99
|
+
|
|
100
|
+
## Configuration
|
|
101
|
+
|
|
102
|
+
`args/databridge_config.yaml` under `forge:` block — sandbox settings, validation flags, import whitelist, promotion config.
|
|
103
|
+
|
|
104
|
+
## Architecture Decisions
|
|
105
|
+
|
|
106
|
+
- D-CF-1: `forge/` is a subpackage of `tools/databridge/`
|
|
107
|
+
- D-CF-2: Two-tier LLM (qwen3 drafts, Claude reviews)
|
|
108
|
+
- D-CF-3: Inline Jinja2 templates with string-replacement fallback
|
|
109
|
+
- D-CF-4: Docker primary, subprocess fallback for sandbox
|
|
110
|
+
- D-CF-5: Two new ConnectorType enum values: SOAP, HEALTH
|
|
111
|
+
- D-CF-6: Promotion state machine: sandboxed → promoted → published → deprecated
|
|
112
|
+
- D-CF-7: 8 new audit event types
|
|
113
|
+
- D-CF-8: Marketplace install via ASSET_TYPE_DIRS["databridge_connector"]
|
|
114
|
+
- D-CF-9: MCP server with 8 tools
|
|
115
|
+
- D-CF-10: Config in databridge_config.yaml under forge: block
|
|
116
|
+
|
|
117
|
+
## Tools
|
|
118
|
+
|
|
119
|
+
| Tool | Path |
|
|
120
|
+
|------|------|
|
|
121
|
+
| Forge Agent | `tools/databridge/forge/forge_agent.py` |
|
|
122
|
+
| Spec Parser | `tools/databridge/forge/spec_parser.py` |
|
|
123
|
+
| Base Selector | `tools/databridge/forge/base_selector.py` |
|
|
124
|
+
| Code Generator | `tools/databridge/forge/code_generator.py` |
|
|
125
|
+
| Static Validator | `tools/databridge/forge/static_validator.py` |
|
|
126
|
+
| Sandbox Manager | `tools/databridge/forge/sandbox_manager.py` |
|
|
127
|
+
| Integration Tester | `tools/databridge/forge/integration_tester.py` |
|
|
128
|
+
| Promoter | `tools/databridge/forge/promoter.py` |
|
|
129
|
+
| Publisher | `tools/databridge/forge/marketplace_publisher.py` |
|
|
130
|
+
| Import Handler | `tools/databridge/forge/import_handler.py` |
|
|
131
|
+
| Templates | `tools/databridge/forge/templates/__init__.py` |
|
|
132
|
+
| MCP Server | `tools/mcp/connector_forge_server.py` |
|
|
133
|
+
| A2A Card | `tools/agent/cards/connector_forge_card.json` |
|
goals/databridge.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# CUI // SP-CTI
|
|
2
|
+
# Goal: DataBridge — Universal Data & Storage Connector
|
|
3
|
+
|
|
4
|
+
## Purpose
|
|
5
|
+
Enable ICDEV and child applications to connect to any database, data store,
|
|
6
|
+
cloud storage, streaming platform, SaaS API, or file source through a
|
|
7
|
+
unified Apache Arrow-based pipeline.
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
- User needs to read/write data from external sources
|
|
11
|
+
- User wants to set up data integrations (ETL/ELT)
|
|
12
|
+
- User needs to map schemas between sources
|
|
13
|
+
- User needs to query across multiple data sources (DuckDB analytics)
|
|
14
|
+
- User needs PII detection or CUI field-level marking on data flows
|
|
15
|
+
|
|
16
|
+
## Workflow
|
|
17
|
+
|
|
18
|
+
### 1. Create Connection
|
|
19
|
+
```bash
|
|
20
|
+
# Via dashboard: /databridge → "Add Connection"
|
|
21
|
+
# Via API: POST /api/databridge/connections
|
|
22
|
+
python tools/databridge/connection_manager.py --list --json
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 2. Test Connection
|
|
26
|
+
```bash
|
|
27
|
+
python tools/databridge/connection_manager.py --test <connection_id> --json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 3. Infer Schema
|
|
31
|
+
```bash
|
|
32
|
+
python tools/databridge/schema_engine.py --get <connection_id> <table_name> --json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 4. Sync Data (Read)
|
|
36
|
+
```bash
|
|
37
|
+
python tools/databridge/sync_engine.py --read <connection_id> <table_name> --json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 5. Create Mapping (Optional)
|
|
41
|
+
```bash
|
|
42
|
+
# Via dashboard: /databridge/mappings → visual drag-and-drop editor
|
|
43
|
+
# Via API: POST /api/databridge/mappings
|
|
44
|
+
python tools/databridge/mapping_engine.py --list --json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 6. Execute Mapping
|
|
48
|
+
```bash
|
|
49
|
+
python tools/databridge/mapping_engine.py --execute <mapping_id> --json
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 7. Query with DuckDB (Optional)
|
|
53
|
+
```bash
|
|
54
|
+
python tools/databridge/analytics.py --query "SELECT * FROM source LIMIT 10" --json
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 8. PII Scan (Optional)
|
|
58
|
+
```bash
|
|
59
|
+
python tools/databridge/pii_detector.py --scan <connection_id> <table_name> --json
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Tools
|
|
63
|
+
|
|
64
|
+
| Tool | Purpose |
|
|
65
|
+
|------|---------|
|
|
66
|
+
| `tools/databridge/connector.py` | ABC base class + universal types |
|
|
67
|
+
| `tools/databridge/connection_manager.py` | CRUD connections, health checks |
|
|
68
|
+
| `tools/databridge/schema_engine.py` | Schema inference, versioning |
|
|
69
|
+
| `tools/databridge/arrow_pipeline.py` | Arrow transform pipeline |
|
|
70
|
+
| `tools/databridge/sync_engine.py` | Sync orchestrator |
|
|
71
|
+
| `tools/databridge/registry.py` | Connector discovery |
|
|
72
|
+
| `tools/databridge/mapping_engine.py` | Schema crosswalks + transforms |
|
|
73
|
+
| `tools/databridge/transforms.py` | Transform function library |
|
|
74
|
+
| `tools/databridge/format_converter.py` | Format conversion |
|
|
75
|
+
| `tools/databridge/analytics.py` | DuckDB analytics |
|
|
76
|
+
| `tools/databridge/pii_detector.py` | PII detection (Presidio) |
|
|
77
|
+
| `tools/databridge/data_profiler.py` | Data quality profiling |
|
|
78
|
+
| `tools/databridge/stream_manager.py` | Streaming connector manager |
|
|
79
|
+
| `tools/databridge/relay_server.py` | On-prem WebSocket relay |
|
|
80
|
+
|
|
81
|
+
## Configuration
|
|
82
|
+
- `args/databridge_config.yaml` — module settings, tier limits, PII, CUI, FIPS
|
|
83
|
+
|
|
84
|
+
## Connectors (22 built-in)
|
|
85
|
+
|
|
86
|
+
| Category | Connectors | Tier |
|
|
87
|
+
|----------|-----------|------|
|
|
88
|
+
| Database | SQLite, PostgreSQL, MySQL, MSSQL, Oracle | SQLite=free |
|
|
89
|
+
| Cloud Storage | Local FS, S3, Azure Blob, GCS, HDFS | Local=free |
|
|
90
|
+
| File | CSV, JSON, Parquet, Avro, Excel | CSV/JSON=free |
|
|
91
|
+
| Streaming | Kafka, Kinesis, CDC | All paid |
|
|
92
|
+
| SaaS API | Salesforce, ServiceNow, Jira, SAP | All paid |
|
|
93
|
+
|
|
94
|
+
## Design Decisions
|
|
95
|
+
- D-DB-1: Independent `tools/databridge/` directory
|
|
96
|
+
- D-DB-2: ABC `DataConnector` + concrete implementations
|
|
97
|
+
- D-DB-3: Apache Arrow universal in-memory format
|
|
98
|
+
- D-DB-4: fsspec universal filesystem abstraction
|
|
99
|
+
- D-DB-5: DuckDB local analytics
|
|
100
|
+
- D-DB-6: Append-only sync logs (NIST AU)
|
|
101
|
+
- D-DB-7: Versioned schema mappings (SHA-256)
|
|
102
|
+
- D-DB-8: CUI field-level marking (IL4+ only)
|
|
103
|
+
- D-DB-9: Presidio PII detection
|
|
104
|
+
- D-DB-10: On-prem agent (outbound WebSocket)
|
|
105
|
+
- D-DB-11: Free tier: 3 connectors, no streaming
|
|
106
|
+
- D-DB-12: YAML config in DB column
|
|
107
|
+
- D-DB-13: Secret references, never plaintext
|
|
108
|
+
- D-DB-14: Deterministic schema inference
|
|
109
|
+
- D-DB-15: Transform pipeline = Arrow compute DAG
|
|
110
|
+
- D-DB-17: RAG integration with on/off toggle
|
|
111
|
+
- D-DB-18: Graceful optional imports
|
|
112
|
+
- D-DB-19: Visual mapping in vanilla JS + SVG
|
|
113
|
+
- D-DB-20: FIPS 140-3 TLS optional
|
|
114
|
+
|
|
115
|
+
## Edge Cases
|
|
116
|
+
- Connection fails mid-sync → log partial results, mark connection as error
|
|
117
|
+
- Schema drift detected → create new version, alert user
|
|
118
|
+
- PII detected in non-CUI data → flag_only mode (no masking unless configured)
|
|
119
|
+
- Free tier limit hit → return error with upgrade prompt
|
|
120
|
+
- Heavy dependency not installed → graceful skip, connector unavailable
|
|
121
|
+
- On-prem agent disconnects → auto-reconnect with exponential backoff
|
|
122
|
+
|
|
123
|
+
## Compliance
|
|
124
|
+
- All sync logs are append-only (NIST AU-2, AU-3)
|
|
125
|
+
- CUI field marking at IL4+ (NIST SI-12)
|
|
126
|
+
- PII detection satisfies NIST SI-18
|
|
127
|
+
- Schema versioning satisfies NIST CM-3
|
|
128
|
+
- Secret references satisfy NIST SC-28
|
goals/deploy_workflow.md
ADDED
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
# Goal: Infrastructure Deployment
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Generate all infrastructure-as-code artifacts (Terraform, Ansible, Kubernetes manifests, CI/CD pipeline), verify all pre-deployment gates, commit to GitLab, and monitor the deployment pipeline through all 7 stages to production.
|
|
6
|
+
|
|
7
|
+
**Why this matters:** Manual deployments are unreproducible, error-prone, and unauditable. Infrastructure-as-code ensures every deployment is identical, testable, and traceable. In government environments, every change must be tracked and reversible.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- [ ] Project initialized (`goals/init_project.md` completed)
|
|
14
|
+
- [ ] All tests pass (`goals/tdd_workflow.md` completed)
|
|
15
|
+
- [ ] Security scan gates pass (`goals/security_scan.md` — 0 critical, 0 secrets)
|
|
16
|
+
- [ ] Compliance artifacts current (`goals/compliance_workflow.md` — within 30 days)
|
|
17
|
+
- [ ] ATO status is READY or existing ATO is valid
|
|
18
|
+
- [ ] Target environment defined (dev, staging, production)
|
|
19
|
+
- [ ] GitLab repository configured
|
|
20
|
+
- [ ] `memory/MEMORY.md` loaded (session context)
|
|
21
|
+
|
|
22
|
+
**HARD STOP: Do not proceed if any prerequisite fails. Deployment without passing gates is a compliance violation.**
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Deployment Pipeline Overview
|
|
27
|
+
|
|
28
|
+
```mermaid
|
|
29
|
+
flowchart LR
|
|
30
|
+
TF["Terraform\nGenerate IaC"]:::blue --> AN["Ansible\nPlaybooks"]:::blue
|
|
31
|
+
AN --> K8["K8s\nManifests"]:::blue
|
|
32
|
+
K8 --> PL["Pipeline\nGenerate CI/CD"]:::blue
|
|
33
|
+
PL --> GATES{"10 Pre-Deploy\nGates"}:::yellow
|
|
34
|
+
GATES -->|ALL PASS| COMMIT["Commit &\nPush"]:::green
|
|
35
|
+
GATES -->|ANY FAIL| BLOCKED["BLOCKED\nRemediate"]:::red
|
|
36
|
+
COMMIT --> EXEC["Pipeline\nExecution"]:::blue
|
|
37
|
+
EXEC --> HC{"Health\nCheck"}:::yellow
|
|
38
|
+
HC -->|PASS| AUDIT["Audit\nLogged"]:::green
|
|
39
|
+
HC -->|FAIL| ROLLBACK["Rollback"]:::red
|
|
40
|
+
|
|
41
|
+
classDef green fill:#1a3a2d,stroke:#28a745,color:#e0e0e0
|
|
42
|
+
classDef red fill:#3a1a1a,stroke:#dc3545,color:#e0e0e0
|
|
43
|
+
classDef yellow fill:#3a3a1a,stroke:#ffc107,color:#e0e0e0
|
|
44
|
+
classDef blue fill:#1a3a5c,stroke:#4a90d9,color:#e0e0e0
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```mermaid
|
|
48
|
+
flowchart LR
|
|
49
|
+
S1["1. Build"]:::blue -.->|"tests pass\ncoverage >= 80%"| S2["2. Test"]:::blue
|
|
50
|
+
S2 -.->|"0 critical/high\nSAST findings"| S3["3. SAST"]:::blue
|
|
51
|
+
S3 -.->|"0 critical/high\ndep vulns"| S4["4. Deps"]:::blue
|
|
52
|
+
S4 -.->|"0 critical\ncontainer vulns"| S5["5. Container"]:::blue
|
|
53
|
+
S5 -.->|"0 CAT1 STIGs\nCUI markings"| S6["6. Compliance"]:::blue
|
|
54
|
+
S6 -.->|"manual approval\nfor production"| S7["7. Deploy"]:::green
|
|
55
|
+
|
|
56
|
+
classDef green fill:#1a3a2d,stroke:#28a745,color:#e0e0e0
|
|
57
|
+
classDef blue fill:#1a3a5c,stroke:#4a90d9,color:#e0e0e0
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Process
|
|
63
|
+
|
|
64
|
+
### Step 1: Generate Terraform Configuration
|
|
65
|
+
|
|
66
|
+
**Tool:** `python tools/infra/terraform_generator.py --project <name>`
|
|
67
|
+
|
|
68
|
+
**Expected output:**
|
|
69
|
+
```
|
|
70
|
+
Terraform files generated: projects/<name>/infrastructure/terraform/
|
|
71
|
+
|
|
72
|
+
Files:
|
|
73
|
+
- main.tf # Provider, backend, core resources
|
|
74
|
+
- variables.tf # Input variables
|
|
75
|
+
- outputs.tf # Output values
|
|
76
|
+
- networking.tf # VPC, subnets, security groups
|
|
77
|
+
- compute.tf # EC2/ECS/EKS resources
|
|
78
|
+
- storage.tf # S3, RDS, EBS
|
|
79
|
+
- iam.tf # IAM roles, policies (least privilege)
|
|
80
|
+
- security_groups.tf # Network ACLs
|
|
81
|
+
- terraform.tfvars # Environment-specific values
|
|
82
|
+
|
|
83
|
+
Provider: AWS GovCloud (us-gov-west-1)
|
|
84
|
+
Backend: S3 + DynamoDB state locking
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Security requirements for generated Terraform:**
|
|
88
|
+
- All S3 buckets: encryption enabled, public access blocked, versioning on
|
|
89
|
+
- All security groups: no 0.0.0.0/0 ingress (except ALB on 443)
|
|
90
|
+
- IAM: least-privilege policies, no wildcard (*) actions
|
|
91
|
+
- RDS: encryption at rest, no public accessibility
|
|
92
|
+
- VPC: private subnets for compute, public only for load balancers
|
|
93
|
+
|
|
94
|
+
**Error handling:**
|
|
95
|
+
- Missing provider credentials → fail clearly, do not generate with placeholder keys
|
|
96
|
+
- Unsupported resource type → document limitation, suggest manual creation
|
|
97
|
+
- State backend not configured → generate backend config, warn user to initialize
|
|
98
|
+
|
|
99
|
+
**Verify:** `terraform validate` passes. `terraform plan` shows expected resources. No security group allows unrestricted ingress.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
### Step 2: Generate Ansible Playbooks
|
|
104
|
+
|
|
105
|
+
**Tool:** `python tools/infra/ansible_generator.py --project <name>`
|
|
106
|
+
|
|
107
|
+
**Expected output:**
|
|
108
|
+
```
|
|
109
|
+
Ansible files generated: projects/<name>/infrastructure/ansible/
|
|
110
|
+
|
|
111
|
+
Files:
|
|
112
|
+
- site.yml # Master playbook
|
|
113
|
+
- inventory/
|
|
114
|
+
│ ├── production.yml # Production hosts
|
|
115
|
+
│ ├── staging.yml # Staging hosts
|
|
116
|
+
│ └── group_vars/
|
|
117
|
+
│ └── all.yml # Shared variables
|
|
118
|
+
- roles/
|
|
119
|
+
│ ├── hardening/ # STIG hardening role
|
|
120
|
+
│ │ ├── tasks/main.yml
|
|
121
|
+
│ │ └── handlers/main.yml
|
|
122
|
+
│ ├── application/ # App deployment role
|
|
123
|
+
│ │ ├── tasks/main.yml
|
|
124
|
+
│ │ └── templates/
|
|
125
|
+
│ └── monitoring/ # Monitoring agent role
|
|
126
|
+
│ └── tasks/main.yml
|
|
127
|
+
|
|
128
|
+
STIG hardening checks: <count> automated
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Security requirements for generated Ansible:**
|
|
132
|
+
- STIG hardening role applies all applicable STIG checks
|
|
133
|
+
- No plaintext passwords in playbooks (use Ansible Vault)
|
|
134
|
+
- SSH key-based authentication only
|
|
135
|
+
- Audit logging enabled on all managed hosts
|
|
136
|
+
- Firewall rules applied matching Terraform security groups
|
|
137
|
+
|
|
138
|
+
**Error handling:**
|
|
139
|
+
- Ansible not installed → provide installation instructions
|
|
140
|
+
- Missing vault password → warn, generate without secrets (user adds later)
|
|
141
|
+
- Invalid YAML syntax → validate before writing, fix
|
|
142
|
+
|
|
143
|
+
**Verify:** `ansible-playbook --syntax-check site.yml` passes. Vault-encrypted files are not plaintext.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
### Step 3: Generate Kubernetes Manifests
|
|
148
|
+
|
|
149
|
+
**Tool:** `python tools/infra/k8s_generator.py --project <name>`
|
|
150
|
+
|
|
151
|
+
**Expected output:**
|
|
152
|
+
```
|
|
153
|
+
Kubernetes manifests generated: projects/<name>/infrastructure/k8s/
|
|
154
|
+
|
|
155
|
+
Files:
|
|
156
|
+
- namespace.yaml # Isolated namespace
|
|
157
|
+
- deployment.yaml # App deployment
|
|
158
|
+
- service.yaml # ClusterIP/LoadBalancer service
|
|
159
|
+
- ingress.yaml # Ingress with TLS
|
|
160
|
+
- configmap.yaml # Non-sensitive config
|
|
161
|
+
- secret.yaml # Sensitive config (sealed)
|
|
162
|
+
- hpa.yaml # Horizontal Pod Autoscaler
|
|
163
|
+
- networkpolicy.yaml # Network isolation
|
|
164
|
+
- poddisruptionbudget.yaml # Availability guarantee
|
|
165
|
+
- serviceaccount.yaml # RBAC service account
|
|
166
|
+
- rbac.yaml # Role and RoleBinding
|
|
167
|
+
|
|
168
|
+
Security settings applied:
|
|
169
|
+
- runAsNonRoot: true
|
|
170
|
+
- readOnlyRootFilesystem: true
|
|
171
|
+
- allowPrivilegeEscalation: false
|
|
172
|
+
- resource limits set
|
|
173
|
+
- network policies enforced
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Security requirements for generated K8s manifests:**
|
|
177
|
+
- Pods run as non-root user
|
|
178
|
+
- Read-only root filesystem
|
|
179
|
+
- No privilege escalation
|
|
180
|
+
- Resource limits defined (CPU and memory)
|
|
181
|
+
- Network policies restrict pod-to-pod traffic
|
|
182
|
+
- Secrets use SealedSecrets or external secret management
|
|
183
|
+
- No `latest` tag — all images pinned to specific versions
|
|
184
|
+
|
|
185
|
+
**Error handling:**
|
|
186
|
+
- No Dockerfile → generate one first (`tools/infra/dockerfile_generator.py`)
|
|
187
|
+
- Invalid manifest syntax → `kubectl apply --dry-run=client -f <file>` to validate
|
|
188
|
+
- Missing namespace → create namespace manifest first
|
|
189
|
+
|
|
190
|
+
**Verify:** `kubectl apply --dry-run=client -f .` passes for all manifests. Security context is set on all pods.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
### Step 4: Generate CI/CD Pipeline
|
|
195
|
+
|
|
196
|
+
**Tool:** `python tools/infra/pipeline_generator.py --project <name>`
|
|
197
|
+
|
|
198
|
+
**Expected output:**
|
|
199
|
+
```
|
|
200
|
+
Pipeline generated: projects/<name>/.gitlab-ci.yml
|
|
201
|
+
|
|
202
|
+
Stages (7):
|
|
203
|
+
1. build — Compile, package, create container image
|
|
204
|
+
2. test — Unit tests, integration tests, coverage check
|
|
205
|
+
3. sast — Static analysis (bandit/eslint-security)
|
|
206
|
+
4. dependency — pip-audit/npm audit
|
|
207
|
+
5. container — trivy container scan
|
|
208
|
+
6. compliance — STIG check, CUI marking verification
|
|
209
|
+
7. deploy — Terraform apply, Ansible run, K8s deploy
|
|
210
|
+
|
|
211
|
+
Gates between stages:
|
|
212
|
+
- test → sast: all tests pass, coverage >= 80%
|
|
213
|
+
- sast → dependency: 0 critical/high SAST findings
|
|
214
|
+
- dependency → container: 0 critical/high dependency vulns
|
|
215
|
+
- container → compliance: 0 critical container vulns
|
|
216
|
+
- compliance → deploy: 0 CAT1 STIGs, CUI markings present
|
|
217
|
+
- deploy: manual trigger for production (automatic for dev/staging)
|
|
218
|
+
|
|
219
|
+
Artifacts:
|
|
220
|
+
- Test reports (JUnit XML)
|
|
221
|
+
- Coverage reports (Cobertura)
|
|
222
|
+
- Scan results (JSON)
|
|
223
|
+
- SBOM (CycloneDX JSON)
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Pipeline requirements:**
|
|
227
|
+
- Each stage fails fast (no continuing past failures)
|
|
228
|
+
- Production deployment requires manual approval
|
|
229
|
+
- Rollback procedure documented in pipeline comments
|
|
230
|
+
- All artifacts preserved for 90 days
|
|
231
|
+
- Pipeline variables use CI/CD variables (never hardcoded)
|
|
232
|
+
|
|
233
|
+
**Error handling:**
|
|
234
|
+
- GitLab CI not available → generate pipeline file anyway, warn about manual execution
|
|
235
|
+
- Missing CI/CD variables → document required variables in pipeline comments
|
|
236
|
+
- Pipeline too slow → add caching for dependencies
|
|
237
|
+
|
|
238
|
+
**Verify:** `.gitlab-ci.yml` is valid YAML. Pipeline lint passes (`gitlab-ci-lint` or GitLab API).
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
### Step 5: Verify All Pre-Deployment Gates
|
|
243
|
+
|
|
244
|
+
**Action:** Final gate check before committing to deployment.
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
=== PRE-DEPLOYMENT GATE CHECK ===
|
|
248
|
+
|
|
249
|
+
Gate 1: All tests pass [PASS/FAIL]
|
|
250
|
+
Gate 2: Coverage >= 80% [PASS/FAIL]
|
|
251
|
+
Gate 3: SAST — 0 critical/high [PASS/FAIL]
|
|
252
|
+
Gate 4: Dependencies — 0 critical/high [PASS/FAIL]
|
|
253
|
+
Gate 5: Secrets — 0 detected [PASS/FAIL]
|
|
254
|
+
Gate 6: Container — 0 critical/high [PASS/FAIL] (or N/A)
|
|
255
|
+
Gate 7: STIG — 0 CAT1 [PASS/FAIL]
|
|
256
|
+
Gate 8: CUI markings present [PASS/FAIL]
|
|
257
|
+
Gate 9: SBOM current (< 30 days) [PASS/FAIL]
|
|
258
|
+
Gate 10: ATO status valid [PASS/FAIL]
|
|
259
|
+
|
|
260
|
+
Overall: <ALL GATES PASS | BLOCKED — gates X, Y, Z failed>
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**If ANY gate fails:** STOP. Do not deploy. Document which gates failed and what remediation is needed. Return to the appropriate workflow to fix.
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
### Step 6: Commit to GitLab
|
|
268
|
+
|
|
269
|
+
**Action:** Stage all infrastructure files and commit.
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
git add projects/<name>/infrastructure/
|
|
273
|
+
git add projects/<name>/.gitlab-ci.yml
|
|
274
|
+
git commit -m "feat(<name>): infrastructure-as-code for <environment> deployment
|
|
275
|
+
|
|
276
|
+
- Terraform: AWS GovCloud resources
|
|
277
|
+
- Ansible: STIG-hardened configuration
|
|
278
|
+
- K8s: Security-hardened manifests
|
|
279
|
+
- Pipeline: 7-stage CI/CD with security gates
|
|
280
|
+
|
|
281
|
+
All pre-deployment gates passed.
|
|
282
|
+
Scan date: <YYYY-MM-DD>"
|
|
283
|
+
|
|
284
|
+
git push origin <branch>
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**Error handling:**
|
|
288
|
+
- Git not initialized → `git init`, configure remote
|
|
289
|
+
- Push rejected → pull first, resolve conflicts, re-push
|
|
290
|
+
- Large files → check for binaries, use `.gitignore`
|
|
291
|
+
|
|
292
|
+
**Verify:** Commit exists in remote repository. Pipeline triggered.
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
### Step 7: Monitor Pipeline Execution
|
|
297
|
+
|
|
298
|
+
**Action:** Watch the 7-stage pipeline for completion.
|
|
299
|
+
|
|
300
|
+
```
|
|
301
|
+
Pipeline status:
|
|
302
|
+
Stage 1 (build): [PASS] — 2m 15s
|
|
303
|
+
Stage 2 (test): [PASS] — 4m 30s
|
|
304
|
+
Stage 3 (sast): [PASS] — 1m 45s
|
|
305
|
+
Stage 4 (dependency): [PASS] — 0m 55s
|
|
306
|
+
Stage 5 (container): [PASS] — 3m 20s
|
|
307
|
+
Stage 6 (compliance): [PASS] — 2m 10s
|
|
308
|
+
Stage 7 (deploy): [PASS] — 5m 00s (manual approval for prod)
|
|
309
|
+
|
|
310
|
+
Total time: 20m 35s
|
|
311
|
+
Status: SUCCESS
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
**If pipeline fails:**
|
|
315
|
+
1. Identify which stage failed
|
|
316
|
+
2. Read the stage logs
|
|
317
|
+
3. Determine if the failure is in code, infra, or pipeline config
|
|
318
|
+
4. Fix the issue
|
|
319
|
+
5. Re-push and re-trigger pipeline
|
|
320
|
+
6. If production deploy fails → execute rollback (`tools/infra/rollback.py --project <name> --environment <env>`)
|
|
321
|
+
|
|
322
|
+
**Post-deployment health check:**
|
|
323
|
+
```bash
|
|
324
|
+
python tools/monitor/health_checker.py --url <deployed-url> --retries 5
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
### Step 8: Log to Audit Trail
|
|
330
|
+
|
|
331
|
+
**Tool:** `python tools/audit/audit_logger.py --event "deployment_complete" --actor "orchestrator" --action "deploy" --project <name>`
|
|
332
|
+
|
|
333
|
+
**Tool:** `python tools/memory/memory_write.py --content "Deployed <name> to <environment>. Pipeline: all 7 stages passed. Health check: <status>" --type event --importance 8`
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Success Criteria
|
|
338
|
+
|
|
339
|
+
- [ ] Terraform configuration generated and validated
|
|
340
|
+
- [ ] Ansible playbooks generated with STIG hardening
|
|
341
|
+
- [ ] Kubernetes manifests generated with security contexts
|
|
342
|
+
- [ ] CI/CD pipeline generated with 7 stages and gates
|
|
343
|
+
- [ ] All 10 pre-deployment gates pass
|
|
344
|
+
- [ ] Code committed and pushed to GitLab
|
|
345
|
+
- [ ] Pipeline completes all 7 stages successfully
|
|
346
|
+
- [ ] Health check passes post-deployment
|
|
347
|
+
- [ ] Audit trail entry logged
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## Edge Cases & Notes
|
|
352
|
+
|
|
353
|
+
1. **Rollback procedure:** If deployment breaks production, execute `python tools/infra/rollback.py --project <name> --environment production`. This reverts to the last known-good deployment. Test rollback in staging first.
|
|
354
|
+
2. **Blue-green deployments:** For zero-downtime, use blue-green strategy. Both versions run simultaneously; traffic switches after health check passes.
|
|
355
|
+
3. **Canary deployments:** Route 5% of traffic to new version first. Monitor error rates. If stable for 15 minutes, increase to 100%.
|
|
356
|
+
4. **Terraform state:** State files contain sensitive information. Store in encrypted S3 bucket with state locking via DynamoDB. Never commit state files to git.
|
|
357
|
+
5. **Secret injection:** Pipeline secrets come from GitLab CI/CD variables or AWS Secrets Manager. Never bake secrets into images or manifests.
|
|
358
|
+
6. **Multi-environment:** Dev deploys automatically on merge. Staging deploys automatically on tag. Production requires manual approval.
|
|
359
|
+
7. **Disaster recovery:** Terraform enables full infrastructure recreation. Document RTO (Recovery Time Objective) and RPO (Recovery Point Objective).
|
|
360
|
+
8. **Cost management:** Terraform `plan` shows estimated costs. Review before applying to production.
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## GOTCHA Layer Mapping
|
|
365
|
+
|
|
366
|
+
| Step | GOTCHA Layer | Component |
|
|
367
|
+
|------|-------------|-----------|
|
|
368
|
+
| Generate Terraform | Tools | terraform_generator.py |
|
|
369
|
+
| Generate Ansible | Tools | ansible_generator.py |
|
|
370
|
+
| Generate K8s | Tools | k8s_generator.py |
|
|
371
|
+
| Generate pipeline | Tools | pipeline_generator.py |
|
|
372
|
+
| Gate evaluation | Orchestration | AI (you) |
|
|
373
|
+
| Environment config | Args | terraform.tfvars, inventory |
|
|
374
|
+
| Infrastructure patterns | Context | GovCloud reference |
|
|
375
|
+
| Deployment decisions | Orchestration | AI (you) |
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
## Related Files
|
|
380
|
+
|
|
381
|
+
- **Tools:** `tools/infra/terraform_generator.py`, `tools/infra/ansible_generator.py`, `tools/infra/k8s_generator.py`, `tools/infra/pipeline_generator.py`, `tools/infra/rollback.py`
|
|
382
|
+
- **Depends on:** `goals/tdd_workflow.md`, `goals/security_scan.md`, `goals/compliance_workflow.md`
|
|
383
|
+
- **Feeds into:** `goals/monitoring.md` (post-deploy observability)
|
|
384
|
+
- **Database:** `data/icdev.db` (deployments table)
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## Changelog
|
|
389
|
+
|
|
390
|
+
- 2026-02-14: Initial creation
|