icdev 1.0.0__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.
- icdev/__init__.py +18 -0
- icdev/_paths.py +85 -0
- icdev/_version.py +3 -0
- icdev/data/__init__.py +1 -0
- icdev/data/args/__init__.py +1 -0
- icdev/data/args/agent_authority.yaml +61 -0
- icdev/data/args/agent_config.yaml +355 -0
- icdev/data/args/agentic_fitness.yaml +31 -0
- icdev/data/args/ai_governance_config.yaml +137 -0
- icdev/data/args/atlas_critique_config.yaml +66 -0
- icdev/data/args/bedrock_models.yaml +63 -0
- icdev/data/args/cicd_config.yaml +82 -0
- icdev/data/args/classification_config.yaml +232 -0
- icdev/data/args/cli_config.yaml +154 -0
- icdev/data/args/cloud_config.yaml +63 -0
- icdev/data/args/code_pattern_config.yaml +151 -0
- icdev/data/args/code_quality_config.yaml +47 -0
- icdev/data/args/companion_registry.yaml +202 -0
- icdev/data/args/context_config.yaml +82 -0
- icdev/data/args/csp_monitor_config.yaml +268 -0
- icdev/data/args/cui_markings.yaml +35 -0
- icdev/data/args/db_config.yaml +40 -0
- icdev/data/args/deployment_profiles.yaml +248 -0
- icdev/data/args/dev_profile_config.yaml +144 -0
- icdev/data/args/devsecops_config.yaml +286 -0
- icdev/data/args/endpoint_security_config.yaml +137 -0
- icdev/data/args/extension_config.yaml +79 -0
- icdev/data/args/file_access_tiers.yaml +88 -0
- icdev/data/args/framework_registry.yaml +415 -0
- icdev/data/args/innovation_config.yaml +431 -0
- icdev/data/args/installation_manifest.yaml +1087 -0
- icdev/data/args/llm_config.yaml +495 -0
- icdev/data/args/maintenance_config.yaml +55 -0
- icdev/data/args/memory_config.yaml +83 -0
- icdev/data/args/monitoring_config.yaml +127 -0
- icdev/data/args/mosa_config.yaml +190 -0
- icdev/data/args/nlq_config.yaml +35 -0
- icdev/data/args/observability_config.yaml +39 -0
- icdev/data/args/observability_tracing_config.yaml +170 -0
- icdev/data/args/oscal_tools_config.yaml +43 -0
- icdev/data/args/owasp_agentic_config.yaml +171 -0
- icdev/data/args/phase_registry.yaml +618 -0
- icdev/data/args/project_defaults.yaml +235 -0
- icdev/data/args/prompt_chains.yaml +163 -0
- icdev/data/args/resilience_config.yaml +50 -0
- icdev/data/args/ricoas_config.yaml +191 -0
- icdev/data/args/role_personas.yaml +362 -0
- icdev/data/args/scaling_config.yaml +176 -0
- icdev/data/args/security_gates.yaml +685 -0
- icdev/data/args/skill_injection_config.yaml +322 -0
- icdev/data/args/spec_config.yaml +53 -0
- icdev/data/args/supply_chain_config.yaml +76 -0
- icdev/data/args/translation_config.yaml +228 -0
- icdev/data/args/workflow_templates/ato_acceleration.yaml +54 -0
- icdev/data/args/workflow_templates/build_deploy.yaml +63 -0
- icdev/data/args/workflow_templates/full_compliance.yaml +43 -0
- icdev/data/args/workflow_templates/security_hardening.yaml +55 -0
- icdev/data/args/worktree_config.yaml +34 -0
- icdev/data/args/zta_config.yaml +247 -0
- icdev/data/context/__init__.py +1 -0
- icdev/data/context/agent/__init__.py +1 -0
- icdev/data/context/agent/response_schemas/__init__.py +1 -0
- icdev/data/context/agent/response_schemas/debate_position.json +46 -0
- icdev/data/context/agent/response_schemas/fitness_scorecard.json +74 -0
- icdev/data/context/agent/response_schemas/review_decision.json +39 -0
- icdev/data/context/agent/response_schemas/task_decomposition.json +82 -0
- icdev/data/context/agent/response_schemas/veto_decision.json +40 -0
- icdev/data/context/agentic/__init__.py +1 -0
- icdev/data/context/agentic/architecture_patterns.md +269 -0
- icdev/data/context/agentic/capability_registry.yaml +202 -0
- icdev/data/context/agentic/csp_mcp_registry.yaml +280 -0
- icdev/data/context/agentic/fitness_rubric.md +56 -0
- icdev/data/context/agentic/governance_baseline.md +205 -0
- icdev/data/context/ci/__init__.py +1 -0
- icdev/data/context/ci/worktree_templates.json +44 -0
- icdev/data/context/cloud/__init__.py +1 -0
- icdev/data/context/cloud/csp_service_registry.json +739 -0
- icdev/data/context/compliance/__init__.py +1 -0
- icdev/data/context/compliance/atlas_mitigations.json +293 -0
- icdev/data/context/compliance/atlas_techniques.json +833 -0
- icdev/data/context/compliance/cisa_sbd_requirements.json +432 -0
- icdev/data/context/compliance/cjis_security_policy.json +522 -0
- icdev/data/context/compliance/cmmc_practices.json +2494 -0
- icdev/data/context/compliance/cmmc_report_template.md +142 -0
- icdev/data/context/compliance/cnssi_1253_overlay.json +109 -0
- icdev/data/context/compliance/control_crosswalk.json +1914 -0
- icdev/data/context/compliance/control_families/__init__.py +1 -0
- icdev/data/context/compliance/csp_certifications.json +251 -0
- icdev/data/context/compliance/cssp_report_template.md +193 -0
- icdev/data/context/compliance/cui_templates/__init__.py +1 -0
- icdev/data/context/compliance/cui_templates/banner_block.txt +4 -0
- icdev/data/context/compliance/cui_templates/code_header.txt +8 -0
- icdev/data/context/compliance/cui_templates/document_template.md +35 -0
- icdev/data/context/compliance/data_type_framework_map.json +321 -0
- icdev/data/context/compliance/data_type_registry.json +147 -0
- icdev/data/context/compliance/dod_cssp_8530.json +463 -0
- icdev/data/context/compliance/eu_ai_act_annex_iii.json +108 -0
- icdev/data/context/compliance/export_templates/__init__.py +1 -0
- icdev/data/context/compliance/export_templates/emass_controls.csv.j2 +4 -0
- icdev/data/context/compliance/export_templates/evidence_package.md.j2 +39 -0
- icdev/data/context/compliance/export_templates/executive_summary.md.j2 +55 -0
- icdev/data/context/compliance/export_templates/poam_tracking.csv.j2 +4 -0
- icdev/data/context/compliance/fedramp_20x_ksi_schemas.json +133 -0
- icdev/data/context/compliance/fedramp_high_baseline.json +4370 -0
- icdev/data/context/compliance/fedramp_moderate_baseline.json +2183 -0
- icdev/data/context/compliance/fedramp_report_template.md +181 -0
- icdev/data/context/compliance/fips_200_areas.json +362 -0
- icdev/data/context/compliance/gao_ai_accountability.json +262 -0
- icdev/data/context/compliance/hipaa_security_rule.json +720 -0
- icdev/data/context/compliance/hitrust_csf_v11.json +930 -0
- icdev/data/context/compliance/impact_level_profiles.json +251 -0
- icdev/data/context/compliance/incident_response_template.md +1110 -0
- icdev/data/context/compliance/iso27001_2022_controls.json +750 -0
- icdev/data/context/compliance/iso27001_nist_bridge.json +382 -0
- icdev/data/context/compliance/iso42001_controls.json +254 -0
- icdev/data/context/compliance/ivv_checklist_template.md +80 -0
- icdev/data/context/compliance/ivv_report_template.md +116 -0
- icdev/data/context/compliance/ivv_requirements.json +372 -0
- icdev/data/context/compliance/mosa_crosswalk.json +327 -0
- icdev/data/context/compliance/mosa_framework.json +250 -0
- icdev/data/context/compliance/narrative_templates/AC.md.j2 +101 -0
- icdev/data/context/compliance/narrative_templates/AU.md.j2 +106 -0
- icdev/data/context/compliance/narrative_templates/IA.md.j2 +104 -0
- icdev/data/context/compliance/narrative_templates/SC.md.j2 +102 -0
- icdev/data/context/compliance/narrative_templates/SI.md.j2 +111 -0
- icdev/data/context/compliance/narrative_templates/__init__.py +1 -0
- icdev/data/context/compliance/narrative_templates/default.md.j2 +50 -0
- icdev/data/context/compliance/narrative_templates/executive_summary.j2 +27 -0
- icdev/data/context/compliance/narrative_templates/poam_milestone.j2 +19 -0
- icdev/data/context/compliance/narrative_templates/ssp_section.j2 +11 -0
- icdev/data/context/compliance/nist_800_171_controls.json +1552 -0
- icdev/data/context/compliance/nist_800_207_crosswalk.json +399 -0
- icdev/data/context/compliance/nist_800_207_zta.json +258 -0
- icdev/data/context/compliance/nist_800_53.json +324 -0
- icdev/data/context/compliance/nist_ai_600_1_genai.json +326 -0
- icdev/data/context/compliance/nist_ai_rmf.json +206 -0
- icdev/data/context/compliance/nist_sp_800_60_types.json +1667 -0
- icdev/data/context/compliance/omb_m25_21_high_impact_ai.json +248 -0
- icdev/data/context/compliance/omb_m26_04_unbiased_ai.json +262 -0
- icdev/data/context/compliance/owasp_agentic_asi.json +133 -0
- icdev/data/context/compliance/owasp_agentic_threats.json +285 -0
- icdev/data/context/compliance/owasp_llm_top10.json +274 -0
- icdev/data/context/compliance/pci_dss_v4.json +510 -0
- icdev/data/context/compliance/poam_template.md +117 -0
- icdev/data/context/compliance/safeai_controls.json +512 -0
- icdev/data/context/compliance/sbd_report_template.md +77 -0
- icdev/data/context/compliance/siem_config_templates/__init__.py +1 -0
- icdev/data/context/compliance/siem_config_templates/filebeat.yml +213 -0
- icdev/data/context/compliance/siem_config_templates/log_sources.json +208 -0
- icdev/data/context/compliance/soc2_trust_criteria.json +661 -0
- icdev/data/context/compliance/ssp_template.md +432 -0
- icdev/data/context/compliance/stig_templates/__init__.py +1 -0
- icdev/data/context/compliance/stig_templates/webapp_stig.json +139 -0
- icdev/data/context/compliance/xai_requirements.json +108 -0
- icdev/data/context/dashboard/__init__.py +1 -0
- icdev/data/context/dashboard/nlq_examples.json +50 -0
- icdev/data/context/dashboard/schema_descriptions.json +23 -0
- icdev/data/context/integration/__init__.py +1 -0
- icdev/data/context/integration/approval_workflows.json +32 -0
- icdev/data/context/integration/gitlab_field_mappings.json +33 -0
- icdev/data/context/integration/jira_field_mappings.json +32 -0
- icdev/data/context/integration/reqif_export_schema.json +23 -0
- icdev/data/context/integration/servicenow_field_mappings.json +22 -0
- icdev/data/context/languages/__init__.py +1 -0
- icdev/data/context/languages/framework_patterns.json +205 -0
- icdev/data/context/languages/language_registry.json +279 -0
- icdev/data/context/llm/__init__.py +1 -0
- icdev/data/context/llm/example_provider.py +86 -0
- icdev/data/context/mbse/__init__.py +1 -0
- icdev/data/context/mbse/des_report_template.md +162 -0
- icdev/data/context/mbse/des_requirements.json +411 -0
- icdev/data/context/mbse/digital_thread_patterns.json +403 -0
- icdev/data/context/mbse/reqif_schema.json +280 -0
- icdev/data/context/mbse/sysml_element_types.json +432 -0
- icdev/data/context/modernization/__init__.py +1 -0
- icdev/data/context/modernization/db_type_mappings.json +148 -0
- icdev/data/context/modernization/decomposition_patterns.json +284 -0
- icdev/data/context/modernization/framework_migration_patterns.json +359 -0
- icdev/data/context/modernization/migration_report_template.md +168 -0
- icdev/data/context/modernization/seven_rs_catalog.json +369 -0
- icdev/data/context/modernization/version_upgrade_rules.json +279 -0
- icdev/data/context/oscal/NIST_SP-800-53_rev5_catalog.json +254987 -0
- icdev/data/context/oscal/README.md +43 -0
- icdev/data/context/patterns/__init__.py +1 -0
- icdev/data/context/profiles/__init__.py +1 -0
- icdev/data/context/profiles/dod_baseline_v1.yaml +145 -0
- icdev/data/context/profiles/fedramp_baseline_v1.yaml +143 -0
- icdev/data/context/profiles/financial_baseline_v1.yaml +142 -0
- icdev/data/context/profiles/healthcare_baseline_v1.yaml +135 -0
- icdev/data/context/profiles/law_enforcement_v1.yaml +129 -0
- icdev/data/context/profiles/startup_v1.yaml +134 -0
- icdev/data/context/requirements/__init__.py +1 -0
- icdev/data/context/requirements/ambiguity_patterns.json +97 -0
- icdev/data/context/requirements/boundary_impact_rules.json +123 -0
- icdev/data/context/requirements/default_constitutions.json +67 -0
- icdev/data/context/requirements/document_extraction_rules.json +58 -0
- icdev/data/context/requirements/gap_patterns.json +108 -0
- icdev/data/context/requirements/readiness_rubric.json +78 -0
- icdev/data/context/requirements/red_alternative_patterns.json +210 -0
- icdev/data/context/requirements/safe_templates.json +72 -0
- icdev/data/context/requirements/spec_quality_checklist.json +122 -0
- icdev/data/context/simulation/__init__.py +1 -0
- icdev/data/context/simulation/architecture_patterns.json +36 -0
- icdev/data/context/simulation/coa_templates.json +38 -0
- icdev/data/context/simulation/cost_models.json +23 -0
- icdev/data/context/simulation/risk_categories.json +46 -0
- icdev/data/context/supply_chain/__init__.py +1 -0
- icdev/data/context/supply_chain/isa_templates.json +129 -0
- icdev/data/context/supply_chain/nist_800_161_controls.json +247 -0
- icdev/data/context/supply_chain/scrm_risk_matrix.json +147 -0
- icdev/data/context/templates/__init__.py +1 -0
- icdev/data/context/templates/ansible/__init__.py +1 -0
- icdev/data/context/templates/ansible/playbooks/__init__.py +1 -0
- icdev/data/context/templates/ansible/roles/__init__.py +1 -0
- icdev/data/context/templates/gitlab_ci/__init__.py +1 -0
- icdev/data/context/templates/grafana/__init__.py +1 -0
- icdev/data/context/templates/kubernetes/__init__.py +1 -0
- icdev/data/context/templates/project/__init__.py +1 -0
- icdev/data/context/templates/project/api/__init__.py +1 -0
- icdev/data/context/templates/project/cli/__init__.py +1 -0
- icdev/data/context/templates/project/data_pipeline/__init__.py +1 -0
- icdev/data/context/templates/project/iac/__init__.py +1 -0
- icdev/data/context/templates/project/javascript_frontend/__init__.py +1 -0
- icdev/data/context/templates/project/javascript_frontend/src/__init__.py +1 -0
- icdev/data/context/templates/project/javascript_frontend/tests/__init__.py +1 -0
- icdev/data/context/templates/project/microservice/__init__.py +1 -0
- icdev/data/context/templates/project/python_backend/__init__.py +1 -0
- icdev/data/context/templates/project/python_backend/src/__init__.py +1 -0
- icdev/data/context/templates/project/python_backend/tests/__init__.py +1 -0
- icdev/data/context/templates/project/python_backend/tests/features/__init__.py +1 -0
- icdev/data/context/templates/project/python_backend/tests/steps/__init__.py +1 -0
- icdev/data/context/templates/terraform/__init__.py +1 -0
- icdev/data/context/templates/terraform/govcloud_base/__init__.py +1 -0
- icdev/data/context/templates/terraform/modules/__init__.py +1 -0
- icdev/data/context/tone/__init__.py +1 -0
- icdev/data/context/translation/dependency_mappings.json +186 -0
- icdev/data/context/translation/type_mappings.json +149 -0
- icdev/data/docs/README.md +187 -0
- icdev/data/docs/__init__.py +1 -0
- icdev/data/docs/admin/gateway-guide.md +338 -0
- icdev/data/docs/admin/marketplace-guide.md +396 -0
- icdev/data/docs/admin/monitoring-guide.md +509 -0
- icdev/data/docs/architecture/compliance-framework.md +764 -0
- icdev/data/docs/architecture/database-schema.md +689 -0
- icdev/data/docs/architecture/gotcha-framework.md +518 -0
- icdev/data/docs/architecture/multi-agent-system.md +603 -0
- icdev/data/docs/dx/README.md +106 -0
- icdev/data/docs/dx/__init__.py +1 -0
- icdev/data/docs/dx/ci-cd-integration.md +378 -0
- icdev/data/docs/dx/claude-code-guide.md +213 -0
- icdev/data/docs/dx/companion-guide.md +232 -0
- icdev/data/docs/dx/dev-profiles.md +309 -0
- icdev/data/docs/dx/icdev-yaml-spec.md +219 -0
- icdev/data/docs/dx/integration-tiers.md +279 -0
- icdev/data/docs/dx/llm-routing-guide.md +456 -0
- icdev/data/docs/dx/quickstart.md +192 -0
- icdev/data/docs/dx/sdk-reference.md +356 -0
- icdev/data/docs/dx/unified-mcp-setup.md +525 -0
- icdev/data/docs/features/__init__.py +1 -0
- icdev/data/docs/features/phase-01-gotcha-framework.md +249 -0
- icdev/data/docs/features/phase-02-atlas-build-workflow.md +223 -0
- icdev/data/docs/features/phase-03-tdd-bdd-testing.md +261 -0
- icdev/data/docs/features/phase-04-nist-compliance.md +255 -0
- icdev/data/docs/features/phase-05-security-scanning.md +229 -0
- icdev/data/docs/features/phase-06-infrastructure-deployment.md +288 -0
- icdev/data/docs/features/phase-07-code-review-gates.md +276 -0
- icdev/data/docs/features/phase-08-self-healing.md +223 -0
- icdev/data/docs/features/phase-09-monitoring-observability.md +230 -0
- icdev/data/docs/features/phase-10-dashboard-web-ui.md +218 -0
- icdev/data/docs/features/phase-11-multi-agent-architecture.md +272 -0
- icdev/data/docs/features/phase-12-integration-testing.md +228 -0
- icdev/data/docs/features/phase-13-cicd-integration.md +257 -0
- icdev/data/docs/features/phase-14-secure-by-design-ivv.md +240 -0
- icdev/data/docs/features/phase-15-maintenance-audit.md +192 -0
- icdev/data/docs/features/phase-16-ato-acceleration.md +228 -0
- icdev/data/docs/features/phase-17-multi-framework-compliance.md +223 -0
- icdev/data/docs/features/phase-18-mbse-integration.md +242 -0
- icdev/data/docs/features/phase-19-agentic-generation.md +202 -0
- icdev/data/docs/features/phase-20-fips-security-categorization.md +198 -0
- icdev/data/docs/features/phase-21-saas-multi-tenancy.md +273 -0
- icdev/data/docs/features/phase-22-federated-gotcha-marketplace.md +242 -0
- icdev/data/docs/features/phase-23-universal-compliance-platform.md +238 -0
- icdev/data/docs/features/phase-24-devsecops-pipeline-security.md +198 -0
- icdev/data/docs/features/phase-25-zero-trust-architecture.md +220 -0
- icdev/data/docs/features/phase-26-dod-mosa.md +205 -0
- icdev/data/docs/features/phase-27-cli-capabilities.md +222 -0
- icdev/data/docs/features/phase-28-remote-command-gateway.md +235 -0
- icdev/data/docs/features/phase-29-proactive-monitoring.md +212 -0
- icdev/data/docs/features/phase-30-dashboard-auth.md +215 -0
- icdev/data/docs/features/phase-31-dashboard-ux-low-impact.md +188 -0
- icdev/data/docs/features/phase-32-dashboard-ux-medium-impact.md +223 -0
- icdev/data/docs/features/phase-33-modular-installation.md +218 -0
- icdev/data/docs/features/phase-34-dev-profiles.md +239 -0
- icdev/data/docs/features/phase-35-innovation-engine.md +257 -0
- icdev/data/docs/features/phase-36-evolutionary-intelligence.md +351 -0
- icdev/data/docs/features/phase-37-mitre-atlas-integration.md +485 -0
- icdev/data/docs/features/phase-38-cloud-agnostic-architecture.md +1033 -0
- icdev/data/docs/features/phase-39-observability-operations.md +178 -0
- icdev/data/docs/features/phase-40-nlq-compliance-queries.md +176 -0
- icdev/data/docs/features/phase-41-parallel-cicd.md +169 -0
- icdev/data/docs/features/phase-42-framework-planning.md +177 -0
- icdev/data/docs/features/phase-43-cross-language-translation.md +225 -0
- icdev/data/docs/features/phase-44-innovation-adaptation.md +227 -0
- icdev/data/docs/features/phase-45-owasp-agentic-security.md +239 -0
- icdev/data/docs/features/phase-46-observability-traceability-xai.md +240 -0
- icdev/data/docs/features/phase-47-unified-mcp-gateway.md +257 -0
- icdev/data/docs/features/phase-48-ai-transparency.md +203 -0
- icdev/data/docs/features/phase-49-ai-accountability.md +243 -0
- icdev/data/docs/features/phase-50-ai-governance-intake-chat.md +195 -0
- icdev/data/docs/features/phase-51-unified-chat-dashboard.md +240 -0
- icdev/data/docs/features/phase-52-code-intelligence.md +244 -0
- icdev/data/docs/features/phase-53-fedramp-20x-owasp-asi.md +359 -0
- icdev/data/docs/features/phase-54-slsa-swft-orchestration.md +379 -0
- icdev/data/docs/features/phase-55-a2a-v03-mcp-oauth.md +322 -0
- icdev/data/docs/features/phase-56-evidence-lineage.md +352 -0
- icdev/data/docs/features/phase-57-eu-ai-act-iron-bank.md +319 -0
- icdev/data/docs/features/phase-58-creative-engine.md +370 -0
- icdev/data/docs/features/phase-59-govcon-intelligence.md +535 -0
- icdev/data/docs/features/phase-60-cpmp.md +528 -0
- icdev/data/docs/features/phase-61-orchestration-improvements.md +534 -0
- icdev/data/docs/operations/dashboard-guide.md +354 -0
- icdev/data/docs/operations/deployment-guide.md +556 -0
- icdev/data/docs/operations/saas-admin-guide.md +439 -0
- icdev/data/docs/operations/security-operations-guide.md +733 -0
- icdev/data/docs/runbooks/backup-restore.md +412 -0
- icdev/data/docs/runbooks/troubleshooting.md +499 -0
- icdev/data/features/__init__.py +1 -0
- icdev/data/features/cicd_integration.feature +41 -0
- icdev/data/features/compliance_gates.feature +46 -0
- icdev/data/features/dashboard.feature +72 -0
- icdev/data/features/environment.py +25 -0
- icdev/data/features/project_management.feature +32 -0
- icdev/data/features/requirements_intake.feature +42 -0
- icdev/data/features/saas_platform.feature +53 -0
- icdev/data/features/security_scanning.feature +36 -0
- icdev/data/features/steps/__init__.py +1 -0
- icdev/data/features/steps/cicd_steps.py +465 -0
- icdev/data/features/steps/compliance_steps.py +308 -0
- icdev/data/features/steps/dashboard_steps.py +88 -0
- icdev/data/features/steps/project_steps.py +126 -0
- icdev/data/features/steps/requirements_intake_steps.py +689 -0
- icdev/data/features/steps/saas_platform_steps.py +572 -0
- icdev/data/features/steps/security_steps.py +236 -0
- icdev/data/features/steps/testing_steps.py +226 -0
- icdev/data/features/testing_pipeline.feature +42 -0
- icdev/data/goals/__init__.py +1 -0
- icdev/data/goals/agent_management.md +144 -0
- icdev/data/goals/agentic_generation.md +345 -0
- icdev/data/goals/agentic_threat_model.md +309 -0
- icdev/data/goals/ai_accountability.md +90 -0
- icdev/data/goals/ai_governance_intake.md +132 -0
- icdev/data/goals/ai_transparency.md +76 -0
- icdev/data/goals/atlas_integration.md +405 -0
- icdev/data/goals/ato_acceleration.md +139 -0
- icdev/data/goals/boundary_supply_chain.md +206 -0
- icdev/data/goals/build_app.md +544 -0
- icdev/data/goals/cicd_integration.md +86 -0
- icdev/data/goals/claude_dir_maintenance.md +77 -0
- icdev/data/goals/cli_capabilities.md +340 -0
- icdev/data/goals/cloud_agnostic.md +312 -0
- icdev/data/goals/code_intelligence.md +197 -0
- icdev/data/goals/code_review.md +94 -0
- icdev/data/goals/compliance_workflow.md +858 -0
- icdev/data/goals/continuous_harmonization.md +140 -0
- icdev/data/goals/cross_language_translation.md +171 -0
- icdev/data/goals/dashboard.md +142 -0
- icdev/data/goals/deploy_workflow.md +390 -0
- icdev/data/goals/devsecops_workflow.md +408 -0
- icdev/data/goals/evolutionary_intelligence.md +305 -0
- icdev/data/goals/external_integration.md +113 -0
- icdev/data/goals/framework_planning.md +63 -0
- icdev/data/goals/init_project.md +235 -0
- icdev/data/goals/innovation_engine.md +199 -0
- icdev/data/goals/integration_testing.md +189 -0
- icdev/data/goals/maintenance_audit.md +196 -0
- icdev/data/goals/manifest.md +56 -0
- icdev/data/goals/mbse_integration.md +504 -0
- icdev/data/goals/modernization_workflow.md +618 -0
- icdev/data/goals/monitoring.md +126 -0
- icdev/data/goals/mosa_workflow.md +463 -0
- icdev/data/goals/multi_agent_orchestration.md +68 -0
- icdev/data/goals/nlq_compliance.md +63 -0
- icdev/data/goals/observability.md +64 -0
- icdev/data/goals/observability_traceability_xai.md +154 -0
- icdev/data/goals/owasp_agentic_security.md +395 -0
- icdev/data/goals/parallel_cicd.md +61 -0
- icdev/data/goals/requirements_intake.md +213 -0
- icdev/data/goals/sbd_ivv_workflow.md +195 -0
- icdev/data/goals/security_categorization.md +133 -0
- icdev/data/goals/security_scan.md +381 -0
- icdev/data/goals/self_healing.md +120 -0
- icdev/data/goals/simulation_engine.md +111 -0
- icdev/data/goals/tdd_workflow.md +403 -0
- icdev/data/goals/zero_trust_architecture.md +403 -0
- icdev/data/hardprompts/__init__.py +1 -0
- icdev/data/hardprompts/agent/__init__.py +1 -0
- icdev/data/hardprompts/agent/agentic_architect.md +100 -0
- icdev/data/hardprompts/agent/debate_prompt.md +32 -0
- icdev/data/hardprompts/agent/fitness_evaluation.md +48 -0
- icdev/data/hardprompts/agent/governance_review.md +214 -0
- icdev/data/hardprompts/agent/reviewer_prompt.md +34 -0
- icdev/data/hardprompts/agent/skill_design.md +172 -0
- icdev/data/hardprompts/agent/task_decomposition.md +275 -0
- icdev/data/hardprompts/agent/veto_check_prompt.md +33 -0
- icdev/data/hardprompts/architect/__init__.py +1 -0
- icdev/data/hardprompts/architect/api_design.md +283 -0
- icdev/data/hardprompts/architect/data_model.md +277 -0
- icdev/data/hardprompts/architect/system_design.md +180 -0
- icdev/data/hardprompts/builder/__init__.py +1 -0
- icdev/data/hardprompts/builder/code_generation.md +59 -0
- icdev/data/hardprompts/builder/refactor.md +58 -0
- icdev/data/hardprompts/builder/scaffold_project.md +69 -0
- icdev/data/hardprompts/builder/test_generation.md +87 -0
- icdev/data/hardprompts/ci/__init__.py +1 -0
- icdev/data/hardprompts/ci/worktree_setup.md +35 -0
- icdev/data/hardprompts/compliance/__init__.py +1 -0
- icdev/data/hardprompts/compliance/cmmc_assessment.md +63 -0
- icdev/data/hardprompts/compliance/cssp_assessment.md +75 -0
- icdev/data/hardprompts/compliance/cui_marking.md +86 -0
- icdev/data/hardprompts/compliance/fedramp_assessment.md +55 -0
- icdev/data/hardprompts/compliance/ivv_assessment.md +96 -0
- icdev/data/hardprompts/compliance/poam_generation.md +57 -0
- icdev/data/hardprompts/compliance/sbd_assessment.md +101 -0
- icdev/data/hardprompts/compliance/security_categorization.md +74 -0
- icdev/data/hardprompts/compliance/ssp_generation.md +56 -0
- icdev/data/hardprompts/compliance/stig_evaluation.md +63 -0
- icdev/data/hardprompts/dashboard/__init__.py +1 -0
- icdev/data/hardprompts/dashboard/nlq_system_prompt.md +26 -0
- icdev/data/hardprompts/infra/__init__.py +1 -0
- icdev/data/hardprompts/infra/k8s_manifests.md +118 -0
- icdev/data/hardprompts/infra/pipeline_generation.md +160 -0
- icdev/data/hardprompts/infra/terraform_generation.md +92 -0
- icdev/data/hardprompts/integration/__init__.py +1 -0
- icdev/data/hardprompts/integration/approval_review.md +17 -0
- icdev/data/hardprompts/integration/jira_mapping.md +25 -0
- icdev/data/hardprompts/integration/servicenow_mapping.md +14 -0
- icdev/data/hardprompts/knowledge/__init__.py +1 -0
- icdev/data/hardprompts/knowledge/pattern_detection.md +73 -0
- icdev/data/hardprompts/knowledge/recommendation_engine.md +90 -0
- icdev/data/hardprompts/knowledge/root_cause_analysis.md +91 -0
- icdev/data/hardprompts/maintenance/__init__.py +1 -0
- icdev/data/hardprompts/maintenance/maintenance_assessment.md +82 -0
- icdev/data/hardprompts/mbse/__init__.py +1 -0
- icdev/data/hardprompts/mbse/digital_thread.md +67 -0
- icdev/data/hardprompts/mbse/model_import.md +62 -0
- icdev/data/hardprompts/mbse/model_to_code.md +65 -0
- icdev/data/hardprompts/modernization/__init__.py +1 -0
- icdev/data/hardprompts/modernization/legacy_analysis.md +93 -0
- icdev/data/hardprompts/modernization/migration_planning.md +150 -0
- icdev/data/hardprompts/modernization/seven_r_assessment.md +107 -0
- icdev/data/hardprompts/requirements/__init__.py +1 -0
- icdev/data/hardprompts/requirements/bdd_generation.md +35 -0
- icdev/data/hardprompts/requirements/clarification_prioritization.md +29 -0
- icdev/data/hardprompts/requirements/decomposition.md +60 -0
- icdev/data/hardprompts/requirements/document_extraction.md +45 -0
- icdev/data/hardprompts/requirements/gap_detection.md +70 -0
- icdev/data/hardprompts/requirements/intake_conversation.md +101 -0
- icdev/data/hardprompts/requirements/readiness_assessment.md +39 -0
- icdev/data/hardprompts/requirements/spec_quality.md +33 -0
- icdev/data/hardprompts/requirements/traceability_analysis.md +23 -0
- icdev/data/hardprompts/security/__init__.py +1 -0
- icdev/data/hardprompts/security/endpoint_security.md +78 -0
- icdev/data/hardprompts/security/threat_model.md +70 -0
- icdev/data/hardprompts/security/vulnerability_assessment.md +81 -0
- icdev/data/hardprompts/simulation/__init__.py +1 -0
- icdev/data/hardprompts/simulation/architecture_impact.md +27 -0
- icdev/data/hardprompts/simulation/coa_alternative.md +27 -0
- icdev/data/hardprompts/simulation/coa_generation.md +25 -0
- icdev/data/hardprompts/simulation/compliance_impact.md +28 -0
- icdev/data/hardprompts/simulation/cost_estimation.md +33 -0
- icdev/data/hardprompts/simulation/risk_assessment.md +28 -0
- icdev/data/hardprompts/translation/code_translation.md +68 -0
- icdev/data/hardprompts/translation/dependency_suggestion.md +44 -0
- icdev/data/hardprompts/translation/test_translation.md +64 -0
- icdev/data/hardprompts/translation/translation_repair.md +59 -0
- icdev/py.typed +0 -0
- icdev/tools/__init__.py +1 -0
- icdev/tools/_gen_formatter.py +12 -0
- icdev/tools/a2a/__init__.py +1 -0
- icdev/tools/a2a/agent_cards/architect.json +43 -0
- icdev/tools/a2a/agent_cards/builder.json +50 -0
- icdev/tools/a2a/agent_cards/compliance.json +57 -0
- icdev/tools/a2a/agent_cards/devsecops.json +71 -0
- icdev/tools/a2a/agent_cards/infra.json +57 -0
- icdev/tools/a2a/agent_cards/integration.json +57 -0
- icdev/tools/a2a/agent_cards/knowledge.json +43 -0
- icdev/tools/a2a/agent_cards/mbse.json +57 -0
- icdev/tools/a2a/agent_cards/modernization.json +50 -0
- icdev/tools/a2a/agent_cards/monitor.json +43 -0
- icdev/tools/a2a/agent_cards/orchestrator.json +36 -0
- icdev/tools/a2a/agent_cards/requirements_analyst.json +64 -0
- icdev/tools/a2a/agent_cards/security.json +50 -0
- icdev/tools/a2a/agent_cards/simulation.json +57 -0
- icdev/tools/a2a/agent_cards/supply_chain.json +50 -0
- icdev/tools/a2a/agent_client.py +349 -0
- icdev/tools/a2a/agent_registry.py +412 -0
- icdev/tools/a2a/agent_server.py +579 -0
- icdev/tools/a2a/task.py +200 -0
- icdev/tools/agent/__init__.py +2 -0
- icdev/tools/agent/a2a_agent_card_generator.py +285 -0
- icdev/tools/agent/a2a_discovery_server.py +250 -0
- icdev/tools/agent/agent_executor.py +529 -0
- icdev/tools/agent/agent_memory.py +557 -0
- icdev/tools/agent/agent_models.py +51 -0
- icdev/tools/agent/atlas_critique.py +908 -0
- icdev/tools/agent/authority.py +443 -0
- icdev/tools/agent/bedrock_client.py +1075 -0
- icdev/tools/agent/collaboration.py +871 -0
- icdev/tools/agent/dispatcher_mode.py +665 -0
- icdev/tools/agent/mailbox.py +575 -0
- icdev/tools/agent/prompt_chain_executor.py +1064 -0
- icdev/tools/agent/session_purpose.py +350 -0
- icdev/tools/agent/skill_router.py +638 -0
- icdev/tools/agent/skill_selector.py +486 -0
- icdev/tools/agent/team_orchestrator.py +1108 -0
- icdev/tools/agent/token_tracker.py +290 -0
- icdev/tools/analysis/__init__.py +1 -0
- icdev/tools/analysis/code_analyzer.py +780 -0
- icdev/tools/analysis/runtime_feedback.py +389 -0
- icdev/tools/audit/__init__.py +1 -0
- icdev/tools/audit/audit_logger.py +196 -0
- icdev/tools/audit/audit_query.py +157 -0
- icdev/tools/audit/decision_recorder.py +72 -0
- icdev/tools/builder/__init__.py +1 -0
- icdev/tools/builder/agentic_fitness.py +534 -0
- icdev/tools/builder/agentic_test_templates/test_a2a_callback.py +117 -0
- icdev/tools/builder/agentic_test_templates/test_a2a_lifecycle.feature +52 -0
- icdev/tools/builder/agentic_test_templates/test_agent_card.feature +37 -0
- icdev/tools/builder/agentic_test_templates/test_agent_health.py +128 -0
- icdev/tools/builder/agentic_test_templates/test_memory_system.feature +50 -0
- icdev/tools/builder/agentic_test_templates/test_skill_execution.feature +40 -0
- icdev/tools/builder/app_blueprint.py +1583 -0
- icdev/tools/builder/child_app_generator.py +2852 -0
- icdev/tools/builder/claude_md_generator.py +1734 -0
- icdev/tools/builder/code_generator.py +3703 -0
- icdev/tools/builder/db_init_generator.py +1709 -0
- icdev/tools/builder/dev_profile_manager.py +954 -0
- icdev/tools/builder/formatter.py +768 -0
- icdev/tools/builder/goal_adapter.py +592 -0
- icdev/tools/builder/gotcha_validator.py +812 -0
- icdev/tools/builder/language_support.py +441 -0
- icdev/tools/builder/linter.py +976 -0
- icdev/tools/builder/profile_detector.py +657 -0
- icdev/tools/builder/profile_md_generator.py +723 -0
- icdev/tools/builder/scaffolder.py +1590 -0
- icdev/tools/builder/scaffolder_extended.py +1771 -0
- icdev/tools/builder/test_writer.py +950 -0
- icdev/tools/ci/__init__.py +2 -0
- icdev/tools/ci/connectors/__init__.py +2 -0
- icdev/tools/ci/connectors/base_connector.py +80 -0
- icdev/tools/ci/connectors/connector_registry.py +188 -0
- icdev/tools/ci/connectors/mattermost_connector.py +159 -0
- icdev/tools/ci/connectors/slack_connector.py +197 -0
- icdev/tools/ci/core/__init__.py +2 -0
- icdev/tools/ci/core/air_gap_detector.py +115 -0
- icdev/tools/ci/core/comment_handler.py +192 -0
- icdev/tools/ci/core/conversation_manager.py +479 -0
- icdev/tools/ci/core/event_envelope.py +500 -0
- icdev/tools/ci/core/event_router.py +443 -0
- icdev/tools/ci/core/failure_parser.py +397 -0
- icdev/tools/ci/core/recovery_engine.py +527 -0
- icdev/tools/ci/modules/__init__.py +2 -0
- icdev/tools/ci/modules/agent.py +271 -0
- icdev/tools/ci/modules/git_ops.py +175 -0
- icdev/tools/ci/modules/state.py +117 -0
- icdev/tools/ci/modules/vcs.py +303 -0
- icdev/tools/ci/modules/workflow_ops.py +295 -0
- icdev/tools/ci/modules/worktree.py +340 -0
- icdev/tools/ci/pipeline_config_generator.py +558 -0
- icdev/tools/ci/triggers/__init__.py +2 -0
- icdev/tools/ci/triggers/gitlab_task_monitor.py +330 -0
- icdev/tools/ci/triggers/poll_trigger.py +237 -0
- icdev/tools/ci/triggers/webhook_server.py +356 -0
- icdev/tools/ci/workflows/__init__.py +2 -0
- icdev/tools/ci/workflows/icdev_build.py +140 -0
- icdev/tools/ci/workflows/icdev_comply.py +284 -0
- icdev/tools/ci/workflows/icdev_document.py +152 -0
- icdev/tools/ci/workflows/icdev_e2e.py +188 -0
- icdev/tools/ci/workflows/icdev_patch.py +186 -0
- icdev/tools/ci/workflows/icdev_plan.py +202 -0
- icdev/tools/ci/workflows/icdev_plan_build.py +41 -0
- icdev/tools/ci/workflows/icdev_plan_build_test.py +46 -0
- icdev/tools/ci/workflows/icdev_plan_build_test_review.py +47 -0
- icdev/tools/ci/workflows/icdev_review.py +126 -0
- icdev/tools/ci/workflows/icdev_sdlc.py +261 -0
- icdev/tools/ci/workflows/icdev_test.py +240 -0
- icdev/tools/cli/__init__.py +1 -0
- icdev/tools/cli/output_formatter.py +756 -0
- icdev/tools/cli_formatter.py +42 -0
- icdev/tools/cloud/__init__.py +11 -0
- icdev/tools/cloud/cloud_mode_manager.py +364 -0
- icdev/tools/cloud/csp_changelog.py +383 -0
- icdev/tools/cloud/csp_health_checker.py +268 -0
- icdev/tools/cloud/csp_monitor.py +951 -0
- icdev/tools/cloud/iam_provider.py +593 -0
- icdev/tools/cloud/kms_provider.py +346 -0
- icdev/tools/cloud/monitoring_provider.py +628 -0
- icdev/tools/cloud/provider_factory.py +376 -0
- icdev/tools/cloud/region_validator.py +345 -0
- icdev/tools/cloud/registry_provider.py +563 -0
- icdev/tools/cloud/secrets_provider.py +486 -0
- icdev/tools/cloud/storage_provider.py +446 -0
- icdev/tools/compat/__init__.py +21 -0
- icdev/tools/compat/cli_harmonizer.py +251 -0
- icdev/tools/compat/datetime_utils.py +18 -0
- icdev/tools/compat/db_utils.py +160 -0
- icdev/tools/compat/platform_utils.py +123 -0
- icdev/tools/compliance/__init__.py +1 -0
- icdev/tools/compliance/accountability_manager.py +397 -0
- icdev/tools/compliance/ai_accountability_audit.py +294 -0
- icdev/tools/compliance/ai_impact_assessor.py +273 -0
- icdev/tools/compliance/ai_incident_response.py +301 -0
- icdev/tools/compliance/ai_inventory_manager.py +239 -0
- icdev/tools/compliance/ai_reassessment_scheduler.py +256 -0
- icdev/tools/compliance/ai_transparency_audit.py +248 -0
- icdev/tools/compliance/atlas_assessor.py +278 -0
- icdev/tools/compliance/atlas_report_generator.py +1211 -0
- icdev/tools/compliance/base_assessor.py +597 -0
- icdev/tools/compliance/cato_monitor.py +1385 -0
- icdev/tools/compliance/cato_scheduler.py +699 -0
- icdev/tools/compliance/cjis_assessor.py +76 -0
- icdev/tools/compliance/classification_manager.py +1353 -0
- icdev/tools/compliance/cmmc_assessor.py +1491 -0
- icdev/tools/compliance/cmmc_report_generator.py +1100 -0
- icdev/tools/compliance/compliance_detector.py +463 -0
- icdev/tools/compliance/compliance_exporter.py +427 -0
- icdev/tools/compliance/compliance_status.py +825 -0
- icdev/tools/compliance/control_mapper.py +505 -0
- icdev/tools/compliance/crosswalk_engine.py +1203 -0
- icdev/tools/compliance/cssp_assessor.py +1045 -0
- icdev/tools/compliance/cssp_evidence_collector.py +729 -0
- icdev/tools/compliance/cssp_report_generator.py +1116 -0
- icdev/tools/compliance/cui_marker.py +388 -0
- icdev/tools/compliance/diagram_validator.py +600 -0
- icdev/tools/compliance/emass/__init__.py +2 -0
- icdev/tools/compliance/emass/emass_client.py +840 -0
- icdev/tools/compliance/emass/emass_export.py +777 -0
- icdev/tools/compliance/emass/emass_sync.py +826 -0
- icdev/tools/compliance/eu_ai_act_classifier.py +194 -0
- icdev/tools/compliance/evidence_collector.py +468 -0
- icdev/tools/compliance/fairness_assessor.py +316 -0
- icdev/tools/compliance/fedramp_assessor.py +1808 -0
- icdev/tools/compliance/fedramp_authorization_packager.py +137 -0
- icdev/tools/compliance/fedramp_ksi_generator.py +355 -0
- icdev/tools/compliance/fedramp_report_generator.py +1128 -0
- icdev/tools/compliance/fips199_categorizer.py +881 -0
- icdev/tools/compliance/fips200_validator.py +315 -0
- icdev/tools/compliance/gao_ai_assessor.py +231 -0
- icdev/tools/compliance/gao_evidence_builder.py +308 -0
- icdev/tools/compliance/hipaa_assessor.py +78 -0
- icdev/tools/compliance/hitrust_assessor.py +49 -0
- icdev/tools/compliance/incident_response_plan.py +718 -0
- icdev/tools/compliance/iso27001_assessor.py +92 -0
- icdev/tools/compliance/iso42001_assessor.py +114 -0
- icdev/tools/compliance/ivv_assessor.py +2327 -0
- icdev/tools/compliance/ivv_report_generator.py +1662 -0
- icdev/tools/compliance/model_card_generator.py +297 -0
- icdev/tools/compliance/mosa_assessor.py +117 -0
- icdev/tools/compliance/multi_regime_assessor.py +451 -0
- icdev/tools/compliance/narrative_generator.py +1013 -0
- icdev/tools/compliance/nist_800_207_assessor.py +191 -0
- icdev/tools/compliance/nist_ai_600_1_assessor.py +188 -0
- icdev/tools/compliance/nist_ai_rmf_assessor.py +110 -0
- icdev/tools/compliance/nist_lookup.py +245 -0
- icdev/tools/compliance/omb_m25_21_assessor.py +228 -0
- icdev/tools/compliance/omb_m26_04_assessor.py +188 -0
- icdev/tools/compliance/oscal_catalog_adapter.py +395 -0
- icdev/tools/compliance/oscal_generator.py +2170 -0
- icdev/tools/compliance/oscal_tools.py +1182 -0
- icdev/tools/compliance/owasp_agentic_assessor.py +226 -0
- icdev/tools/compliance/owasp_asi_assessor.py +200 -0
- icdev/tools/compliance/owasp_llm_assessor.py +244 -0
- icdev/tools/compliance/pci_dss_assessor.py +80 -0
- icdev/tools/compliance/pi_compliance_tracker.py +1461 -0
- icdev/tools/compliance/poam_generator.py +405 -0
- icdev/tools/compliance/resolve_marking.py +283 -0
- icdev/tools/compliance/sbd_assessor.py +2068 -0
- icdev/tools/compliance/sbd_report_generator.py +1236 -0
- icdev/tools/compliance/sbom_generator.py +1008 -0
- icdev/tools/compliance/siem_config_generator.py +674 -0
- icdev/tools/compliance/slsa_attestation_generator.py +490 -0
- icdev/tools/compliance/soc2_assessor.py +77 -0
- icdev/tools/compliance/ssp_generator.py +573 -0
- icdev/tools/compliance/stig_checker.py +727 -0
- icdev/tools/compliance/swft_evidence_bundler.py +337 -0
- icdev/tools/compliance/system_card_generator.py +309 -0
- icdev/tools/compliance/traceability_matrix.py +1281 -0
- icdev/tools/compliance/universal_classification_manager.py +1172 -0
- icdev/tools/compliance/xacta/__init__.py +2 -0
- icdev/tools/compliance/xacta/xacta_client.py +449 -0
- icdev/tools/compliance/xacta/xacta_export.py +557 -0
- icdev/tools/compliance/xacta/xacta_sync.py +333 -0
- icdev/tools/compliance/xai_assessor.py +231 -0
- icdev/tools/dashboard/__init__.py +1 -0
- icdev/tools/dashboard/api/__init__.py +1 -0
- icdev/tools/dashboard/api/_pipeline_state.py +17 -0
- icdev/tools/dashboard/api/activity.py +206 -0
- icdev/tools/dashboard/api/admin.py +176 -0
- icdev/tools/dashboard/api/agents.py +53 -0
- icdev/tools/dashboard/api/ai_accountability.py +163 -0
- icdev/tools/dashboard/api/ai_transparency.py +198 -0
- icdev/tools/dashboard/api/audit.py +58 -0
- icdev/tools/dashboard/api/batch.py +666 -0
- icdev/tools/dashboard/api/chat.py +241 -0
- icdev/tools/dashboard/api/cicd.py +219 -0
- icdev/tools/dashboard/api/code_quality.py +223 -0
- icdev/tools/dashboard/api/compliance.py +171 -0
- icdev/tools/dashboard/api/cpmp.py +915 -0
- icdev/tools/dashboard/api/diagrams.py +65 -0
- icdev/tools/dashboard/api/events.py +250 -0
- icdev/tools/dashboard/api/evidence.py +99 -0
- icdev/tools/dashboard/api/fedramp_20x.py +77 -0
- icdev/tools/dashboard/api/govcon.py +1095 -0
- icdev/tools/dashboard/api/intake.py +1171 -0
- icdev/tools/dashboard/api/lineage.py +163 -0
- icdev/tools/dashboard/api/metrics.py +155 -0
- icdev/tools/dashboard/api/nlq.py +72 -0
- icdev/tools/dashboard/api/orchestration.py +472 -0
- icdev/tools/dashboard/api/oscal.py +183 -0
- icdev/tools/dashboard/api/prod_audit.py +183 -0
- icdev/tools/dashboard/api/projects.py +191 -0
- icdev/tools/dashboard/api/proposals.py +1084 -0
- icdev/tools/dashboard/api/traces.py +363 -0
- icdev/tools/dashboard/api/usage.py +234 -0
- icdev/tools/dashboard/app.py +1986 -0
- icdev/tools/dashboard/auth.py +500 -0
- icdev/tools/dashboard/byok.py +245 -0
- icdev/tools/dashboard/chat_manager.py +675 -0
- icdev/tools/dashboard/config.py +116 -0
- icdev/tools/dashboard/diagram_definitions.py +642 -0
- icdev/tools/dashboard/nlq_processor.py +323 -0
- icdev/tools/dashboard/phase_loader.py +136 -0
- icdev/tools/dashboard/sse_manager.py +89 -0
- icdev/tools/dashboard/state_tracker.py +267 -0
- icdev/tools/dashboard/static/css/style.css +706 -0
- icdev/tools/dashboard/static/css/ux.css +2047 -0
- icdev/tools/dashboard/static/js/activity.js +322 -0
- icdev/tools/dashboard/static/js/api.js +161 -0
- icdev/tools/dashboard/static/js/batch.js +814 -0
- icdev/tools/dashboard/static/js/charts.js +618 -0
- icdev/tools/dashboard/static/js/chat.js +1514 -0
- icdev/tools/dashboard/static/js/kanban.js +113 -0
- icdev/tools/dashboard/static/js/live.js +569 -0
- icdev/tools/dashboard/static/js/mermaid-icdev.js +332 -0
- icdev/tools/dashboard/static/js/proposals.js +588 -0
- icdev/tools/dashboard/static/js/shortcuts.js +544 -0
- icdev/tools/dashboard/static/js/tables.js +652 -0
- icdev/tools/dashboard/static/js/tour.js +524 -0
- icdev/tools/dashboard/static/js/ux.js +942 -0
- icdev/tools/dashboard/templates/404.html +10 -0
- icdev/tools/dashboard/templates/activity.html +80 -0
- icdev/tools/dashboard/templates/admin/users.html +144 -0
- icdev/tools/dashboard/templates/ai_accountability.html +235 -0
- icdev/tools/dashboard/templates/ai_transparency.html +263 -0
- icdev/tools/dashboard/templates/base.html +104 -0
- icdev/tools/dashboard/templates/batch.html +23 -0
- icdev/tools/dashboard/templates/chat.html +332 -0
- icdev/tools/dashboard/templates/children.html +149 -0
- icdev/tools/dashboard/templates/cicd.html +253 -0
- icdev/tools/dashboard/templates/code_quality.html +214 -0
- icdev/tools/dashboard/templates/cpmp/cor_detail.html +220 -0
- icdev/tools/dashboard/templates/cpmp/cor_portal.html +91 -0
- icdev/tools/dashboard/templates/cpmp/deliverable_detail.html +197 -0
- icdev/tools/dashboard/templates/cpmp/detail.html +578 -0
- icdev/tools/dashboard/templates/cpmp/portfolio.html +202 -0
- icdev/tools/dashboard/templates/dev_profiles.html +304 -0
- icdev/tools/dashboard/templates/diagrams.html +224 -0
- icdev/tools/dashboard/templates/events/timeline.html +232 -0
- icdev/tools/dashboard/templates/evidence.html +134 -0
- icdev/tools/dashboard/templates/fedramp_20x.html +207 -0
- icdev/tools/dashboard/templates/gateway.html +244 -0
- icdev/tools/dashboard/templates/govcon/capabilities.html +135 -0
- icdev/tools/dashboard/templates/govcon/pipeline.html +214 -0
- icdev/tools/dashboard/templates/govcon/requirements.html +120 -0
- icdev/tools/dashboard/templates/index.html +254 -0
- icdev/tools/dashboard/templates/lineage.html +141 -0
- icdev/tools/dashboard/templates/login.html +51 -0
- icdev/tools/dashboard/templates/monitoring/overview.html +193 -0
- icdev/tools/dashboard/templates/orchestration/dashboard.html +545 -0
- icdev/tools/dashboard/templates/oscal.html +263 -0
- icdev/tools/dashboard/templates/phases.html +150 -0
- icdev/tools/dashboard/templates/prod_audit.html +280 -0
- icdev/tools/dashboard/templates/profile.html +183 -0
- icdev/tools/dashboard/templates/projects/detail.html +583 -0
- icdev/tools/dashboard/templates/projects/list.html +47 -0
- icdev/tools/dashboard/templates/proposals/detail.html +1253 -0
- icdev/tools/dashboard/templates/proposals/list.html +179 -0
- icdev/tools/dashboard/templates/proposals/section_detail.html +193 -0
- icdev/tools/dashboard/templates/provenance.html +181 -0
- icdev/tools/dashboard/templates/query/nlq.html +234 -0
- icdev/tools/dashboard/templates/quick_paths.html +69 -0
- icdev/tools/dashboard/templates/traces.html +155 -0
- icdev/tools/dashboard/templates/translation_detail.html +199 -0
- icdev/tools/dashboard/templates/translations.html +162 -0
- icdev/tools/dashboard/templates/usage.html +225 -0
- icdev/tools/dashboard/templates/wizard.html +539 -0
- icdev/tools/dashboard/templates/xai.html +208 -0
- icdev/tools/dashboard/ux_helpers.py +962 -0
- icdev/tools/dashboard/websocket.py +81 -0
- icdev/tools/db/__init__.py +1 -0
- icdev/tools/db/backup.py +312 -0
- icdev/tools/db/backup_manager.py +832 -0
- icdev/tools/db/init_icdev_db.py +5900 -0
- icdev/tools/db/migrate.py +178 -0
- icdev/tools/db/migration_runner.py +549 -0
- icdev/tools/db/migrations/001_baseline/meta.json +9 -0
- icdev/tools/db/migrations/001_baseline/up.py +68 -0
- icdev/tools/db/migrations/002_memory_enhancements/down.sql +8 -0
- icdev/tools/db/migrations/002_memory_enhancements/meta.json +9 -0
- icdev/tools/db/migrations/002_memory_enhancements/up.py +118 -0
- icdev/tools/db/migrations/003_dev_profiles/meta.json +8 -0
- icdev/tools/db/migrations/003_dev_profiles/up.py +93 -0
- icdev/tools/db/migrations/004_innovation_engine/down.py +19 -0
- icdev/tools/db/migrations/004_innovation_engine/up.py +227 -0
- icdev/tools/db/migrations/005_phase_37_ai_security/down.py +19 -0
- icdev/tools/db/migrations/005_phase_37_ai_security/up.py +258 -0
- icdev/tools/db/migrations/006_phase_36_evolution/down.py +21 -0
- icdev/tools/db/migrations/006_phase_36_evolution/up.py +323 -0
- icdev/tools/db/migrations/007_phase_38_cloud/down.py +14 -0
- icdev/tools/db/migrations/007_phase_38_cloud/up.py +110 -0
- icdev/tools/db/migrations/008_phase36_37_integration/up.py +55 -0
- icdev/tools/db/migrations/__init__.py +2 -0
- icdev/tools/devsecops/__init__.py +2 -0
- icdev/tools/devsecops/attestation_manager.py +458 -0
- icdev/tools/devsecops/network_segmentation_generator.py +614 -0
- icdev/tools/devsecops/pdp_config_generator.py +1256 -0
- icdev/tools/devsecops/pipeline_security_generator.py +484 -0
- icdev/tools/devsecops/policy_generator.py +653 -0
- icdev/tools/devsecops/profile_manager.py +388 -0
- icdev/tools/devsecops/service_mesh_generator.py +1073 -0
- icdev/tools/devsecops/zta_maturity_scorer.py +368 -0
- icdev/tools/devsecops/zta_terraform_generator.py +1303 -0
- icdev/tools/dx/__init__.py +3 -0
- icdev/tools/dx/companion.py +266 -0
- icdev/tools/dx/instruction_generator.py +753 -0
- icdev/tools/dx/mcp_config_generator.py +282 -0
- icdev/tools/dx/skill_translator.py +425 -0
- icdev/tools/dx/tool_detector.py +144 -0
- icdev/tools/extensions/__init__.py +21 -0
- icdev/tools/extensions/builtins/010_ai_governance_chat.py +277 -0
- icdev/tools/extensions/builtins/__init__.py +2 -0
- icdev/tools/extensions/extension_manager.py +455 -0
- icdev/tools/infra/__init__.py +1 -0
- icdev/tools/infra/ansible_generator.py +869 -0
- icdev/tools/infra/dockerfile_generator.py +361 -0
- icdev/tools/infra/infra_status.py +393 -0
- icdev/tools/infra/ironbank_metadata_generator.py +411 -0
- icdev/tools/infra/k8s_generator.py +1002 -0
- icdev/tools/infra/pipeline_generator.py +832 -0
- icdev/tools/infra/rollback.py +400 -0
- icdev/tools/infra/terraform_generator.py +1142 -0
- icdev/tools/infra/terraform_generator_azure.py +1254 -0
- icdev/tools/infra/terraform_generator_gcp.py +953 -0
- icdev/tools/infra/terraform_generator_ibm.py +360 -0
- icdev/tools/infra/terraform_generator_oci.py +919 -0
- icdev/tools/infra/terraform_generator_onprem.py +319 -0
- icdev/tools/innovation/__init__.py +8 -0
- icdev/tools/innovation/competitive_intel.py +492 -0
- icdev/tools/innovation/innovation_manager.py +681 -0
- icdev/tools/innovation/introspective_analyzer.py +774 -0
- icdev/tools/innovation/register_external_patterns.py +440 -0
- icdev/tools/innovation/signal_ranker.py +1038 -0
- icdev/tools/innovation/solution_generator.py +697 -0
- icdev/tools/innovation/standards_monitor.py +466 -0
- icdev/tools/innovation/trend_detector.py +1046 -0
- icdev/tools/innovation/triage_engine.py +1149 -0
- icdev/tools/innovation/web_scanner.py +894 -0
- icdev/tools/installer/__init__.py +1 -0
- icdev/tools/installer/compliance_configurator.py +637 -0
- icdev/tools/installer/installer.py +1711 -0
- icdev/tools/installer/module_registry.py +805 -0
- icdev/tools/installer/platform_setup.py +961 -0
- icdev/tools/integration/__init__.py +2 -0
- icdev/tools/integration/approval_manager.py +561 -0
- icdev/tools/integration/doors_exporter.py +627 -0
- icdev/tools/integration/gitlab_connector.py +784 -0
- icdev/tools/integration/jira_connector.py +774 -0
- icdev/tools/integration/servicenow_connector.py +693 -0
- icdev/tools/knowledge/__init__.py +1 -0
- icdev/tools/knowledge/knowledge_ingest.py +293 -0
- icdev/tools/knowledge/pattern_detector.py +693 -0
- icdev/tools/knowledge/recommendation_engine.py +461 -0
- icdev/tools/knowledge/self_heal_analyzer.py +504 -0
- icdev/tools/llm/__init__.py +72 -0
- icdev/tools/llm/anthropic_provider.py +170 -0
- icdev/tools/llm/azure_openai_provider.py +338 -0
- icdev/tools/llm/bedrock_provider.py +315 -0
- icdev/tools/llm/embedding_provider.py +438 -0
- icdev/tools/llm/gemini_provider.py +381 -0
- icdev/tools/llm/ibm_watsonx_provider.py +232 -0
- icdev/tools/llm/oci_genai_provider.py +462 -0
- icdev/tools/llm/ollama_provider.py +340 -0
- icdev/tools/llm/openai_provider.py +225 -0
- icdev/tools/llm/provider.py +355 -0
- icdev/tools/llm/provider_sdk.py +175 -0
- icdev/tools/llm/router.py +780 -0
- icdev/tools/llm/vertex_ai_provider.py +374 -0
- icdev/tools/maintenance/__init__.py +2 -0
- icdev/tools/maintenance/dependency_scanner.py +1030 -0
- icdev/tools/maintenance/maintenance_auditor.py +815 -0
- icdev/tools/maintenance/remediation_engine.py +966 -0
- icdev/tools/maintenance/vulnerability_checker.py +987 -0
- icdev/tools/mbse/__init__.py +3 -0
- icdev/tools/mbse/des_assessor.py +1186 -0
- icdev/tools/mbse/des_report_generator.py +800 -0
- icdev/tools/mbse/diagram_extractor.py +811 -0
- icdev/tools/mbse/digital_thread.py +1665 -0
- icdev/tools/mbse/model_code_generator.py +1122 -0
- icdev/tools/mbse/model_control_mapper.py +420 -0
- icdev/tools/mbse/pi_model_tracker.py +1093 -0
- icdev/tools/mbse/reqif_parser.py +1483 -0
- icdev/tools/mbse/sync_engine.py +1805 -0
- icdev/tools/mbse/xmi_parser.py +1573 -0
- icdev/tools/mcp/__init__.py +1 -0
- icdev/tools/mcp/base_server.py +535 -0
- icdev/tools/mcp/builder_server.py +725 -0
- icdev/tools/mcp/compliance_server.py +1407 -0
- icdev/tools/mcp/context_indexer.py +199 -0
- icdev/tools/mcp/context_server.py +305 -0
- icdev/tools/mcp/core_server.py +679 -0
- icdev/tools/mcp/devsecops_server.py +432 -0
- icdev/tools/mcp/gap_handlers.py +1079 -0
- icdev/tools/mcp/gateway_server.py +339 -0
- icdev/tools/mcp/generate_registry.py +623 -0
- icdev/tools/mcp/infra_server.py +264 -0
- icdev/tools/mcp/innovation_server.py +316 -0
- icdev/tools/mcp/integration_server.py +527 -0
- icdev/tools/mcp/knowledge_server.py +429 -0
- icdev/tools/mcp/maintenance_server.py +248 -0
- icdev/tools/mcp/marketplace_server.py +499 -0
- icdev/tools/mcp/mbse_server.py +398 -0
- icdev/tools/mcp/modernization_server.py +496 -0
- icdev/tools/mcp/observability_server.py +354 -0
- icdev/tools/mcp/requirements_server.py +415 -0
- icdev/tools/mcp/simulation_server.py +468 -0
- icdev/tools/mcp/standalone/__init__.py +2 -0
- icdev/tools/mcp/standalone/builder.py +59 -0
- icdev/tools/mcp/standalone/compliance.py +59 -0
- icdev/tools/mcp/standalone/core.py +59 -0
- icdev/tools/mcp/standalone/knowledge.py +59 -0
- icdev/tools/mcp/standalone/maintenance.py +59 -0
- icdev/tools/mcp/supply_chain_server.py +476 -0
- icdev/tools/mcp/tool_registry.py +2008 -0
- icdev/tools/mcp/unified_server.py +158 -0
- icdev/tools/memory/__init__.py +2 -0
- icdev/tools/memory/auto_capture.py +347 -0
- icdev/tools/memory/embed_memory.py +158 -0
- icdev/tools/memory/history_compressor.py +334 -0
- icdev/tools/memory/hybrid_search.py +236 -0
- icdev/tools/memory/maintenance_cron.py +289 -0
- icdev/tools/memory/memory_consolidation.py +444 -0
- icdev/tools/memory/memory_db.py +133 -0
- icdev/tools/memory/memory_read.py +102 -0
- icdev/tools/memory/memory_write.py +222 -0
- icdev/tools/memory/semantic_search.py +139 -0
- icdev/tools/memory/time_decay.py +435 -0
- icdev/tools/modernization/__init__.py +3 -0
- icdev/tools/modernization/architecture_extractor.py +734 -0
- icdev/tools/modernization/compliance_bridge.py +1499 -0
- icdev/tools/modernization/db_migration_planner.py +1385 -0
- icdev/tools/modernization/doc_generator.py +1428 -0
- icdev/tools/modernization/framework_migrator.py +1525 -0
- icdev/tools/modernization/legacy_analyzer.py +1948 -0
- icdev/tools/modernization/migration_code_generator.py +1639 -0
- icdev/tools/modernization/migration_report_generator.py +1653 -0
- icdev/tools/modernization/migration_tracker.py +1726 -0
- icdev/tools/modernization/monolith_decomposer.py +1508 -0
- icdev/tools/modernization/seven_r_assessor.py +1658 -0
- icdev/tools/modernization/strangler_fig_manager.py +1705 -0
- icdev/tools/modernization/ui_analyzer.py +771 -0
- icdev/tools/modernization/version_migrator.py +1392 -0
- icdev/tools/monitor/__init__.py +1 -0
- icdev/tools/monitor/alert_correlator.py +495 -0
- icdev/tools/monitor/auto_resolver.py +612 -0
- icdev/tools/monitor/health_checker.py +509 -0
- icdev/tools/monitor/heartbeat_daemon.py +792 -0
- icdev/tools/monitor/log_analyzer.py +516 -0
- icdev/tools/monitor/metric_collector.py +496 -0
- icdev/tools/mosa/__init__.py +10 -0
- icdev/tools/mosa/icd_generator.py +370 -0
- icdev/tools/mosa/modular_design_analyzer.py +683 -0
- icdev/tools/mosa/mosa_code_enforcer.py +349 -0
- icdev/tools/mosa/tsp_generator.py +265 -0
- icdev/tools/observability/__init__.py +100 -0
- icdev/tools/observability/genai_attributes.py +88 -0
- icdev/tools/observability/instrumentation.py +140 -0
- icdev/tools/observability/mlflow_exporter.py +194 -0
- icdev/tools/observability/otel_tracer.py +168 -0
- icdev/tools/observability/provenance/__init__.py +3 -0
- icdev/tools/observability/provenance/prov_recorder.py +324 -0
- icdev/tools/observability/shap/__init__.py +3 -0
- icdev/tools/observability/shap/agent_shap.py +275 -0
- icdev/tools/observability/sqlite_tracer.py +361 -0
- icdev/tools/observability/trace_context.py +205 -0
- icdev/tools/observability/tracer.py +230 -0
- icdev/tools/orchestration/__init__.py +2 -0
- icdev/tools/orchestration/workflow_composer.py +361 -0
- icdev/tools/project/__init__.py +1 -0
- icdev/tools/project/manifest_loader.py +418 -0
- icdev/tools/project/project_create.py +350 -0
- icdev/tools/project/project_list.py +174 -0
- icdev/tools/project/project_scaffold.py +1715 -0
- icdev/tools/project/project_status.py +479 -0
- icdev/tools/project/session_context_builder.py +757 -0
- icdev/tools/project/validate_manifest.py +55 -0
- icdev/tools/registry/__init__.py +10 -0
- icdev/tools/registry/absorption_engine.py +832 -0
- icdev/tools/registry/capability_evaluator.py +668 -0
- icdev/tools/registry/child_registry.py +617 -0
- icdev/tools/registry/cross_pollinator.py +1065 -0
- icdev/tools/registry/genome_manager.py +671 -0
- icdev/tools/registry/learning_collector.py +912 -0
- icdev/tools/registry/propagation_manager.py +942 -0
- icdev/tools/registry/staging_manager.py +742 -0
- icdev/tools/registry/telemetry_collector.py +423 -0
- icdev/tools/requirements/__init__.py +1 -0
- icdev/tools/requirements/ai_governance_scorer.py +208 -0
- icdev/tools/requirements/boundary_analyzer.py +1293 -0
- icdev/tools/requirements/clarification_engine.py +618 -0
- icdev/tools/requirements/complexity_scorer.py +387 -0
- icdev/tools/requirements/consistency_analyzer.py +803 -0
- icdev/tools/requirements/constitution_manager.py +605 -0
- icdev/tools/requirements/decomposition_engine.py +778 -0
- icdev/tools/requirements/document_extractor.py +1016 -0
- icdev/tools/requirements/elicitation_techniques.py +519 -0
- icdev/tools/requirements/gap_detector.py +271 -0
- icdev/tools/requirements/intake_engine.py +2188 -0
- icdev/tools/requirements/prd_generator.py +847 -0
- icdev/tools/requirements/prd_validator.py +595 -0
- icdev/tools/requirements/readiness_scorer.py +313 -0
- icdev/tools/requirements/spec_organizer.py +1029 -0
- icdev/tools/requirements/spec_quality_checker.py +1097 -0
- icdev/tools/requirements/traceability_builder.py +579 -0
- icdev/tools/resilience/__init__.py +34 -0
- icdev/tools/resilience/circuit_breaker.py +340 -0
- icdev/tools/resilience/correlation.py +150 -0
- icdev/tools/resilience/errors.py +81 -0
- icdev/tools/resilience/retry.py +95 -0
- icdev/tools/schemas/__init__.py +27 -0
- icdev/tools/schemas/chat.py +61 -0
- icdev/tools/schemas/compliance.py +56 -0
- icdev/tools/schemas/core.py +85 -0
- icdev/tools/schemas/innovation.py +37 -0
- icdev/tools/schemas/validation.py +109 -0
- icdev/tools/sdk/__init__.py +3 -0
- icdev/tools/sdk/icdev_client.py +218 -0
- icdev/tools/security/__init__.py +1 -0
- icdev/tools/security/agent_output_validator.py +330 -0
- icdev/tools/security/agent_trust_scorer.py +466 -0
- icdev/tools/security/ai_bom_generator.py +725 -0
- icdev/tools/security/ai_telemetry_logger.py +469 -0
- icdev/tools/security/atlas_red_team.py +543 -0
- icdev/tools/security/code_pattern_scanner.py +378 -0
- icdev/tools/security/confabulation_detector.py +271 -0
- icdev/tools/security/container_scanner.py +491 -0
- icdev/tools/security/dependency_auditor.py +944 -0
- icdev/tools/security/endpoint_security_scanner.py +579 -0
- icdev/tools/security/mcp_tool_authorizer.py +243 -0
- icdev/tools/security/prompt_injection_detector.py +737 -0
- icdev/tools/security/sast_runner.py +948 -0
- icdev/tools/security/secret_detector.py +378 -0
- icdev/tools/security/tool_chain_validator.py +357 -0
- icdev/tools/security/vuln_scanner.py +539 -0
- icdev/tools/simulation/__init__.py +2 -0
- icdev/tools/simulation/coa_generator.py +1552 -0
- icdev/tools/simulation/monte_carlo.py +758 -0
- icdev/tools/simulation/scenario_manager.py +1073 -0
- icdev/tools/simulation/simulation_engine.py +1104 -0
- icdev/tools/supply_chain/__init__.py +2 -0
- icdev/tools/supply_chain/cve_triager.py +705 -0
- icdev/tools/supply_chain/dependency_graph.py +645 -0
- icdev/tools/supply_chain/isa_manager.py +540 -0
- icdev/tools/supply_chain/scrm_assessor.py +546 -0
- icdev/tools/testing/__init__.py +2 -0
- icdev/tools/testing/acceptance_validator.py +411 -0
- icdev/tools/testing/claude_dir_validator.py +831 -0
- icdev/tools/testing/data_types.py +199 -0
- icdev/tools/testing/e2e_runner.py +715 -0
- icdev/tools/testing/fuzz_cli.py +306 -0
- icdev/tools/testing/health_check.py +483 -0
- icdev/tools/testing/platform_check.py +143 -0
- icdev/tools/testing/production_audit.py +1862 -0
- icdev/tools/testing/production_remediate.py +804 -0
- icdev/tools/testing/screenshot_validator.py +539 -0
- icdev/tools/testing/smoke_test.py +283 -0
- icdev/tools/testing/test_agent_models.py +117 -0
- icdev/tools/testing/test_orchestrator.py +957 -0
- icdev/tools/testing/utils.py +229 -0
- icdev/tools/translation/__init__.py +17 -0
- icdev/tools/translation/code_translator.py +550 -0
- icdev/tools/translation/dependency_mapper.py +277 -0
- icdev/tools/translation/feature_map.py +395 -0
- icdev/tools/translation/project_assembler.py +439 -0
- icdev/tools/translation/source_extractor.py +609 -0
- icdev/tools/translation/test_translator.py +333 -0
- icdev/tools/translation/translation_manager.py +582 -0
- icdev/tools/translation/translation_validator.py +662 -0
- icdev/tools/translation/type_checker.py +371 -0
- icdev-1.0.0.dist-info/METADATA +868 -0
- icdev-1.0.0.dist-info/RECORD +1105 -0
- icdev-1.0.0.dist-info/WHEEL +5 -0
- icdev-1.0.0.dist-info/entry_points.txt +9 -0
- icdev-1.0.0.dist-info/licenses/LICENSE +254 -0
- icdev-1.0.0.dist-info/licenses/NOTICE +268 -0
- icdev-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# Phase 26 — DoD Modular Open Systems Approach (MOSA)
|
|
2
|
+
|
|
3
|
+
**CUI // SP-CTI**
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| Phase | 26 |
|
|
8
|
+
| Title | DoD Modular Open Systems Approach (MOSA) |
|
|
9
|
+
| Status | Implemented |
|
|
10
|
+
| Priority | P1 |
|
|
11
|
+
| Dependencies | Phase 20 (Security Categorization), Phase 23 (Universal Compliance Platform) |
|
|
12
|
+
| Author | ICDEV Architect Agent |
|
|
13
|
+
| Date | 2026-02-23 |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem Statement
|
|
18
|
+
|
|
19
|
+
10 U.S.C. Section 4401 mandates the Modular Open Systems Approach (MOSA) for all major defense acquisition programs, and DoDI 5000.87 reinforces this requirement for software-intensive systems on the Software Acquisition Pathway. Systems that fail to demonstrate modular design, open interfaces, and published standards risk acquisition milestone disapproval, vendor lock-in, and inability to integrate with future DoD enterprise services. Despite this mandate, most development teams treat MOSA as a last-minute documentation exercise rather than a continuous engineering practice, producing Interface Control Documents and Technical Standard Profiles that do not reflect the actual codebase.
|
|
20
|
+
|
|
21
|
+
Prior to this phase, ICDEV had no mechanism to assess MOSA compliance, analyze modularity metrics (coupling, cohesion, circular dependencies), auto-generate ICDs from discovered interfaces, produce TSPs from detected technology standards, or enforce modular code structure through static analysis. MOSA-relevant requirements detected during intake had no workflow to follow, and there was no way to feed architecture evidence into the cATO pipeline for continuous authorization. DoD/IC customers were manually creating MOSA artifacts disconnected from the code they described.
|
|
22
|
+
|
|
23
|
+
Phase 26 implements MOSA as a full compliance framework using the BaseAssessor pattern (D116), with 25 requirements across 6 families (Modularity, Open Interfaces, Standards Compliance, Interoperability, Reusability, Maintainability). It auto-detects MOSA applicability during RICOAS intake for all DoD/IC customers at IL4+, performs static analysis for coupling/cohesion/circular dependency metrics, auto-generates ICDs from OpenAPI/gRPC/REST endpoints, produces TSPs from the detected technology stack, enforces MOSA-compliant code structure, and optionally feeds architecture evidence into the cATO pipeline.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Goals
|
|
28
|
+
|
|
29
|
+
1. **Auto-detect MOSA applicability** during RICOAS intake for DoD/IC customers at IL4+, with keyword detection for MOSA-specific terminology and DoDI 5000.87 references
|
|
30
|
+
2. Assess **25 MOSA requirements** across 6 families (Modularity, Open Interfaces, Standards Compliance, Interoperability, Reusability, Maintainability) via the BaseAssessor pattern
|
|
31
|
+
3. Perform **static modularity analysis** computing coupling scores, cohesion scores (LCOM), interface coverage, circular dependency detection, and module independence ratios
|
|
32
|
+
4. **Auto-generate Interface Control Documents** for all external-facing interfaces discovered from OpenAPI specs, gRPC proto files, WSDL, and REST endpoints, with NIST 800-53 control mappings
|
|
33
|
+
5. **Auto-generate Technical Standard Profiles** from the detected technology stack, flagging proprietary or non-standard technologies for review
|
|
34
|
+
6. **Enforce MOSA-compliant code structure** through static analysis detecting tight coupling violations, boundary violations, missing interface specs, hardcoded dependencies, and circular imports
|
|
35
|
+
7. Integrate MOSA architecture evidence (SA-3, SA-8, SA-17) into the **cATO monitoring pipeline** as an optional evidence dimension
|
|
36
|
+
8. Store modularity metrics as **time-series data** for trend tracking and PI-over-PI improvement visualization
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 3. Architecture
|
|
41
|
+
|
|
42
|
+
### 3.1 MOSA Assessment Flow
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Intake Session (RICOAS)
|
|
46
|
+
|
|
|
47
|
+
v
|
|
48
|
+
MOSA Signal Detection
|
|
49
|
+
|-- DoD/IC customer + IL4+ -> MOSA REQUIRED (auto-trigger)
|
|
50
|
+
|-- DoD/IC customer + IL2/IL3 -> MOSA RECOMMENDED (advisory)
|
|
51
|
+
|-- Non-DoD -> MOSA NOT REQUIRED (skip)
|
|
52
|
+
|
|
|
53
|
+
v
|
|
54
|
+
MOSA Compliance Assessment (25 requirements / 6 families)
|
|
55
|
+
|
|
|
56
|
+
v
|
|
57
|
+
Modularity Analysis (coupling, cohesion, circular deps, interface coverage)
|
|
58
|
+
|
|
|
59
|
+
+---> ICD Generation (auto-discover from OpenAPI/gRPC/REST)
|
|
60
|
+
+---> TSP Generation (auto-detect standards from tech stack)
|
|
61
|
+
+---> Code Enforcement (static analysis for MOSA violations)
|
|
62
|
+
|
|
|
63
|
+
v
|
|
64
|
+
MOSA Gate Evaluation
|
|
65
|
+
|-- PASS -> proceed to deployment
|
|
66
|
+
|-- FAIL -> remediate blocking criteria -> re-run gate
|
|
67
|
+
|
|
|
68
|
+
v
|
|
69
|
+
cATO Evidence (optional, SA-3, SA-8, SA-17)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 3.2 MOSA Requirement Families
|
|
73
|
+
|
|
74
|
+
| Family | Requirements | Focus |
|
|
75
|
+
|--------|-------------|-------|
|
|
76
|
+
| Modularity | 5 | Loose coupling, high cohesion, separation of concerns, encapsulation, composability |
|
|
77
|
+
| Open Interfaces | 5 | Published APIs, standard protocols, documentation, backward compatibility, versioning |
|
|
78
|
+
| Standards Compliance | 4 | Adherence to approved TSP standards, no proprietary lock-in, open data formats |
|
|
79
|
+
| Interoperability | 4 | Cross-system data exchange, standard messaging, service discovery, federation |
|
|
80
|
+
| Reusability | 4 | Component reuse, packaging, dependency isolation, externalized configuration |
|
|
81
|
+
| Maintainability | 3 | Independent deployment, hot-swap capability, technology refresh readiness |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 4. Requirements
|
|
86
|
+
|
|
87
|
+
### 4.1 Detection
|
|
88
|
+
|
|
89
|
+
#### REQ-26-001: MOSA Auto-Detection
|
|
90
|
+
The system SHALL auto-detect MOSA applicability during RICOAS intake when the customer organization is DoD/IC and impact level is IL4+, triggering the MOSA workflow automatically.
|
|
91
|
+
|
|
92
|
+
#### REQ-26-002: Keyword Detection
|
|
93
|
+
The system SHALL detect MOSA-specific signals including terminology ("modular," "open architecture," "MOSA," "interoperability"), DoDI 5000.87 or 10 U.S.C. 4401 references, and existing ICD/TSP document references.
|
|
94
|
+
|
|
95
|
+
### 4.2 Assessment
|
|
96
|
+
|
|
97
|
+
#### REQ-26-003: 25-Requirement Assessment
|
|
98
|
+
The system SHALL assess 25 MOSA requirements organized across 6 families with per-requirement status (satisfied, partial, not_satisfied, not_assessed).
|
|
99
|
+
|
|
100
|
+
#### REQ-26-004: Modularity Metrics
|
|
101
|
+
The system SHALL compute modularity metrics via static analysis: afferent/efferent coupling per module, LCOM cohesion score, interface coverage percentage, circular dependency detection, and module independence ratio.
|
|
102
|
+
|
|
103
|
+
#### REQ-26-005: Time-Series Metrics
|
|
104
|
+
The system SHALL store modularity metrics as time-series data in the `mosa_modularity_metrics` table for trend tracking across PIs.
|
|
105
|
+
|
|
106
|
+
### 4.3 Artifact Generation
|
|
107
|
+
|
|
108
|
+
#### REQ-26-006: ICD Auto-Generation
|
|
109
|
+
The system SHALL auto-discover external-facing interfaces from OpenAPI/Swagger specs, gRPC proto files, WSDL, and REST endpoints, generating an ICD per interface with protocol, data format, authentication, versioning, SLA, error handling, and NIST control mappings (SC-7, SC-8, SA-9).
|
|
110
|
+
|
|
111
|
+
#### REQ-26-007: TSP Auto-Generation
|
|
112
|
+
The system SHALL auto-detect standards from the technology stack and generate a Technical Standard Profile documenting all communication protocols, data formats, authentication methods, encryption standards, and API specifications, flagging proprietary or non-standard technologies.
|
|
113
|
+
|
|
114
|
+
#### REQ-26-008: Code Enforcement
|
|
115
|
+
The system SHALL scan the codebase for MOSA violations including tight coupling (direct cross-module imports bypassing interfaces), boundary violations, missing interface specs, hardcoded dependencies, and circular imports, generating fix suggestions for each violation.
|
|
116
|
+
|
|
117
|
+
### 4.4 Integration
|
|
118
|
+
|
|
119
|
+
#### REQ-26-009: cATO Evidence (Optional)
|
|
120
|
+
When `mosa_config.yaml` has `cato_integration.enabled: true`, the system SHALL collect MOSA architecture evidence for continuous authorization covering SA-3 (SDLC), SA-8 (Security Engineering Principles), and SA-17 (Architecture and Design).
|
|
121
|
+
|
|
122
|
+
#### REQ-26-010: Non-DoD Advisory Mode
|
|
123
|
+
For non-DoD projects, MOSA SHALL be available on-demand via `/icdev-mosa` in advisory mode (gate does not block deployment).
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 5. Database Schema
|
|
128
|
+
|
|
129
|
+
### Tables
|
|
130
|
+
|
|
131
|
+
| Table | Purpose |
|
|
132
|
+
|-------|---------|
|
|
133
|
+
| `mosa_assessments` | MOSA compliance assessment results (25 requirements, 6 families) |
|
|
134
|
+
| `icd_documents` | Generated Interface Control Documents per interface |
|
|
135
|
+
| `tsp_documents` | Generated Technical Standard Profiles |
|
|
136
|
+
| `mosa_modularity_metrics` | Time-series modularity metrics (coupling, cohesion, deps, coverage) |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 6. Tools
|
|
141
|
+
|
|
142
|
+
| Tool | Purpose |
|
|
143
|
+
|------|---------|
|
|
144
|
+
| `tools/compliance/mosa_assessor.py` | MOSA assessment (25 reqs / 6 families) and gate evaluation |
|
|
145
|
+
| `tools/mosa/modular_design_analyzer.py` | Static modularity analysis (coupling, cohesion, circular deps) |
|
|
146
|
+
| `tools/mosa/icd_generator.py` | Auto-generate ICDs from discovered interfaces |
|
|
147
|
+
| `tools/mosa/tsp_generator.py` | Auto-generate TSP from detected technology stack |
|
|
148
|
+
| `tools/mosa/mosa_code_enforcer.py` | Static analysis for MOSA code violations with fix suggestions |
|
|
149
|
+
| `tools/compliance/cato_monitor.py` | cATO evidence integration (extended for MOSA) |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 7. Architecture Decisions
|
|
154
|
+
|
|
155
|
+
| ID | Decision | Rationale |
|
|
156
|
+
|----|----------|-----------|
|
|
157
|
+
| D125 | MOSA auto-triggers for all DoD/IC projects at IL4+ | 10 U.S.C. 4401 mandate; no opt-out for applicable programs |
|
|
158
|
+
| D126 | Software development principles only (no FACE/VICTORY/SOSA hardware profiles) | Hardware MOSA is out of scope for a software-focused platform |
|
|
159
|
+
| D127 | Full compliance framework via BaseAssessor pattern (D116) | Crosswalk integration, gate evaluation, CLI for ~60 LOC per framework |
|
|
160
|
+
| D128 | ICD and TSP as generated artifacts (auto-discovered from code) | Documents reflect actual codebase, not manually authored assumptions |
|
|
161
|
+
| D129 | Static analysis for enforcement using Python ast, import graph, regex (D13) | Air-gap safe, zero external dependencies, deterministic |
|
|
162
|
+
| D130 | cATO evidence is optional (config flag) | Not all projects use cATO; evidence collection should not be forced |
|
|
163
|
+
| D131 | Modularity metrics stored as time-series | Enables trend tracking and PI-over-PI improvement visualization |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 8. Security Gate
|
|
168
|
+
|
|
169
|
+
**MOSA Gate:**
|
|
170
|
+
- 0 external interfaces without an ICD (blocking)
|
|
171
|
+
- 0 circular module dependencies (blocking)
|
|
172
|
+
- Modularity score >= 0.6 (blocking)
|
|
173
|
+
- 0 direct coupling violations (blocking at > 5)
|
|
174
|
+
- Interface coverage >= 80% (warning)
|
|
175
|
+
- TSP generated and current (blocking)
|
|
176
|
+
- 0 proprietary standards without documented justification (warning)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## 9. Commands
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
# MOSA assessment
|
|
184
|
+
python tools/compliance/mosa_assessor.py --project-id "proj-123" --json
|
|
185
|
+
python tools/compliance/mosa_assessor.py --project-id "proj-123" --gate
|
|
186
|
+
|
|
187
|
+
# Modularity analysis
|
|
188
|
+
python tools/mosa/modular_design_analyzer.py --project-dir /path \
|
|
189
|
+
--project-id "proj-123" --store --json
|
|
190
|
+
|
|
191
|
+
# ICD generation
|
|
192
|
+
python tools/mosa/icd_generator.py --project-id "proj-123" --all --json
|
|
193
|
+
python tools/mosa/icd_generator.py --project-id "proj-123" \
|
|
194
|
+
--interface-id "iface-1" --json
|
|
195
|
+
|
|
196
|
+
# TSP generation
|
|
197
|
+
python tools/mosa/tsp_generator.py --project-id "proj-123" --json
|
|
198
|
+
|
|
199
|
+
# Code enforcement
|
|
200
|
+
python tools/mosa/mosa_code_enforcer.py --project-dir /path \
|
|
201
|
+
--fix-suggestions --json
|
|
202
|
+
|
|
203
|
+
# cATO MOSA evidence
|
|
204
|
+
python tools/compliance/cato_monitor.py --project-id "proj-123" --mosa-evidence
|
|
205
|
+
```
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Phase 27 — CLI Capabilities
|
|
2
|
+
|
|
3
|
+
**CUI // SP-CTI**
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| Phase | 27 |
|
|
8
|
+
| Title | Optional Claude Code CLI Capabilities |
|
|
9
|
+
| Status | Implemented |
|
|
10
|
+
| Priority | P2 |
|
|
11
|
+
| Dependencies | Phase 21 (SaaS Multi-Tenancy), Phase 15 (CI/CD Integration) |
|
|
12
|
+
| Author | ICDEV Architect Agent |
|
|
13
|
+
| Date | 2026-02-23 |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem Statement
|
|
18
|
+
|
|
19
|
+
The VSCode extension and the Claude Code CLI use the same engine (same model, same tools, same capabilities), but the CLI unlocks headless, scripted, parallel, and containerized execution modes that certain environments require. Forcing CLI capabilities on all customers creates friction for teams that prefer GUI-based workflows, while disabling CLI everywhere limits power users who need automated pipeline integration, batch document processing, or concurrent agent execution. Without independent toggles, every project must either accept all CLI capabilities or none, and there is no mechanism to enforce organizational limits on token consumption or concurrent invocations.
|
|
20
|
+
|
|
21
|
+
In SaaS multi-tenant deployments, different subscription tiers should grant different CLI capability ceilings: a Starter tier customer should not be able to enable container-based agent execution (which requires dedicated K8s resources), while an Enterprise tier customer should have access to all four capabilities. Without tenant-level ceilings, subscription tiers lose meaningful differentiation for power users, and cost controls become unenforceable across the organization. Projects within a tenant also need different configurations: a CI/CD pipeline project needs automation enabled, while a requirements gathering project only needs scripted intake.
|
|
22
|
+
|
|
23
|
+
Phase 27 introduces four independently toggleable CLI capabilities (CI/CD pipeline automation, parallel agent execution, container-based execution, scripted batch intake) with per-project configuration and tenant-level ceilings in SaaS deployments. Each capability has clear prerequisites, environment requirements, and cost controls. Auto-detection checks CLI availability on first use and falls back gracefully when the CLI is not installed or API credentials are unavailable.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Goals
|
|
28
|
+
|
|
29
|
+
1. Define **4 independently toggleable CLI capabilities** (CI/CD automation, parallel agents, container execution, scripted intake) that extend the standard VSCode extension experience
|
|
30
|
+
2. Enforce **tenant-level ceilings** in SaaS deployments so subscription tiers control the maximum CLI capabilities available to any project within the organization
|
|
31
|
+
3. Implement **per-project configuration** via `args/cli_config.yaml` where each capability is enabled/disabled with capability-specific settings
|
|
32
|
+
4. Provide **cost controls** (daily token budgets, hourly invocation limits, alert thresholds) to prevent runaway API consumption from automated CLI usage
|
|
33
|
+
5. **Auto-detect CLI availability** on first use, checking for CLI installation, API credentials, and network connectivity to LLM endpoints
|
|
34
|
+
6. Provide **clear decision guidance** per persona (developer, PM, ISSO, DevOps engineer, system integrator) on which capabilities to enable
|
|
35
|
+
7. Support **air-gapped environments** where CLI routes to local Ollama via `prefer_local: true` in `llm_config.yaml`
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 3. Architecture
|
|
40
|
+
|
|
41
|
+
### 3.1 Capability Overview
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
+-----------------------------------------------------------------------+
|
|
45
|
+
| Claude Code CLI Capabilities |
|
|
46
|
+
| |
|
|
47
|
+
| +-------------------+ +-------------------+ |
|
|
48
|
+
| | CI/CD Automation | | Parallel Agents | |
|
|
49
|
+
| | (pipeline stages) | | (concurrent SDLC) | |
|
|
50
|
+
| +-------------------+ +-------------------+ |
|
|
51
|
+
| |
|
|
52
|
+
| +-------------------+ +-------------------+ |
|
|
53
|
+
| | Container Exec | | Scripted Intake | |
|
|
54
|
+
| | (K8s agent pods) | | (batch documents) | |
|
|
55
|
+
| +-------------------+ +-------------------+ |
|
|
56
|
+
| |
|
|
57
|
+
| Controls: Tenant Ceiling -> Project Toggle -> Cost Budget -> Detect |
|
|
58
|
+
+-----------------------------------------------------------------------+
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 3.2 Enforcement Hierarchy
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
Tenant Ceiling (SaaS tier maximum)
|
|
65
|
+
|
|
|
66
|
+
v
|
|
67
|
+
Project Toggle (args/cli_config.yaml per capability)
|
|
68
|
+
|
|
|
69
|
+
v
|
|
70
|
+
Cost Controls (daily token budget, hourly invocation limit)
|
|
71
|
+
|
|
|
72
|
+
v
|
|
73
|
+
Environment Detection (CLI installed? API key? Network?)
|
|
74
|
+
|
|
|
75
|
+
v
|
|
76
|
+
Capability Active or Graceful Fallback
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 3.3 Subscription Tier Ceilings
|
|
80
|
+
|
|
81
|
+
| Feature | Starter | Professional | Enterprise |
|
|
82
|
+
|---------|---------|-------------|------------|
|
|
83
|
+
| cicd_automation | No | Yes | Yes |
|
|
84
|
+
| parallel_agents | No | Yes | Yes |
|
|
85
|
+
| container_execution | No | No | Yes |
|
|
86
|
+
| scripted_intake | Yes | Yes | Yes |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 4. Requirements
|
|
91
|
+
|
|
92
|
+
### 4.1 Capability Toggles
|
|
93
|
+
|
|
94
|
+
#### REQ-27-001: Independent Toggles
|
|
95
|
+
The system SHALL provide 4 independently toggleable CLI capabilities: CI/CD pipeline automation, parallel agent execution, container-based execution, and scripted batch intake.
|
|
96
|
+
|
|
97
|
+
#### REQ-27-002: Default Disabled
|
|
98
|
+
All CLI capabilities SHALL default to disabled. The VSCode extension provides full functionality without any CLI capability enabled.
|
|
99
|
+
|
|
100
|
+
#### REQ-27-003: Per-Project Configuration
|
|
101
|
+
Each capability SHALL be configurable per project in `args/cli_config.yaml` with capability-specific settings (allowed commands, runner type, max concurrent, etc.).
|
|
102
|
+
|
|
103
|
+
### 4.2 Tenant Governance
|
|
104
|
+
|
|
105
|
+
#### REQ-27-004: Tenant Ceiling Enforcement
|
|
106
|
+
In SaaS deployments, the system SHALL enforce tenant-level ceilings so no project can enable a CLI capability that exceeds the tenant's subscription tier allowance.
|
|
107
|
+
|
|
108
|
+
#### REQ-27-005: Silent Blocking
|
|
109
|
+
When a project toggle is enabled but the tenant ceiling blocks it, the system SHALL silently ignore the project toggle and log the event as "blocked by tenant ceiling."
|
|
110
|
+
|
|
111
|
+
### 4.3 Cost Controls
|
|
112
|
+
|
|
113
|
+
#### REQ-27-006: Token Budget
|
|
114
|
+
The system SHALL enforce daily token budgets per project with configurable thresholds by subscription tier (Starter: 100K, Professional: 500K, Enterprise: 2M).
|
|
115
|
+
|
|
116
|
+
#### REQ-27-007: Invocation Limits
|
|
117
|
+
The system SHALL enforce hourly CLI invocation limits per project with configurable thresholds by subscription tier.
|
|
118
|
+
|
|
119
|
+
#### REQ-27-008: Budget Exhaustion
|
|
120
|
+
When a cost budget is exhausted mid-pipeline, the system SHALL stop new CLI invocations, complete in-flight work, alert the admin, and log to the audit trail.
|
|
121
|
+
|
|
122
|
+
### 4.4 Environment Detection
|
|
123
|
+
|
|
124
|
+
#### REQ-27-009: Auto-Detection
|
|
125
|
+
The system SHALL auto-detect CLI availability on first use by checking for CLI installation, API credentials, and network connectivity to LLM endpoints.
|
|
126
|
+
|
|
127
|
+
#### REQ-27-010: Graceful Fallback
|
|
128
|
+
When the CLI is not available, the system SHALL fall back to extension mode with a warning logged to the audit trail.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 5. Database Schema
|
|
133
|
+
|
|
134
|
+
### Tables
|
|
135
|
+
|
|
136
|
+
| Table | Purpose |
|
|
137
|
+
|-------|---------|
|
|
138
|
+
| `agent_token_usage` | Token consumption tracking per project, per user (extended with user_id) |
|
|
139
|
+
|
|
140
|
+
Configuration is primarily file-based (`args/cli_config.yaml`) with tenant ceilings stored in `platform.db` -> `tenants` table `settings_json` column for SaaS deployments.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 6. Tools
|
|
145
|
+
|
|
146
|
+
| Tool | Purpose |
|
|
147
|
+
|------|---------|
|
|
148
|
+
| `args/cli_config.yaml` | Per-project CLI capability configuration (4 toggles, cost controls, detection) |
|
|
149
|
+
| `tools/testing/health_check.py` | Includes CLI capability status in health check output |
|
|
150
|
+
| `tools/agent/token_tracker.py` | Token usage tracking and cost breakdown |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 7. Architecture Decisions
|
|
155
|
+
|
|
156
|
+
| ID | Decision | Rationale |
|
|
157
|
+
|----|----------|-----------|
|
|
158
|
+
| D132 | CLI capabilities are optional per-project toggles with tenant-level ceiling | Default all-disabled; VSCode extension provides full functionality; CLI adds headless/scripted/parallel/containerized execution |
|
|
159
|
+
| D132 | Tenant sets maximum allowed capabilities; project enables within ceiling | Prevents Starter-tier customers from using Enterprise-tier features |
|
|
160
|
+
| D132 | Cost controls enforce token budgets with auto-detection fallback | Prevents runaway API costs from automated CLI invocations |
|
|
161
|
+
| D132 | Detection auto-checks CLI availability and falls back gracefully | No hard failures when CLI is unavailable; extension always works |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 8. Security Gate
|
|
166
|
+
|
|
167
|
+
**CLI Cost Control Gate:**
|
|
168
|
+
- Daily token budget not exceeded (blocking: CLI invocations stop)
|
|
169
|
+
- Hourly invocation limit not exceeded (blocking: new invocations queued)
|
|
170
|
+
- API credentials valid and accessible (blocking: CLI disabled)
|
|
171
|
+
|
|
172
|
+
**CLI Tenant Ceiling Gate:**
|
|
173
|
+
- Project capabilities within tenant subscription tier ceiling
|
|
174
|
+
- Container execution requires Enterprise tier (blocking)
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 9. Commands
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# Environment detection
|
|
182
|
+
claude --version
|
|
183
|
+
claude --help
|
|
184
|
+
python --version
|
|
185
|
+
|
|
186
|
+
# Check CLI configuration
|
|
187
|
+
python -c "
|
|
188
|
+
import yaml
|
|
189
|
+
with open('args/cli_config.yaml') as f:
|
|
190
|
+
cfg = yaml.safe_load(f)
|
|
191
|
+
for cap in ['cicd_automation', 'parallel_agents', 'container_execution', 'scripted_intake']:
|
|
192
|
+
proj = cfg['project'][cap]
|
|
193
|
+
ceiling = cfg['tenant_ceiling'][cap]
|
|
194
|
+
status = 'ENABLED' if proj['enabled'] and ceiling else 'DISABLED'
|
|
195
|
+
if proj['enabled'] and not ceiling:
|
|
196
|
+
status = 'BLOCKED (tenant ceiling)'
|
|
197
|
+
print(f' {cap}: {status}')
|
|
198
|
+
"
|
|
199
|
+
|
|
200
|
+
# Token usage tracking
|
|
201
|
+
python tools/agent/token_tracker.py --action summary --project-id "proj-123"
|
|
202
|
+
python tools/agent/token_tracker.py --action cost --project-id "proj-123"
|
|
203
|
+
|
|
204
|
+
# Example CI/CD pipeline stage (GitLab CI)
|
|
205
|
+
# icdev-review:
|
|
206
|
+
# stage: review
|
|
207
|
+
# image: icdev/agent-base:latest
|
|
208
|
+
# script:
|
|
209
|
+
# - claude -p "/icdev-review" --no-interactive --output-format json
|
|
210
|
+
# variables:
|
|
211
|
+
# ANTHROPIC_API_KEY: $ANTHROPIC_API_KEY
|
|
212
|
+
|
|
213
|
+
# Batch intake
|
|
214
|
+
python tools/requirements/intake_engine.py \
|
|
215
|
+
--project-id "proj-123" --customer-name "Jane Smith" \
|
|
216
|
+
--customer-org "DoD PEO" --impact-level IL5 --json > session.json
|
|
217
|
+
SESSION_ID=$(jq -r '.session_id' session.json)
|
|
218
|
+
claude -p "/icdev-intake --session-id $SESSION_ID --batch" < sow.txt
|
|
219
|
+
|
|
220
|
+
# Health check (includes CLI status)
|
|
221
|
+
python tools/testing/health_check.py --json
|
|
222
|
+
```
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# Phase 28 — Remote Command Gateway
|
|
2
|
+
|
|
3
|
+
**CUI // SP-CTI**
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| Phase | 28 |
|
|
8
|
+
| Title | Remote Command Gateway |
|
|
9
|
+
| Status | Implemented |
|
|
10
|
+
| Priority | P2 |
|
|
11
|
+
| Dependencies | Phase 21 (SaaS Multi-Tenancy), Phase 24 (DevSecOps Pipeline Security) |
|
|
12
|
+
| Author | ICDEV Architect Agent |
|
|
13
|
+
| Date | 2026-02-23 |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem Statement
|
|
18
|
+
|
|
19
|
+
Field users, PMs, and ISSOs often need to issue ICDEV commands without access to a full development environment. A PM checking project status from a mobile device, an ISSO reviewing compliance posture from a tablet, or a field analyst requesting a quick security scan should not need VPN access, SSH tunnels, or the VSCode extension installed. Messaging platforms (Slack, Teams, Mattermost) are already the primary communication channels for most government and defense teams, making them a natural interface for lightweight command access.
|
|
20
|
+
|
|
21
|
+
However, exposing a powerful agentic system to messaging channels introduces significant security risks. Without proper identity verification, an attacker could impersonate a legitimate user and execute commands. Without classification filtering, CUI or SECRET content could leak to channels not authorized for that classification level. Without command allowlists, destructive operations (deploy, delete) could be triggered from low-security channels. Without rate limiting, a compromised account could flood the system with automated requests. The challenge is enabling convenience without compromising the security posture that ICDEV's entire architecture is designed to protect.
|
|
22
|
+
|
|
23
|
+
Phase 28 implements a Remote Command Gateway (port 8458) that receives commands from 5 messaging channels (Telegram, Slack, Teams, Mattermost, internal chat) and validates every request through an 8-gate security chain (signature, bot/replay, identity, authentication, classification, RBAC, rate limit, domain authority). Responses are filtered by Impact Level so content above a channel's maximum classification is redacted with a dashboard link. User binding is mandatory before any command execution, with a challenge-response ceremony for connected environments and admin pre-provisioning for air-gapped deployments. Air-gapped mode (`environment.mode: air_gapped`) auto-disables internet-dependent channels (Telegram, Slack, Teams), leaving only Mattermost and internal chat available.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Goals
|
|
28
|
+
|
|
29
|
+
1. Enable users to **issue ICDEV commands from messaging channels** (Telegram, Slack, Teams, Mattermost, internal chat) with full security validation and audit trail
|
|
30
|
+
2. Implement an **8-gate security chain** that validates every command: signature verification, bot/replay rejection, identity resolution, authentication, classification check, RBAC, rate limiting, and domain authority
|
|
31
|
+
3. Enforce **IL-aware response filtering** so content above a channel's maximum classification level is redacted and replaced with a dashboard link
|
|
32
|
+
4. Require **mandatory user binding** before command execution, with challenge-response ceremony (connected mode) and admin pre-provisioning (air-gapped mode)
|
|
33
|
+
5. Support **air-gapped mode** (`environment.mode: air_gapped`) that auto-disables internet-dependent channels and restricts to Mattermost + internal chat
|
|
34
|
+
6. Maintain a **YAML-driven command allowlist** with per-channel overrides, blocking destructive operations (deploy, init) on all remote channels by default
|
|
35
|
+
7. Implement channel adapters using the **ABC pattern** (D66) so new messaging channels can be added without modifying gateway core logic
|
|
36
|
+
8. Log all command executions to the **append-only audit trail** with full identity chain and classification filtering actions
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 3. Architecture
|
|
41
|
+
|
|
42
|
+
### 3.1 Command Execution Flow
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
[User Message in Slack/Teams/Mattermost/Telegram/Internal Chat]
|
|
46
|
+
|
|
|
47
|
+
v
|
|
48
|
+
[Channel Webhook / Adapter]
|
|
49
|
+
|
|
|
50
|
+
v
|
|
51
|
+
[8-Gate Security Chain]
|
|
52
|
+
|-- Gate 1: Signature (HMAC verification of webhook payload)
|
|
53
|
+
|-- Gate 2: Bot/Replay (reject bots, reject timestamps >5min old)
|
|
54
|
+
|-- Gate 3: Identity (resolve channel user -> ICDEV user binding)
|
|
55
|
+
|-- Gate 4: Authentication (validate user is active)
|
|
56
|
+
|-- Gate 5: Classification (reject commands above channel max_il)
|
|
57
|
+
|-- Gate 6: RBAC (check role permissions for command category)
|
|
58
|
+
|-- Gate 7: Rate Limit (30/user/min, 100/channel/min)
|
|
59
|
+
|-- Gate 8: Domain Authority (check agent veto rights)
|
|
60
|
+
|
|
|
61
|
+
v
|
|
62
|
+
[Command Router] -> [Tool Execution]
|
|
63
|
+
|
|
|
64
|
+
v
|
|
65
|
+
[Response Filter (IL-aware redaction)]
|
|
66
|
+
|
|
|
67
|
+
v
|
|
68
|
+
[Channel Reply]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 3.2 Channel Support Matrix
|
|
72
|
+
|
|
73
|
+
| Channel | IL Range | Environment | Identity |
|
|
74
|
+
|---------|----------|-------------|----------|
|
|
75
|
+
| Telegram | IL2-IL4 | Connected only | Binding ceremony (HTTPS) |
|
|
76
|
+
| Slack | IL2-IL5 | Connected only | Binding ceremony (HTTPS) |
|
|
77
|
+
| Teams | IL2-IL5 | Connected only | Binding ceremony (HTTPS) |
|
|
78
|
+
| Mattermost | IL2-IL6 | Connected + Air-gapped | Admin pre-provision or binding |
|
|
79
|
+
| Internal Chat | IL2-IL6 | Always available | Admin pre-provision / CAC-PIV |
|
|
80
|
+
|
|
81
|
+
### 3.3 Air-Gapped vs Connected
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Connected Mode: Air-Gapped Mode:
|
|
85
|
+
+-------------+ +-------------+
|
|
86
|
+
| Telegram | <-- auto-disabled | Telegram | X
|
|
87
|
+
| Slack | <-- auto-disabled | Slack | X
|
|
88
|
+
| Teams | <-- auto-disabled | Teams | X
|
|
89
|
+
| Mattermost | <-- available | Mattermost | <-- available (REST API)
|
|
90
|
+
| Internal | <-- available | Internal | <-- available
|
|
91
|
+
+-------------+ +-------------+
|
|
92
|
+
Config: environment.mode: Config: environment.mode:
|
|
93
|
+
connected air_gapped
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 4. Requirements
|
|
99
|
+
|
|
100
|
+
### 4.1 Security Chain
|
|
101
|
+
|
|
102
|
+
#### REQ-28-001: 8-Gate Validation
|
|
103
|
+
The system SHALL validate every incoming command through an 8-gate security chain: signature verification, bot/replay rejection, identity resolution, authentication, classification check, RBAC, rate limiting, and domain authority.
|
|
104
|
+
|
|
105
|
+
#### REQ-28-002: HMAC Signature Verification
|
|
106
|
+
Gate 1 SHALL verify HMAC-SHA256 signatures on webhook payloads to prevent tampering.
|
|
107
|
+
|
|
108
|
+
#### REQ-28-003: Replay Prevention
|
|
109
|
+
Gate 2 SHALL reject commands with timestamps older than 300 seconds (5 minutes) to prevent replay attacks.
|
|
110
|
+
|
|
111
|
+
#### REQ-28-004: Rate Limiting
|
|
112
|
+
Gate 7 SHALL enforce per-user rate limits (30 requests/minute) and per-channel rate limits (100 requests/minute).
|
|
113
|
+
|
|
114
|
+
### 4.2 Identity and Binding
|
|
115
|
+
|
|
116
|
+
#### REQ-28-005: Mandatory User Binding
|
|
117
|
+
The system SHALL require a verified user binding (channel user ID to ICDEV user) before any command execution. Unbound users are rejected at Gate 3 with instructions to initiate binding.
|
|
118
|
+
|
|
119
|
+
#### REQ-28-006: Binding Ceremony (Connected)
|
|
120
|
+
In connected environments, user binding SHALL use a challenge-response ceremony: user sends `/bind`, gateway returns an 8-character hex challenge code with 10-minute TTL, user enters the code in the ICDEV dashboard.
|
|
121
|
+
|
|
122
|
+
#### REQ-28-007: Admin Pre-Provisioning (Air-Gapped)
|
|
123
|
+
In air-gapped environments, the system SHALL support admin pre-provisioning of user bindings via CLI (`user_binder.py --provision`) without requiring internet connectivity.
|
|
124
|
+
|
|
125
|
+
### 4.3 Classification Filtering
|
|
126
|
+
|
|
127
|
+
#### REQ-28-008: IL-Aware Response Filtering
|
|
128
|
+
The system SHALL detect the classification level of response content and redact any content above the channel's maximum IL, replacing it with a dashboard link.
|
|
129
|
+
|
|
130
|
+
#### REQ-28-009: Never Upgrade Classification
|
|
131
|
+
Response filtering SHALL never upgrade content classification. If response IL exceeds channel max_il, the content is redacted, never transmitted.
|
|
132
|
+
|
|
133
|
+
### 4.4 Command Control
|
|
134
|
+
|
|
135
|
+
#### REQ-28-010: YAML-Driven Allowlist
|
|
136
|
+
The system SHALL maintain a YAML-driven command allowlist (`args/remote_gateway_config.yaml`) with per-channel overrides, enabling command permission changes without code modifications.
|
|
137
|
+
|
|
138
|
+
#### REQ-28-011: Deploy Disabled
|
|
139
|
+
The `icdev-deploy` and `icdev-init` commands SHALL be disabled on all remote channels by default. Destructive operations require dashboard or CLI access.
|
|
140
|
+
|
|
141
|
+
#### REQ-28-012: Confirmation for Execute Commands
|
|
142
|
+
Commands in the Execute category (icdev-test, icdev-secure, icdev-build) SHALL require user confirmation before execution on remote channels.
|
|
143
|
+
|
|
144
|
+
### 4.5 Air-Gapped Mode
|
|
145
|
+
|
|
146
|
+
#### REQ-28-013: Auto-Disable Internet Channels
|
|
147
|
+
When `environment.mode: air_gapped`, the system SHALL auto-disable internet-dependent channels (Telegram, Slack, Teams) without requiring manual per-channel configuration.
|
|
148
|
+
|
|
149
|
+
#### REQ-28-014: Mattermost REST API
|
|
150
|
+
The Mattermost adapter SHALL use REST API (not WebSocket) for compatibility with proxied and air-gapped deployments (D140).
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 5. Database Schema
|
|
155
|
+
|
|
156
|
+
### Tables
|
|
157
|
+
|
|
158
|
+
| Table | Purpose |
|
|
159
|
+
|-------|---------|
|
|
160
|
+
| `remote_user_bindings` | Channel user ID to ICDEV user mappings with TTL and status |
|
|
161
|
+
| `remote_command_log` | Append-only command execution log (NIST AU compliant) |
|
|
162
|
+
| `remote_command_allowlist` | Per-channel command permissions and restrictions |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## 6. Tools
|
|
167
|
+
|
|
168
|
+
| Tool | Purpose |
|
|
169
|
+
|------|---------|
|
|
170
|
+
| `tools/gateway/gateway_agent.py` | Flask gateway app on port 8458 with webhook routes |
|
|
171
|
+
| `tools/gateway/security_chain.py` | 8-gate security validation pipeline |
|
|
172
|
+
| `tools/gateway/command_router.py` | Command dispatch to ICDEV tools |
|
|
173
|
+
| `tools/gateway/response_filter.py` | IL-aware content redaction |
|
|
174
|
+
| `tools/gateway/user_binder.py` | User binding management (ceremony + pre-provision) |
|
|
175
|
+
| `tools/gateway/adapters/` | Channel adapters (ABC pattern: Telegram, Slack, Teams, Mattermost, Internal) |
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## 7. Architecture Decisions
|
|
180
|
+
|
|
181
|
+
| ID | Decision | Rationale |
|
|
182
|
+
|----|----------|-----------|
|
|
183
|
+
| D133 | Channel adapters are ABC + implementations (D66 pattern) | Add new channels without modifying gateway core |
|
|
184
|
+
| D134 | Air-gapped environments use internal chat + Mattermost only | IL6/SIPR cannot reach Telegram/Slack/Teams APIs |
|
|
185
|
+
| D135 | Response filter strips content above channel max_il, never upgrades | Prevents CUI/SECRET leaking to unauthorized channels |
|
|
186
|
+
| D136 | User binding mandatory before any command execution | Full identity chain; no anonymous remote commands |
|
|
187
|
+
| D137 | Command allowlist is YAML-driven with per-channel overrides | Add/remove commands without code changes (D26 pattern) |
|
|
188
|
+
| D138 | Deploy commands disabled by default on all remote channels | Destructive operations require dashboard/CLI access |
|
|
189
|
+
| D139 | `environment.mode: air_gapped` auto-disables internet channels | Single config toggle; no per-channel manual disable needed |
|
|
190
|
+
| D140 | Mattermost adapter uses REST API (no WebSocket) | Consistent with D20; simpler; works behind proxies |
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## 8. Security Gate
|
|
195
|
+
|
|
196
|
+
**Remote Command Gate:**
|
|
197
|
+
- User binding required (no anonymous commands)
|
|
198
|
+
- Signature verification on all webhooks (HMAC-SHA256)
|
|
199
|
+
- Replay window 300 seconds maximum
|
|
200
|
+
- Rate limit: 30/user/min + 100/channel/min
|
|
201
|
+
- `icdev-deploy` and `icdev-init` blocked on all remote channels
|
|
202
|
+
- `icdev-test`, `icdev-secure`, `icdev-build` require user confirmation
|
|
203
|
+
- Response content never exceeds channel maximum IL
|
|
204
|
+
- All commands logged to append-only audit trail
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## 9. Commands
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# Start the gateway
|
|
212
|
+
python tools/gateway/gateway_agent.py
|
|
213
|
+
|
|
214
|
+
# User binding management
|
|
215
|
+
python tools/gateway/user_binder.py --provision \
|
|
216
|
+
--channel mattermost --channel-user-id "user123" \
|
|
217
|
+
--icdev-user-id "analyst@enclave.mil" --json
|
|
218
|
+
python tools/gateway/user_binder.py --list --json
|
|
219
|
+
python tools/gateway/user_binder.py --revoke <binding-id>
|
|
220
|
+
|
|
221
|
+
# Gateway status
|
|
222
|
+
# GET http://localhost:8458/.well-known/agent.json
|
|
223
|
+
|
|
224
|
+
# Available commands from messaging channels:
|
|
225
|
+
# icdev-status (Read, all channels, no confirmation)
|
|
226
|
+
# icdev-monitor (Read, all channels, no confirmation)
|
|
227
|
+
# icdev-knowledge (Read, all channels, no confirmation)
|
|
228
|
+
# icdev-comply (Read, Slack/Teams/MM/Internal, no confirmation)
|
|
229
|
+
# icdev-query (Read, Slack/Teams/MM/Internal, no confirmation)
|
|
230
|
+
# icdev-test (Execute, Slack/Teams/MM/Internal, confirmation required)
|
|
231
|
+
# icdev-secure (Execute, Slack/Teams/MM/Internal, confirmation required)
|
|
232
|
+
# icdev-intake (Write, Internal only, confirmation required)
|
|
233
|
+
# icdev-build (Execute, Internal only, confirmation required)
|
|
234
|
+
# icdev-deploy (Execute, DISABLED on all remote channels)
|
|
235
|
+
```
|