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,273 @@
|
|
|
1
|
+
# Phase 21 — SaaS Multi-Tenancy
|
|
2
|
+
|
|
3
|
+
**CUI // SP-CTI**
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| Phase | 21 |
|
|
8
|
+
| Title | SaaS Multi-Tenancy |
|
|
9
|
+
| Status | Implemented |
|
|
10
|
+
| Priority | P0 |
|
|
11
|
+
| Dependencies | Phase 17 (Multi-Framework Compliance), Phase 20 (FIPS 199/200 Security Categorization) |
|
|
12
|
+
| Author | ICDEV Architect Agent |
|
|
13
|
+
| Date | 2026-02-23 |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem Statement
|
|
18
|
+
|
|
19
|
+
ICDEV was originally designed as a single-tenant CLI tool running on a developer's local machine. As adoption grows across government programs, defense contractors, and compliance-focused organizations, each team must maintain its own separate ICDEV installation. This creates operational overhead (installation, updates, configuration), inconsistent environments, and no ability to share compliance artifacts, patterns, or tooling across organizational boundaries.
|
|
20
|
+
|
|
21
|
+
Transforming ICDEV into a multi-tenant SaaS platform requires solving multiple hard problems simultaneously: per-tenant data isolation that satisfies DoD classification requirements (IL2 through IL6), three distinct authentication methods (API keys, OAuth/OIDC, CAC/PIV), dual API transport (REST for generic clients and MCP Streamable HTTP for Claude Code users), subscription-based feature gating, and on-premises deployment for air-gapped environments via Helm charts.
|
|
22
|
+
|
|
23
|
+
The SaaS layer must wrap existing tools without rewriting them. Twenty phases of deterministic Python scripts must continue to function identically -- the API gateway adds auth, tenant resolution, and routing, while tools remain stateless and tenant-unaware. Each REST or MCP endpoint resolves the tenant, routes to their isolated database, calls the existing Python tool, and returns the result.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Goals
|
|
28
|
+
|
|
29
|
+
1. Expose ICDEV compliance automation tools as a multi-tenant SaaS platform via REST API and MCP Streamable HTTP transport
|
|
30
|
+
2. Implement 3 authentication methods: API key (SHA-256 hashed), OAuth 2.0/OIDC (JWT + JWKS), and CAC/PIV (X.509 certificate CN lookup)
|
|
31
|
+
3. Enforce per-tenant database isolation: dedicated SQLite (dev) or PostgreSQL (prod) per tenant, not row-level separation
|
|
32
|
+
4. Support 3 subscription tiers (Starter, Professional, Enterprise) with feature gating, rate limiting, and impact level restrictions
|
|
33
|
+
5. Provide a tenant admin portal for self-service management of projects, users, API keys, and compliance posture
|
|
34
|
+
6. Support on-premises deployment via Helm chart with RSA-SHA256 offline license validation for air-gapped environments
|
|
35
|
+
7. Implement RBAC with 5 roles (tenant_admin, developer, compliance_officer, auditor, viewer) across 9 permission categories
|
|
36
|
+
8. Scale tenant isolation by classification: shared K8s namespace for IL2-IL4, dedicated node pool for IL5, dedicated AWS sub-account for IL6
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 3. Architecture
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
+-------------------+
|
|
44
|
+
| Load Balancer |
|
|
45
|
+
| (TLS termination)|
|
|
46
|
+
+--------+----------+
|
|
47
|
+
|
|
|
48
|
+
+--------v----------+
|
|
49
|
+
| API Gateway |
|
|
50
|
+
| (Flask, port 8443)|
|
|
51
|
+
+--------+----------+
|
|
52
|
+
|
|
|
53
|
+
+------------------+------------------+
|
|
54
|
+
| |
|
|
55
|
+
+--------v----------+ +-----------v--------+
|
|
56
|
+
| REST API | | MCP Streamable |
|
|
57
|
+
| /api/v1/* | | HTTP /mcp/v1/ |
|
|
58
|
+
+--------+----------+ +-----------+--------+
|
|
59
|
+
| |
|
|
60
|
+
+------------------+------------------+
|
|
61
|
+
|
|
|
62
|
+
+--------v----------+
|
|
63
|
+
| Auth Middleware |
|
|
64
|
+
| (API key/OAuth/ |
|
|
65
|
+
| CAC/PIV) |
|
|
66
|
+
+--------+----------+
|
|
67
|
+
|
|
|
68
|
+
+--------v----------+
|
|
69
|
+
| RBAC + Rate Limit |
|
|
70
|
+
+--------+----------+
|
|
71
|
+
|
|
|
72
|
+
+--------v----------+
|
|
73
|
+
| Tenant DB Adapter |
|
|
74
|
+
| (route to tenant |
|
|
75
|
+
| database) |
|
|
76
|
+
+--------+----------+
|
|
77
|
+
|
|
|
78
|
+
+------------------+------------------+
|
|
79
|
+
| | |
|
|
80
|
+
+--------v------+ +--------v------+ +-------v-------+
|
|
81
|
+
| Tenant A DB | | Tenant B DB | | Tenant C DB |
|
|
82
|
+
| (full ICDEV | | (full ICDEV | | (full ICDEV |
|
|
83
|
+
| schema) | | schema) | | schema) |
|
|
84
|
+
+---------------+ +---------------+ +---------------+
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
The SaaS architecture follows a strict layering principle:
|
|
88
|
+
|
|
89
|
+
1. **API Gateway** -- Single Flask application handling both REST and MCP Streamable HTTP transport
|
|
90
|
+
2. **Auth Middleware** -- Extracts credentials, validates via the appropriate auth module, resolves tenant_id + user_id + role
|
|
91
|
+
3. **RBAC** -- Checks role permissions against the requested operation category
|
|
92
|
+
4. **Rate Limiter** -- Enforces per-tenant limits based on subscription tier
|
|
93
|
+
5. **Tenant DB Adapter** -- Routes all database operations to the tenant's isolated database
|
|
94
|
+
6. **Existing Tools** -- Called unchanged; receive tenant-scoped DB connections transparently
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 4. Requirements
|
|
99
|
+
|
|
100
|
+
### 4.1 API Transport
|
|
101
|
+
|
|
102
|
+
#### REQ-21-001: REST API
|
|
103
|
+
The system SHALL expose ICDEV tools via REST API at `/api/v1/*` endpoints using standard HTTP JSON for generic clients, with Swagger UI at `/api/v1/docs` and OpenAPI 3.0.3 spec at `/api/v1/openapi.json`.
|
|
104
|
+
|
|
105
|
+
#### REQ-21-002: MCP Streamable HTTP
|
|
106
|
+
The system SHALL expose ICDEV tools via MCP Streamable HTTP transport at `/mcp/v1/` using JSON-RPC 2.0 per the MCP specification (2025-03-26) for Claude Code clients.
|
|
107
|
+
|
|
108
|
+
### 4.2 Authentication
|
|
109
|
+
|
|
110
|
+
#### REQ-21-003: API Key Authentication
|
|
111
|
+
The system SHALL authenticate requests via `Authorization: Bearer icdev_<key>` header, validating against SHA-256 hashed keys stored in the `api_keys` table. Plaintext keys SHALL never be stored.
|
|
112
|
+
|
|
113
|
+
#### REQ-21-004: OAuth 2.0/OIDC Authentication
|
|
114
|
+
The system SHALL authenticate requests via JWT bearer tokens, performing JWKS verification with 1-hour key cache for provider resilience.
|
|
115
|
+
|
|
116
|
+
#### REQ-21-005: CAC/PIV Authentication
|
|
117
|
+
The system SHALL authenticate requests via `X-Client-Cert-CN` header (from nginx/ALB TLS termination), performing CN lookup in the users table.
|
|
118
|
+
|
|
119
|
+
### 4.3 Tenant Isolation
|
|
120
|
+
|
|
121
|
+
#### REQ-21-006: Dedicated Database Per Tenant
|
|
122
|
+
The system SHALL provision a dedicated database per tenant (SQLite for dev, PostgreSQL for prod) containing the full ICDEV schema. No row-level tenant filtering (D60).
|
|
123
|
+
|
|
124
|
+
#### REQ-21-007: Classification-Scaled Isolation
|
|
125
|
+
Tenant compute isolation SHALL scale with classification: shared K8s namespace (IL2-IL4), dedicated K8s namespace + node pool (IL5), dedicated AWS sub-account on SIPR (IL6).
|
|
126
|
+
|
|
127
|
+
#### REQ-21-008: Network Policy Isolation
|
|
128
|
+
Each tenant K8s namespace SHALL have default-deny network policies, allowing traffic only from the API gateway.
|
|
129
|
+
|
|
130
|
+
### 4.4 Subscription and Rate Limiting
|
|
131
|
+
|
|
132
|
+
#### REQ-21-009: Subscription Tiers
|
|
133
|
+
The system SHALL enforce 3 tiers: Starter (5 projects, 3 users, IL2/IL4, 60 req/min), Professional (25 projects, 15 users, IL2-IL5, 300 req/min), Enterprise (unlimited, IL2-IL6, unlimited req/min).
|
|
134
|
+
|
|
135
|
+
#### REQ-21-010: Rate Limiting
|
|
136
|
+
The system SHALL enforce per-tenant rate limits with 429 responses including Retry-After headers and reset times.
|
|
137
|
+
|
|
138
|
+
### 4.5 On-Premises Deployment
|
|
139
|
+
|
|
140
|
+
#### REQ-21-011: Helm Chart Deployment
|
|
141
|
+
The system SHALL support on-premises deployment via Helm chart (`deploy/helm/`) with configurable values for all components.
|
|
142
|
+
|
|
143
|
+
#### REQ-21-012: Offline License Validation
|
|
144
|
+
The system SHALL validate on-premises licenses using RSA-SHA256 cryptographic signatures, air-gap safe with no license server required (D64).
|
|
145
|
+
|
|
146
|
+
#### REQ-21-013: Expired License Handling
|
|
147
|
+
On license expiration, the system SHALL allow read-only access for 30 days, then block write operations.
|
|
148
|
+
|
|
149
|
+
### 4.6 Tenant Lifecycle
|
|
150
|
+
|
|
151
|
+
#### REQ-21-014: Provisioning Pipeline
|
|
152
|
+
Tenant provisioning SHALL follow the pipeline: pending -> provisioning -> active, including: dedicated DB creation, full ICDEV schema application, K8s namespace creation, network policy application, admin API key generation, and webhook notification.
|
|
153
|
+
|
|
154
|
+
#### REQ-21-015: IL5+ Admin Approval
|
|
155
|
+
Tenants requesting IL5 or IL6 impact levels SHALL require explicit admin approval before provisioning proceeds.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 5. Database Schema
|
|
160
|
+
|
|
161
|
+
### Tables
|
|
162
|
+
|
|
163
|
+
| Table | Purpose |
|
|
164
|
+
|-------|---------|
|
|
165
|
+
| `tenants` | Tenant records: id, name, slug, impact_level, tier, status, provisioned_at |
|
|
166
|
+
| `users` | Tenant users: id, tenant_id, email, name, role, status |
|
|
167
|
+
| `api_keys` | API key storage: id, user_id, tenant_id, key_hash (SHA-256), prefix, expires_at |
|
|
168
|
+
| `subscriptions` | Subscription details: tenant_id, tier, starts_at, expires_at, limits_json |
|
|
169
|
+
| `usage_records` | API usage tracking: tenant_id, user_id, endpoint, method, timestamp, response_code |
|
|
170
|
+
| `audit_platform` | Platform-level audit trail: event_type, actor, tenant_id, action, timestamp |
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 6. Tools
|
|
175
|
+
|
|
176
|
+
| Tool | Purpose |
|
|
177
|
+
|------|---------|
|
|
178
|
+
| `tools/saas/platform_db.py` | Platform schema initialization (tenants, users, api_keys, subscriptions, usage, audit) |
|
|
179
|
+
| `tools/saas/tenant_manager.py` | Tenant lifecycle: create, provision, approve, suspend, add-user, list |
|
|
180
|
+
| `tools/saas/api_gateway.py` | Flask API gateway: REST + MCP Streamable HTTP + auth + rate limiting |
|
|
181
|
+
| `tools/saas/rest_api.py` | Flask Blueprint with all REST v1 endpoints |
|
|
182
|
+
| `tools/saas/mcp_http.py` | MCP Streamable HTTP transport (JSON-RPC 2.0, session-based) |
|
|
183
|
+
| `tools/saas/auth/middleware.py` | Authentication middleware: credential extraction, validation, tenant resolution |
|
|
184
|
+
| `tools/saas/auth/rbac.py` | Role-based access control: 5 roles x 9 permission categories |
|
|
185
|
+
| `tools/saas/tenant_db_adapter.py` | Route tool DB calls to tenant-specific database |
|
|
186
|
+
| `tools/saas/rate_limiter.py` | Per-tenant rate limiting by subscription tier |
|
|
187
|
+
| `tools/saas/db/db_compat.py` | SQLite-PostgreSQL compatibility layer |
|
|
188
|
+
| `tools/saas/db/pg_schema.py` | Full ICDEV schema ported to PostgreSQL DDL |
|
|
189
|
+
| `tools/saas/artifacts/delivery_engine.py` | Push artifacts to tenant S3/Git/SFTP |
|
|
190
|
+
| `tools/saas/bedrock/bedrock_proxy.py` | Route LLM calls to BYOK or shared Bedrock pool |
|
|
191
|
+
| `tools/saas/licensing/license_generator.py` | Generate RSA-SHA256 signed offline license keys |
|
|
192
|
+
| `tools/saas/licensing/license_validator.py` | Validate on-premises license (air-gap safe) |
|
|
193
|
+
| `tools/saas/portal/app.py` | Tenant admin portal web dashboard |
|
|
194
|
+
| `tools/saas/infra/namespace_provisioner.py` | Create per-tenant K8s namespace with network policies |
|
|
195
|
+
| `tools/saas/openapi_spec.py` | Generate OpenAPI 3.0.3 specification |
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## 7. Architecture Decisions
|
|
200
|
+
|
|
201
|
+
| ID | Decision | Rationale |
|
|
202
|
+
|----|----------|-----------|
|
|
203
|
+
| D58 | SaaS layer wraps existing tools, does not rewrite | Preserves 20 phases of deterministic Python scripts; API gateway is additive |
|
|
204
|
+
| D59 | PostgreSQL for all SaaS databases (prod) | Concurrent writes, MVCC, RLS capability, RDS managed; SQLite fallback for dev |
|
|
205
|
+
| D60 | Separate database per tenant (not row-level) | Strongest isolation, simplest compliance, easy per-tenant backup/restore |
|
|
206
|
+
| D61 | API gateway as thin routing layer | Auth + tenant resolution + routing; tools stay deterministic and tenant-unaware |
|
|
207
|
+
| D62 | MCP Streamable HTTP alongside REST | Supports Claude Code users (MCP) and generic HTTP clients (REST) simultaneously |
|
|
208
|
+
| D63 | Per-tenant K8s namespace (IL2-4), per-tenant AWS sub-account (IL5-6) | Isolation scales with classification sensitivity |
|
|
209
|
+
| D64 | Offline license keys with RSA-SHA256 signatures | Air-gap safe, no license server needed for on-prem deployment |
|
|
210
|
+
| D65 | Helm chart for on-prem deployment | Standard K8s packaging; customer uses their own infrastructure |
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 8. Security Gate
|
|
215
|
+
|
|
216
|
+
**SaaS Platform Gate:**
|
|
217
|
+
- API keys stored as SHA-256 hashes only (never plaintext)
|
|
218
|
+
- Per-tenant database isolation (not row-level) -- no cross-tenant data access
|
|
219
|
+
- Network policies enforce default-deny between tenant namespaces
|
|
220
|
+
- All traffic TLS-encrypted; mTLS within K8s cluster
|
|
221
|
+
- CUI banners on all portal pages and API responses
|
|
222
|
+
- Every API call audited to usage_records (append-only)
|
|
223
|
+
- Rate limiting enforced per subscription tier
|
|
224
|
+
- License validation is cryptographic (RSA-SHA256)
|
|
225
|
+
- IL5/IL6 tenants require admin approval before provisioning
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## 9. Commands
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
# Initialize platform database
|
|
233
|
+
python tools/saas/platform_db.py --init
|
|
234
|
+
|
|
235
|
+
# Create tenant
|
|
236
|
+
python tools/saas/tenant_manager.py --create --name "ACME" --il IL4 --tier professional --admin-email admin@acme.gov
|
|
237
|
+
|
|
238
|
+
# Approve IL5/IL6 tenant
|
|
239
|
+
python tools/saas/tenant_manager.py --approve --tenant-id "tenant-uuid" --approver-id "admin-uuid"
|
|
240
|
+
|
|
241
|
+
# Provision tenant (create DB, K8s namespace)
|
|
242
|
+
python tools/saas/tenant_manager.py --provision --tenant-id "tenant-uuid"
|
|
243
|
+
|
|
244
|
+
# Add user to tenant
|
|
245
|
+
python tools/saas/tenant_manager.py --add-user --tenant-id "tenant-uuid" --email dev@acme.gov --role developer
|
|
246
|
+
|
|
247
|
+
# List tenants
|
|
248
|
+
python tools/saas/tenant_manager.py --list --json
|
|
249
|
+
|
|
250
|
+
# Start API gateway (development)
|
|
251
|
+
python tools/saas/api_gateway.py --port 8443 --debug
|
|
252
|
+
|
|
253
|
+
# Start API gateway (production)
|
|
254
|
+
gunicorn -w 4 -b 0.0.0.0:8443 "tools.saas.api_gateway:create_app()"
|
|
255
|
+
|
|
256
|
+
# Generate OpenAPI spec
|
|
257
|
+
python tools/saas/openapi_spec.py --output spec.json
|
|
258
|
+
|
|
259
|
+
# Generate license key (admin)
|
|
260
|
+
python tools/saas/licensing/license_generator.py --generate --customer "ACME" --tier enterprise --expires-in-days 365 --private-key /path/key.pem
|
|
261
|
+
|
|
262
|
+
# Validate on-prem license
|
|
263
|
+
python tools/saas/licensing/license_validator.py --validate --json
|
|
264
|
+
|
|
265
|
+
# Deploy via Helm
|
|
266
|
+
helm install icdev deploy/helm/ --values deploy/helm/values.yaml
|
|
267
|
+
|
|
268
|
+
# Air-gapped deployment
|
|
269
|
+
python deploy/offline/install.py --namespace icdev --values values-custom.yaml --license license.json
|
|
270
|
+
|
|
271
|
+
# Create K8s namespace for tenant
|
|
272
|
+
python tools/saas/infra/namespace_provisioner.py --create --slug acme --il IL4 --tier professional
|
|
273
|
+
```
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
# Phase 22 — Federated GOTCHA Asset Marketplace
|
|
2
|
+
|
|
3
|
+
**CUI // SP-CTI**
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| Phase | 22 |
|
|
8
|
+
| Title | Federated GOTCHA Asset Marketplace |
|
|
9
|
+
| Status | Implemented |
|
|
10
|
+
| Priority | P1 |
|
|
11
|
+
| Dependencies | Phase 21 (SaaS Multi-Tenancy) |
|
|
12
|
+
| Author | ICDEV Architect Agent |
|
|
13
|
+
| Date | 2026-02-23 |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem Statement
|
|
18
|
+
|
|
19
|
+
Government and defense software teams frequently build the same compliance skills, security scanning goals, CUI marking templates, and deployment hardprompts independently. Without a shared catalog, every tenant organization re-invents identical GOTCHA framework assets from scratch, wasting engineering cycles and introducing inconsistencies across programs of record. The problem is compounded by classification boundaries: sharing assets between IL4, IL5, and IL6 environments requires rigorous security scanning, digital signing, and human review to prevent unauthorized data movement.
|
|
20
|
+
|
|
21
|
+
Existing package managers (npm, PyPI, Helm Hub) were designed for open-source software distribution and lack the classification-aware, compliance-validated, governance-enforced publishing pipeline required for DoD/IC environments. They have no concept of Impact Level compatibility, CUI marking enforcement, SBOM attestation, or mandatory ISSO review for cross-organization sharing. A purpose-built federated marketplace that reuses the Phase 21 SaaS infrastructure (authentication, RBAC, tenant isolation) fills this gap.
|
|
22
|
+
|
|
23
|
+
The marketplace also closes the loop on the GOTCHA framework itself: skills, goals, hardprompts, context files, args configurations, and compliance extensions become first-class shareable artifacts with full provenance tracking, enabling a community-driven ecosystem that accelerates ATO timelines across the enterprise.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Goals
|
|
28
|
+
|
|
29
|
+
1. Enable customer developer communities to **publish, search, install, and review** GOTCHA framework assets (skills, goals, hardprompts, context, args, compliance extensions) through a federated marketplace
|
|
30
|
+
2. Enforce a **7-gate automated security pipeline** for all published assets covering SAST, secret detection, dependency audit, CUI markings, SBOM generation, supply chain provenance, and digital signing
|
|
31
|
+
3. Implement a **3-tier federated catalog** (tenant-local, cross-tenant review, central vetted registry) with promotion workflows and mandatory human ISSO review for cross-tenant sharing
|
|
32
|
+
4. Enforce **IL-aware compatibility** so assets marked at a given Impact Level cannot be consumed by lower-IL tenants without classification filtering
|
|
33
|
+
5. Provide **semantic search** (BM25 + vector embeddings) for asset discovery, with Ollama nomic-embed-text support for air-gapped environments
|
|
34
|
+
6. Track full **supply chain provenance** for every asset version, including publisher identity, scan results, review decisions, and installation history
|
|
35
|
+
7. Support **community ratings** and feedback per asset to surface quality signals across the ecosystem
|
|
36
|
+
8. Maintain an **append-only audit trail** for all marketplace operations (publish, install, review, rate) per NIST AU compliance
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 3. Architecture
|
|
41
|
+
|
|
42
|
+
### 3.1 Federated Three-Tier Catalog
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
CENTRAL VETTED REGISTRY (platform-level, curated, human-approved)
|
|
46
|
+
^ Promote (human ISSO review required)
|
|
47
|
+
|
|
|
48
|
+
CROSS-TENANT REVIEW QUEUE (pending human approval)
|
|
49
|
+
^ Submit for cross-tenant sharing
|
|
50
|
+
|
|
|
51
|
+
TENANT-LOCAL CATALOG (per-org private catalog)
|
|
52
|
+
^ Publish (7-gate automated scanning)
|
|
53
|
+
|
|
|
54
|
+
DEVELOPER WORKSPACE (local asset development)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 3.2 Shareable GOTCHA Asset Types
|
|
58
|
+
|
|
59
|
+
| Type | Format | Primary File |
|
|
60
|
+
|------|--------|-------------|
|
|
61
|
+
| Skill | SKILL.md + scripts/ + references/ + assets/ | SKILL.md |
|
|
62
|
+
| Goal | Workflow definition | goal.md |
|
|
63
|
+
| Hard Prompt | LLM instruction template | prompt.md |
|
|
64
|
+
| Context | Reference material | context.json / context.yaml |
|
|
65
|
+
| Args | Behavior settings | config.yaml |
|
|
66
|
+
| Compliance | Framework extensions / overlays | controls.json |
|
|
67
|
+
|
|
68
|
+
### 3.3 7-Gate Security Pipeline
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Asset submitted
|
|
72
|
+
-> Gate 1: SAST scan (bandit/ruff for Python, language-specific)
|
|
73
|
+
-> Gate 2: Secret detection (pattern matching)
|
|
74
|
+
-> Gate 3: Dependency audit (pip-audit, npm audit)
|
|
75
|
+
-> Gate 4: CUI marking validation
|
|
76
|
+
-> Gate 5: SBOM generation (CycloneDX)
|
|
77
|
+
-> Gate 6: Supply chain provenance check
|
|
78
|
+
-> Gate 7: Digital signature (RSA-SHA256)
|
|
79
|
+
-> PUBLISHED (tenant-local) or QUEUED (cross-tenant)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 4. Requirements
|
|
85
|
+
|
|
86
|
+
### 4.1 Publishing
|
|
87
|
+
|
|
88
|
+
#### REQ-22-001: Asset Publish Pipeline
|
|
89
|
+
The system SHALL validate, scan, and publish GOTCHA assets through a 7-gate security pipeline before making them available in the tenant-local catalog.
|
|
90
|
+
|
|
91
|
+
#### REQ-22-002: Cross-Tenant Promotion
|
|
92
|
+
The system SHALL require mandatory ISSO/security officer human review before promoting assets from a tenant-local catalog to the central vetted registry.
|
|
93
|
+
|
|
94
|
+
#### REQ-22-003: SBOM Generation
|
|
95
|
+
The system SHALL generate a CycloneDX SBOM for all executable assets (skills with scripts) at publish time.
|
|
96
|
+
|
|
97
|
+
### 4.2 Discovery and Installation
|
|
98
|
+
|
|
99
|
+
#### REQ-22-004: Hybrid Search
|
|
100
|
+
The system SHALL provide hybrid BM25 + semantic vector search for asset discovery, with Ollama nomic-embed-text support for air-gapped deployments.
|
|
101
|
+
|
|
102
|
+
#### REQ-22-005: IL Compatibility Check
|
|
103
|
+
The system SHALL enforce Impact Level compatibility during installation: consumer IL rank must be greater than or equal to asset IL rank (IL2=0 < IL4=1 < IL5=2 < IL6=3).
|
|
104
|
+
|
|
105
|
+
#### REQ-22-006: Dependency Resolution
|
|
106
|
+
The system SHALL resolve asset dependencies during installation and warn when required dependencies are missing.
|
|
107
|
+
|
|
108
|
+
### 4.3 Governance
|
|
109
|
+
|
|
110
|
+
#### REQ-22-007: Conflict of Interest Prevention
|
|
111
|
+
The system SHALL prevent the publisher of an asset from serving as its cross-tenant reviewer.
|
|
112
|
+
|
|
113
|
+
#### REQ-22-008: Community Ratings
|
|
114
|
+
The system SHALL support one rating per tenant per asset, enabling community-driven quality signals.
|
|
115
|
+
|
|
116
|
+
#### REQ-22-009: Immutable Versions
|
|
117
|
+
The system SHALL enforce version immutability: once published, a version cannot be modified; new changes require a new version.
|
|
118
|
+
|
|
119
|
+
#### REQ-22-010: Digital Signing
|
|
120
|
+
The system SHALL compute RSA-SHA256 digital signatures for all published assets to enable integrity verification at installation time.
|
|
121
|
+
|
|
122
|
+
### 4.4 Federation
|
|
123
|
+
|
|
124
|
+
#### REQ-22-011: Federation Sync
|
|
125
|
+
The system SHALL support bidirectional federation between tenant-local catalogs and the central vetted registry, including promote and pull operations.
|
|
126
|
+
|
|
127
|
+
#### REQ-22-012: Provenance Tracking
|
|
128
|
+
The system SHALL maintain a complete provenance chain for every asset version including publisher identity, scan results, review decisions, and installation history.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 5. Database Schema
|
|
133
|
+
|
|
134
|
+
### Tables
|
|
135
|
+
|
|
136
|
+
| Table | Purpose |
|
|
137
|
+
|-------|---------|
|
|
138
|
+
| `marketplace_assets` | Core asset registry (slug, type, tenant, IL, status) |
|
|
139
|
+
| `marketplace_versions` | Immutable version history per asset |
|
|
140
|
+
| `marketplace_reviews` | Human review queue with append-only decisions |
|
|
141
|
+
| `marketplace_installations` | Per-tenant installation tracking |
|
|
142
|
+
| `marketplace_scan_results` | Security scan results per version (7 gates) |
|
|
143
|
+
| `marketplace_ratings` | Community ratings (one per tenant per asset) |
|
|
144
|
+
| `marketplace_embeddings` | Vector embeddings for semantic search |
|
|
145
|
+
| `marketplace_dependencies` | Asset dependency graph (adjacency list) |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 6. Tools
|
|
150
|
+
|
|
151
|
+
| Tool | Purpose |
|
|
152
|
+
|------|---------|
|
|
153
|
+
| `tools/marketplace/catalog_manager.py` | CRUD for assets and versions |
|
|
154
|
+
| `tools/marketplace/asset_scanner.py` | 7-gate security scanning pipeline |
|
|
155
|
+
| `tools/marketplace/publish_pipeline.py` | Orchestrate scan, validate, sign, publish |
|
|
156
|
+
| `tools/marketplace/install_manager.py` | Install/update/uninstall with dependency resolution |
|
|
157
|
+
| `tools/marketplace/search_engine.py` | Hybrid BM25 + semantic search (Ollama air-gapped) |
|
|
158
|
+
| `tools/marketplace/review_queue.py` | Human review workflow management |
|
|
159
|
+
| `tools/marketplace/provenance_tracker.py` | Supply chain provenance tracking |
|
|
160
|
+
| `tools/marketplace/compatibility_checker.py` | IL + version + dependency compatibility |
|
|
161
|
+
| `tools/marketplace/federation_sync.py` | Tenant-local to central registry sync |
|
|
162
|
+
| `tools/mcp/marketplace_server.py` | MCP server (11 tools, 2 resources) |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## 7. Architecture Decisions
|
|
167
|
+
|
|
168
|
+
| ID | Decision | Rationale |
|
|
169
|
+
|----|----------|-----------|
|
|
170
|
+
| D74 | Marketplace is a SaaS module (reuses Phase 21 auth, RBAC, tenant isolation) | Avoids duplicating authentication and tenant management infrastructure |
|
|
171
|
+
| D75 | Federated 3-tier catalog (local, shared, central) | Balances org-level autonomy with enterprise-wide sharing |
|
|
172
|
+
| D76 | 7-gate automated + mandatory human review for cross-tenant sharing | Automated scanning catches known issues; human review catches intent/context issues |
|
|
173
|
+
| D77 | Independent IL marking per asset with high-watermark consumption rule | Prevents lower-classification environments from consuming higher-classification assets |
|
|
174
|
+
| D78 | Ollama nomic-embed-text for air-gapped semantic search | Air-gap safe vector search without cloud dependency |
|
|
175
|
+
| D79 | Full GOTCHA asset sharing (skills, goals, hardprompts, context, args, compliance) | Maximizes reuse across the entire framework, not just skills |
|
|
176
|
+
| D80 | Append-only marketplace audit trail | NIST AU compliance; full traceability of all marketplace operations |
|
|
177
|
+
| D81 | Asset SBOM required for executable assets | Supply chain traceability for assets containing runnable code |
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 8. Security Gate
|
|
182
|
+
|
|
183
|
+
**Marketplace Publish Gate:**
|
|
184
|
+
- 0 critical/high SAST findings
|
|
185
|
+
- 0 secrets detected
|
|
186
|
+
- 0 critical/high dependency vulnerabilities
|
|
187
|
+
- CUI markings present on all source files
|
|
188
|
+
- SBOM generated for executable assets
|
|
189
|
+
- Digital signature computed
|
|
190
|
+
|
|
191
|
+
**Marketplace Cross-Tenant Gate:**
|
|
192
|
+
- All publish gate requirements met
|
|
193
|
+
- Human ISSO/security officer review completed
|
|
194
|
+
- Code review confirmed
|
|
195
|
+
- Compliance review confirmed
|
|
196
|
+
|
|
197
|
+
**IL Compatibility Gate:**
|
|
198
|
+
- Consumer IL rank >= asset IL rank
|
|
199
|
+
- Asset classification marking appropriate for consumer environment
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## 9. Commands
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Publish a skill to tenant-local catalog
|
|
207
|
+
python tools/marketplace/publish_pipeline.py --asset-path /path --asset-type skill \
|
|
208
|
+
--tenant-id "tenant-abc" --publisher-user "user@mil" --json
|
|
209
|
+
|
|
210
|
+
# Search the marketplace
|
|
211
|
+
python tools/marketplace/search_engine.py --search "STIG checker" --json
|
|
212
|
+
|
|
213
|
+
# Check IL compatibility
|
|
214
|
+
python tools/marketplace/compatibility_checker.py --asset-id "asset-abc" \
|
|
215
|
+
--consumer-il IL5 --json
|
|
216
|
+
|
|
217
|
+
# Install an asset
|
|
218
|
+
python tools/marketplace/install_manager.py --install --asset-id "asset-abc" \
|
|
219
|
+
--tenant-id "tenant-abc" --json
|
|
220
|
+
|
|
221
|
+
# Review queue (ISSO/security officer)
|
|
222
|
+
python tools/marketplace/review_queue.py --pending --json
|
|
223
|
+
python tools/marketplace/review_queue.py --review --review-id "rev-abc" \
|
|
224
|
+
--reviewer-id "isso@mil" --decision approved --rationale "Passed review" --json
|
|
225
|
+
|
|
226
|
+
# Federation sync
|
|
227
|
+
python tools/marketplace/federation_sync.py --status --json
|
|
228
|
+
python tools/marketplace/federation_sync.py --promote --tenant-id "tenant-abc" --json
|
|
229
|
+
python tools/marketplace/federation_sync.py --pull --tenant-id "tenant-abc" \
|
|
230
|
+
--consumer-il IL5 --json
|
|
231
|
+
|
|
232
|
+
# Security scanning
|
|
233
|
+
python tools/marketplace/asset_scanner.py --asset-id "asset-abc" \
|
|
234
|
+
--version-id "ver-abc" --asset-path /path --json
|
|
235
|
+
|
|
236
|
+
# Catalog management
|
|
237
|
+
python tools/marketplace/catalog_manager.py --list --asset-type skill --json
|
|
238
|
+
python tools/marketplace/catalog_manager.py --get --slug "tenant-abc/my-skill" --json
|
|
239
|
+
|
|
240
|
+
# Provenance report
|
|
241
|
+
python tools/marketplace/provenance_tracker.py --report --asset-id "asset-abc" --json
|
|
242
|
+
```
|