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,322 @@
|
|
|
1
|
+
# Phase 55 — A2A v0.3 Protocol + MCP OAuth 2.1
|
|
2
|
+
|
|
3
|
+
**CUI // SP-CTI**
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| Phase | 55 |
|
|
8
|
+
| Title | A2A v0.3 Protocol + MCP OAuth 2.1 |
|
|
9
|
+
| Status | Implemented |
|
|
10
|
+
| Priority | P2 |
|
|
11
|
+
| Dependencies | Phase 11 (Multi-Agent Architecture), Phase 21 (SaaS Multi-Tenancy), Phase 46 (Observability & XAI), Phase 47 (Unified MCP Gateway) |
|
|
12
|
+
| Author | ICDEV Architect Agent |
|
|
13
|
+
| Date | 2026-02-25 |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem Statement
|
|
18
|
+
|
|
19
|
+
ICDEV's 15-agent multi-agent architecture communicates via the A2A protocol (JSON-RPC 2.0 over mutual TLS). The prior implementation used a minimal Agent Card format that lacked structured capability advertisement, task subscription streaming, and version negotiation. When a new agent joined the cluster or an existing agent gained new skills, the Orchestrator had no standardized way to discover what capabilities were available without hardcoded routing tables. There was no streaming subscription model for long-running inter-agent tasks.
|
|
20
|
+
|
|
21
|
+
Separately, MCP Streamable HTTP transport (Phase 21) relied solely on API key authentication. Connected environments need OAuth 2.1 support for external identity providers, while air-gapped IL5/IL6 environments need offline token verification without calling an external authorization server. Additionally, MCP tools had no mechanism to request user input mid-execution (elicitation) or to track long-running tool invocations as first-class lifecycle objects (tasks).
|
|
22
|
+
|
|
23
|
+
Without these capabilities, ICDEV cannot:
|
|
24
|
+
- Dynamically discover agent capabilities at runtime
|
|
25
|
+
- Subscribe to task completion events across agents
|
|
26
|
+
- Negotiate protocol versions for backward compatibility
|
|
27
|
+
- Authenticate MCP clients via OAuth 2.1 in connected environments
|
|
28
|
+
- Verify tokens offline in air-gapped deployments
|
|
29
|
+
- Pause tool execution to request user clarification
|
|
30
|
+
- Track long-running MCP tool invocations with progress updates
|
|
31
|
+
|
|
32
|
+
Phase 55 closes these gaps with A2A v0.3 protocol compliance, an agent discovery server, and MCP OAuth 2.1 with elicitation and task lifecycle support.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Goals
|
|
37
|
+
|
|
38
|
+
1. Upgrade all 15 Agent Cards to A2A v0.3 format with structured `capabilities`, `skills`, and `tasks/sendSubscribe` metadata
|
|
39
|
+
2. Add backward-compatible `protocolVersion` field for version negotiation between v0.2 and v0.3 agents
|
|
40
|
+
3. Provide a centralized discovery server for agent registration, skill-based lookup, and capability-based filtering
|
|
41
|
+
4. Implement OAuth 2.1 token verification for MCP Streamable HTTP transport with 3 verification modes (JWT, API key, HMAC)
|
|
42
|
+
5. Generate offline HMAC-signed tokens for air-gapped environments without requiring an external authorization server
|
|
43
|
+
6. Support MCP Elicitation — allow tools to pause and request user input mid-execution
|
|
44
|
+
7. Support MCP Tasks — wrap long-running tool invocations with create/progress/complete lifecycle tracking
|
|
45
|
+
8. Register new tools in the unified MCP gateway for A2A discovery and MCP OAuth operations
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 3. Architecture
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
A2A v0.3 + MCP OAuth Architecture
|
|
53
|
+
┌───────────────────────────────────────────────────────┐
|
|
54
|
+
│ agent_config.yaml │
|
|
55
|
+
│ (15 agents, ports, TLS certs, capabilities) │
|
|
56
|
+
└──────────────────────┬────────────────────────────────┘
|
|
57
|
+
│
|
|
58
|
+
┌─────────────────┼─────────────────────┐
|
|
59
|
+
↓ ↓ ↓
|
|
60
|
+
Agent Card Gen Discovery Server MCP OAuth 2.1
|
|
61
|
+
(a2a_agent_card_ (a2a_discovery_ (mcp_oauth.py)
|
|
62
|
+
generator.py) server.py)
|
|
63
|
+
│ │ │
|
|
64
|
+
↓ ↓ ↓
|
|
65
|
+
v0.3 Agent Cards Skill/Capability 3-Mode Verifier
|
|
66
|
+
(per-agent JSON) Routing + Health (JWT/APIKey/HMAC)
|
|
67
|
+
│ │ │
|
|
68
|
+
│ ↓ │
|
|
69
|
+
│ agent_registry ┌───┴───┐
|
|
70
|
+
│ (health, status) ↓ ↓
|
|
71
|
+
│ Elicitation Tasks
|
|
72
|
+
│ Handler Manager
|
|
73
|
+
│ │ │
|
|
74
|
+
└───────────────────────────────────┘ │
|
|
75
|
+
│ │
|
|
76
|
+
↓ ↓
|
|
77
|
+
Unified MCP Gateway Long-Running
|
|
78
|
+
(tool_registry.py) Tool Lifecycle
|
|
79
|
+
+ A2A Discovery Tools (create/progress/
|
|
80
|
+
+ MCP OAuth Tools complete/fail)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Key Design Principles
|
|
84
|
+
|
|
85
|
+
- **Backward compatible** — v0.3 Agent Cards include `protocolVersion` field; v0.2 clients ignore new fields (D344)
|
|
86
|
+
- **Reuse existing auth** — MCP OAuth reuses SaaS auth middleware patterns, not a new auth stack (D345)
|
|
87
|
+
- **Air-gap safe** — HMAC offline tokens use stdlib `hmac` + `hashlib`, zero external dependencies (D345)
|
|
88
|
+
- **Non-blocking elicitation** — Tools create elicitation requests and yield; user responds asynchronously (D346)
|
|
89
|
+
- **Task lifecycle** — Long-running tools get create/progress/complete/fail states with percentage tracking (D346)
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 4. Components
|
|
94
|
+
|
|
95
|
+
### Component 1: A2A v0.3 Agent Card Generator (`tools/agent/a2a_agent_card_generator.py`)
|
|
96
|
+
|
|
97
|
+
Generates v0.3-compliant Agent Cards from `args/agent_config.yaml` for all 15 ICDEV agents.
|
|
98
|
+
|
|
99
|
+
**Agent Card v0.3 Schema:**
|
|
100
|
+
| Field | Type | Description |
|
|
101
|
+
|-------|------|-------------|
|
|
102
|
+
| `name` | string | Agent identifier (e.g., `orchestrator-agent`) |
|
|
103
|
+
| `description` | string | Agent role description |
|
|
104
|
+
| `url` | string | Agent endpoint URL (mTLS) |
|
|
105
|
+
| `version` | string | Agent version (semver) |
|
|
106
|
+
| `protocolVersion` | string | A2A protocol version (`0.3`) |
|
|
107
|
+
| `contextId` | string | Context preservation identifier |
|
|
108
|
+
| `capabilities` | object | Structured capability flags |
|
|
109
|
+
| `authentication` | object | Supported auth schemes (`mutual_tls`, `api_key`) |
|
|
110
|
+
| `skills` | array | Skill definitions with input/output modes |
|
|
111
|
+
| `tasks` | object | Task subscription endpoints (`sendSubscribe`) |
|
|
112
|
+
| `metadata` | object | Tier, classification, ICDEV version |
|
|
113
|
+
|
|
114
|
+
**Default Capabilities (all agents):**
|
|
115
|
+
| Capability | Default | Description |
|
|
116
|
+
|------------|---------|-------------|
|
|
117
|
+
| `streaming` | false | Real-time response streaming |
|
|
118
|
+
| `pushNotifications` | false | Push notification support |
|
|
119
|
+
| `taskSubscription` | true | Subscribe to task completion events |
|
|
120
|
+
| `contextPreservation` | true | Preserve context across invocations |
|
|
121
|
+
| `asyncNotifications` | true | Asynchronous notification support |
|
|
122
|
+
| `stateTransitionHistory` | true | Task state transition history |
|
|
123
|
+
|
|
124
|
+
**Skill Definitions:** 15 agents with 30+ total skills mapped from `AGENT_SKILLS` registry, covering task dispatch, system design, TDD code generation, compliance (SSP/POAM/SBOM), security scanning, infrastructure, knowledge, monitoring, MBSE, modernization, requirements intake, supply chain, simulation, ZTA, and remote gateway operations.
|
|
125
|
+
|
|
126
|
+
### Component 2: A2A v0.3 Discovery Server (`tools/agent/a2a_discovery_server.py`)
|
|
127
|
+
|
|
128
|
+
Centralized agent discovery with health-aware routing and capability-based filtering.
|
|
129
|
+
|
|
130
|
+
**Discovery Operations:**
|
|
131
|
+
| Operation | Method | Description |
|
|
132
|
+
|-----------|--------|-------------|
|
|
133
|
+
| `discover_agents()` | List all | Returns all agents with cards and health status from `agent_registry` |
|
|
134
|
+
| `find_agent_for_skill(skill_id)` | Skill lookup | Find agents providing a specific skill (e.g., `ssp_generate`) |
|
|
135
|
+
| `find_agents_by_capability(cap)` | Capability filter | Find agents with a specific capability (e.g., `taskSubscription`) |
|
|
136
|
+
| `get_discovery_summary()` | Summary | Aggregate stats: tier distribution, health counts, skill totals, capability coverage |
|
|
137
|
+
|
|
138
|
+
**Health Integration:** Discovery server joins Agent Card data with live health status from the `agent_registry` table, providing real-time health-aware routing (healthy/unhealthy/unknown).
|
|
139
|
+
|
|
140
|
+
**Tier Distribution:** Agents classified as core (Orchestrator, Architect), domain (Builder, Compliance, Security, Infrastructure, MBSE, Modernization, Requirements Analyst, Supply Chain, Simulation, DevSecOps/ZTA, Gateway), and support (Knowledge, Monitor).
|
|
141
|
+
|
|
142
|
+
### Component 3: MCP OAuth 2.1 Verifier (`tools/saas/mcp_oauth.py`)
|
|
143
|
+
|
|
144
|
+
Three-mode token verification for MCP Streamable HTTP transport.
|
|
145
|
+
|
|
146
|
+
**Verification Chain (priority order):**
|
|
147
|
+
1. **API Key** (`icdev_*` prefix) — SHA-256 hash lookup against `platform.db` API keys table. Most common in ICDEV deployments.
|
|
148
|
+
2. **Offline HMAC** (`hmac_*` prefix) — HMAC-SHA256 signed payload with expiry. Air-gap safe, no database or network required.
|
|
149
|
+
3. **JWT** (3-part dot-separated) — Payload decode with expiry check. Full JWKS verification delegated to API gateway.
|
|
150
|
+
|
|
151
|
+
**Token Format (HMAC offline):**
|
|
152
|
+
```
|
|
153
|
+
hmac_<base64url(payload)>.<base64url(signature)>
|
|
154
|
+
```
|
|
155
|
+
Payload contains: `sub`, `email`, `role`, `scopes`, `tenant_id`, `iat`, `exp`, `jti`.
|
|
156
|
+
|
|
157
|
+
**Caching:** Verification results cached by SHA-256 hash of token with 5-minute TTL to reduce repeated database lookups.
|
|
158
|
+
|
|
159
|
+
**Scopes:** `mcp:read`, `mcp:write`, `mcp:execute` — granular permission control for MCP tool invocations.
|
|
160
|
+
|
|
161
|
+
### Component 4: MCP Elicitation Handler (`MCPElicitationHandler`)
|
|
162
|
+
|
|
163
|
+
Allows MCP tools to pause execution and request user input.
|
|
164
|
+
|
|
165
|
+
**Elicitation Types:**
|
|
166
|
+
| Type | Description |
|
|
167
|
+
|------|-------------|
|
|
168
|
+
| `text` | Free-form text input |
|
|
169
|
+
| `choice` | Select from predefined options |
|
|
170
|
+
| `confirm` | Yes/no confirmation |
|
|
171
|
+
|
|
172
|
+
**Lifecycle:** `create_elicitation()` -> pending -> `resolve_elicitation(id, response)` -> resolved. Tools check `get_pending()` for outstanding requests.
|
|
173
|
+
|
|
174
|
+
### Component 5: MCP Task Manager (`MCPTaskManager`)
|
|
175
|
+
|
|
176
|
+
Wraps long-running MCP tool invocations as trackable tasks with lifecycle management.
|
|
177
|
+
|
|
178
|
+
**Task States:**
|
|
179
|
+
```
|
|
180
|
+
created -> running (with progress 0-100%) -> completed | failed
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Operations:**
|
|
184
|
+
| Method | Description |
|
|
185
|
+
|--------|-------------|
|
|
186
|
+
| `create_task(tool, params)` | Create task, returns task_id |
|
|
187
|
+
| `update_progress(id, pct)` | Update progress percentage |
|
|
188
|
+
| `complete_task(id, result)` | Mark complete with result payload |
|
|
189
|
+
| `fail_task(id, error)` | Mark failed with error message |
|
|
190
|
+
| `get_task(id)` | Get current task status |
|
|
191
|
+
| `list_tasks(status)` | List tasks, optionally filtered |
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## 5. Database
|
|
196
|
+
|
|
197
|
+
### Existing Tables Used
|
|
198
|
+
|
|
199
|
+
| Table | Database | Usage |
|
|
200
|
+
|-------|----------|-------|
|
|
201
|
+
| `agent_registry` | `data/icdev.db` | Agent health status and heartbeat for discovery server health-aware routing |
|
|
202
|
+
| `api_keys` | `data/platform.db` | API key hash lookup for MCP OAuth API key verification mode |
|
|
203
|
+
| `users` | `data/platform.db` | User email and role lookup joined with API keys |
|
|
204
|
+
|
|
205
|
+
No new database tables are created by Phase 55. Agent Cards are generated dynamically from `agent_config.yaml`. Elicitation and task state are held in-memory (stateless per request cycle). HMAC tokens are self-contained and verified without database access.
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 6. Configuration
|
|
210
|
+
|
|
211
|
+
### `args/agent_config.yaml` (existing, extended)
|
|
212
|
+
|
|
213
|
+
Agent definitions now consumed by the Agent Card generator. Each agent entry contributes `port`, `host`, `id`, `description`, and optional `streaming` flag to the v0.3 Agent Card.
|
|
214
|
+
|
|
215
|
+
### Environment Variables
|
|
216
|
+
|
|
217
|
+
| Variable | Purpose | Default |
|
|
218
|
+
|----------|---------|---------|
|
|
219
|
+
| `ICDEV_MCP_OAUTH_SECRET` | HMAC secret key for offline token signing/verification | Falls back to `ICDEV_DASHBOARD_SECRET` |
|
|
220
|
+
| `ICDEV_DASHBOARD_SECRET` | Fallback HMAC secret | Auto-generated if not set |
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## 7. Dashboard
|
|
225
|
+
|
|
226
|
+
Phase 55 does not introduce new dashboard pages. Agent discovery and health information is surfaced through:
|
|
227
|
+
|
|
228
|
+
- `/agents` page — Existing agent registry with heartbeat age (Phase 10)
|
|
229
|
+
- `/traces` page — A2A distributed trace visualization (Phase 46)
|
|
230
|
+
|
|
231
|
+
Discovery server data is available via CLI and MCP tools for programmatic consumption.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## 8. Security Gates
|
|
236
|
+
|
|
237
|
+
A2A v0.3 and MCP OAuth integrate with existing security gates:
|
|
238
|
+
|
|
239
|
+
- **Remote Command Gate** — User binding required before any command execution; MCP OAuth token verification enforces identity chain (D136)
|
|
240
|
+
- **A2A mutual TLS** — All inter-agent communication uses mTLS within K8s cluster; Agent Cards declare `mutual_tls` as authentication scheme
|
|
241
|
+
- **Token expiry enforcement** — All three verification modes (JWT, API key, HMAC) check token expiry; expired tokens are rejected
|
|
242
|
+
- **HMAC tamper detection** — Offline tokens use HMAC-SHA256 with constant-time comparison (`hmac.compare_digest`) to prevent timing attacks
|
|
243
|
+
- **Scope-based access** — MCP tools require appropriate scopes (`mcp:read`, `mcp:write`, `mcp:execute`) verified from token payload
|
|
244
|
+
|
|
245
|
+
No new gate added to `args/security_gates.yaml` — Phase 55 operates within the existing authentication and authorization framework established by Phase 21 (SaaS) and Phase 28 (Remote Command Gateway).
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## 9. Verification
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# A2A v0.3 Agent Card generation
|
|
253
|
+
python tools/agent/a2a_agent_card_generator.py --all --json # Generate all 15 agent cards
|
|
254
|
+
python tools/agent/a2a_agent_card_generator.py --agent-id builder --json # Single agent card
|
|
255
|
+
python tools/agent/a2a_agent_card_generator.py --list --json # List agents summary
|
|
256
|
+
|
|
257
|
+
# A2A v0.3 Discovery Server
|
|
258
|
+
python tools/agent/a2a_discovery_server.py --list --json # Discover all agents with health
|
|
259
|
+
python tools/agent/a2a_discovery_server.py --find-skill ssp_generate --json # Skill-based lookup
|
|
260
|
+
python tools/agent/a2a_discovery_server.py --find-capability taskSubscription --json # Capability filter
|
|
261
|
+
python tools/agent/a2a_discovery_server.py --summary --json # Discovery landscape summary
|
|
262
|
+
|
|
263
|
+
# MCP OAuth 2.1 verification (programmatic)
|
|
264
|
+
python -c "
|
|
265
|
+
from tools.saas.mcp_oauth import MCPOAuthVerifier
|
|
266
|
+
v = MCPOAuthVerifier()
|
|
267
|
+
token = v.generate_offline_token('user-1', 'admin@icdev.local', 'admin')
|
|
268
|
+
result = v.verify_token(token)
|
|
269
|
+
print(f'Verified: {result[\"verified\"]}, Method: {result[\"method\"]}, Role: {result[\"role\"]}')
|
|
270
|
+
"
|
|
271
|
+
|
|
272
|
+
# MCP Elicitation (programmatic)
|
|
273
|
+
python -c "
|
|
274
|
+
from tools.saas.mcp_oauth import MCPElicitationHandler
|
|
275
|
+
h = MCPElicitationHandler()
|
|
276
|
+
req = h.create_elicitation('ssp_generate', 'Select impact level', options=['IL4','IL5','IL6'], input_type='choice')
|
|
277
|
+
print(f'Elicitation: {req[\"elicitation_id\"]}, Status: {req[\"status\"]}')
|
|
278
|
+
resolved = h.resolve_elicitation(req['elicitation_id'], 'IL5')
|
|
279
|
+
print(f'Resolved: {resolved[\"status\"]}, Response: {resolved[\"response\"]}')
|
|
280
|
+
"
|
|
281
|
+
|
|
282
|
+
# MCP Tasks (programmatic)
|
|
283
|
+
python -c "
|
|
284
|
+
from tools.saas.mcp_oauth import MCPTaskManager
|
|
285
|
+
tm = MCPTaskManager()
|
|
286
|
+
task = tm.create_task('sbom_generate', {'project_id': 'proj-123'})
|
|
287
|
+
print(f'Task: {task[\"task_id\"]}, Status: {task[\"status\"]}')
|
|
288
|
+
tm.update_progress(task['task_id'], 50, 'running')
|
|
289
|
+
tm.complete_task(task['task_id'], {'sbom_path': '/tmp/sbom.json'})
|
|
290
|
+
print(f'Final: {tm.get_task(task[\"task_id\"])[\"status\"]}')
|
|
291
|
+
"
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## 10. Architecture Decisions
|
|
297
|
+
|
|
298
|
+
| ID | Decision | Rationale |
|
|
299
|
+
|----|----------|-----------|
|
|
300
|
+
| D344 | A2A v0.3 adds `capabilities` to Agent Card and `tasks/sendSubscribe` for streaming. Backward compatible via `protocolVersion` field. | v0.2 clients ignore unknown fields; v0.3 clients use capabilities for intelligent routing. Discovery server provides skill-based and capability-based agent lookup without hardcoded routing tables. |
|
|
301
|
+
| D345 | MCP OAuth 2.1 reuses existing SaaS auth middleware. Supports offline HMAC token verification for air-gap. | No new auth stack — reuses Phase 21 API key infrastructure (SHA-256 hash lookup), extends with HMAC offline tokens for IL5/IL6 air-gapped deployments. JWT verification degrades gracefully when JWKS endpoint unavailable. |
|
|
302
|
+
| D346 | MCP Elicitation allows tools to request user input mid-execution. MCP Tasks wraps long-running tools with create/progress/complete lifecycle. | Elicitation supports interactive compliance workflows (e.g., selecting impact level during SSP generation). Task lifecycle enables progress tracking for operations that span minutes (e.g., full SBOM generation, Monte Carlo simulation). Both use in-memory state — no new database tables. |
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## 11. Files
|
|
307
|
+
|
|
308
|
+
### New Files (3)
|
|
309
|
+
| File | LOC | Purpose |
|
|
310
|
+
|------|-----|---------|
|
|
311
|
+
| `tools/agent/a2a_agent_card_generator.py` | ~285 | A2A v0.3 Agent Card generation for all 15 agents |
|
|
312
|
+
| `tools/agent/a2a_discovery_server.py` | ~250 | Centralized agent discovery with health-aware routing |
|
|
313
|
+
| `tools/saas/mcp_oauth.py` | ~400 | MCP OAuth 2.1 verifier, elicitation handler, task manager |
|
|
314
|
+
|
|
315
|
+
### Modified Files (5)
|
|
316
|
+
| File | Change |
|
|
317
|
+
|------|--------|
|
|
318
|
+
| `tools/mcp/tool_registry.py` | +A2A discovery and MCP OAuth tool entries |
|
|
319
|
+
| `tools/mcp/gap_handlers.py` | +Handler functions for discovery/oauth tools |
|
|
320
|
+
| `CLAUDE.md` | +D344-D346, +Phase 55 commands, +A2A v0.3 goal entry |
|
|
321
|
+
| `tools/manifest.md` | +A2A v0.3 and MCP OAuth section |
|
|
322
|
+
| `goals/manifest.md` | +A2A v0.3 goal entry |
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
# Phase 56 — Compliance Evidence & Artifact Lineage
|
|
2
|
+
|
|
3
|
+
**CUI // SP-CTI**
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| Phase | 56 |
|
|
8
|
+
| Title | Compliance Evidence & Artifact Lineage |
|
|
9
|
+
| Status | Implemented |
|
|
10
|
+
| Priority | P1 |
|
|
11
|
+
| Dependencies | Phase 46 (Observability & XAI), Phase 18 (MBSE Integration), Phase 23 (Universal Compliance Platform), Phase 4 (NIST Compliance) |
|
|
12
|
+
| Author | ICDEV Architect Agent |
|
|
13
|
+
| Date | 2026-02-26 |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem Statement
|
|
18
|
+
|
|
19
|
+
ICDEV supports 14 compliance frameworks (NIST 800-53, FedRAMP, CMMC, HIPAA, CJIS, PCI DSS, ISO 27001, SOC 2, NIST 800-207, MITRE ATLAS, AI Transparency, SBOM, audit trail, and more), each generating evidence across different DB tables and file artifacts. Before Phase 56, there was no unified mechanism to:
|
|
20
|
+
|
|
21
|
+
- Collect evidence across all frameworks in a single operation
|
|
22
|
+
- Check whether collected evidence is still fresh enough for an upcoming ATO assessment
|
|
23
|
+
- Integrate evidence freshness into the heartbeat monitoring daemon for continuous compliance
|
|
24
|
+
- Visualize the relationships between artifacts produced at every stage of the SDLC — from MBSE model elements through provenance activities to audit events and SBOM components
|
|
25
|
+
|
|
26
|
+
Assessors had to query each framework's DB tables individually. Compliance officers had no cross-framework inventory view. The digital thread, provenance graph, audit trail, and SBOM were four separate data silos with no unified visualization.
|
|
27
|
+
|
|
28
|
+
Phase 56 closes these gaps with two capabilities: universal evidence auto-collection with freshness monitoring (D347), and an artifact lineage DAG that joins all four data sources into a single interactive visualization (D348).
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 2. Goals
|
|
33
|
+
|
|
34
|
+
1. Provide a universal evidence collector that spans all 14 compliance frameworks in a single CLI invocation
|
|
35
|
+
2. Map each framework to its backing DB tables and file artifact patterns via a declarative registry
|
|
36
|
+
3. Compute per-framework evidence counts, freshness timestamps, and staleness alerts
|
|
37
|
+
4. Support configurable max-age thresholds for freshness checking (default 168 hours / 7 days)
|
|
38
|
+
5. Integrate evidence freshness into the heartbeat daemon for continuous compliance monitoring
|
|
39
|
+
6. Build a unified artifact lineage DAG joining 4 data sources: digital thread, W3C PROV, audit trail, and SBOM
|
|
40
|
+
7. Render the lineage DAG as an SVG visualization on the `/lineage` dashboard page
|
|
41
|
+
8. Provide a `/evidence` dashboard page with framework inventory, collection trigger, and freshness checking
|
|
42
|
+
9. Expose REST API endpoints for both evidence and lineage operations
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 3. Architecture
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
Universal Compliance Evidence & Artifact Lineage
|
|
50
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
51
|
+
│ evidence_collector.py (D347) │
|
|
52
|
+
│ FRAMEWORK_EVIDENCE_MAP: 14 frameworks → tables + globs │
|
|
53
|
+
└──────────────┬──────────────────────────────┬───────────────┘
|
|
54
|
+
│ │
|
|
55
|
+
┌───────────┴───────────┐ ┌──────────┴──────────┐
|
|
56
|
+
│ collect_evidence() │ │ check_freshness() │
|
|
57
|
+
│ per-table counts │ │ max_age_hours │
|
|
58
|
+
│ per-file hashing │ │ staleness alerts │
|
|
59
|
+
└───────────┬───────────┘ └──────────┬──────────┘
|
|
60
|
+
│ │
|
|
61
|
+
┌──────────┴──────────────────────────────┴──────────┐
|
|
62
|
+
│ Dashboard: /evidence │
|
|
63
|
+
│ stat grid · framework table · collect · freshness │
|
|
64
|
+
└─────────────────────────────────────────────────────┘
|
|
65
|
+
|
|
66
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
67
|
+
│ lineage_api.py (D348) │
|
|
68
|
+
│ 4 data sources → unified DAG (nodes + edges) │
|
|
69
|
+
└──────────────┬──────────────────────────────────────────────┘
|
|
70
|
+
│
|
|
71
|
+
┌───────────┼───────────────┬──────────────┐
|
|
72
|
+
↓ ↓ ↓ ↓
|
|
73
|
+
Digital W3C PROV Audit Trail SBOM
|
|
74
|
+
Thread Entities Events Components
|
|
75
|
+
(MBSE) + Relations (append-only) (sbom_records)
|
|
76
|
+
│ │ │ │
|
|
77
|
+
└───────────┼───────────────┘ │
|
|
78
|
+
↓ ↓
|
|
79
|
+
Nodes + Edges ────────────────────────┘
|
|
80
|
+
│
|
|
81
|
+
┌──────────┴──────────────────────────────────────────┐
|
|
82
|
+
│ Dashboard: /lineage │
|
|
83
|
+
│ stat grid · SVG DAG · artifact inventory table │
|
|
84
|
+
└─────────────────────────────────────────────────────┘
|
|
85
|
+
|
|
86
|
+
Heartbeat Integration:
|
|
87
|
+
┌──────────────────────────────────────────────────────────┐
|
|
88
|
+
│ heartbeat_daemon.py → check_evidence_freshness() │
|
|
89
|
+
│ Periodic probe → stale evidence → audit + SSE alert │
|
|
90
|
+
└──────────────────────────────────────────────────────────┘
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Key Design Principles
|
|
94
|
+
|
|
95
|
+
- **Extends existing patterns** — Evidence collector follows the `cssp_evidence_collector.py` pattern, not a new architecture (D347)
|
|
96
|
+
- **Declarative registry** — `FRAMEWORK_EVIDENCE_MAP` maps each framework to DB tables and file globs; add new frameworks without code changes (D26 pattern)
|
|
97
|
+
- **Read-only DAG** — Lineage visualization joins existing tables without creating new data or modifying sources (D348)
|
|
98
|
+
- **Air-gap safe** — All operations use stdlib `sqlite3`, `hashlib`, `pathlib`, and `xml.etree.ElementTree`; zero external dependencies
|
|
99
|
+
- **Append-only audit** — Evidence collection events recorded in the audit trail (D6 pattern)
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 4. Implementation
|
|
104
|
+
|
|
105
|
+
### Component 1: Universal Evidence Collector (`tools/compliance/evidence_collector.py`)
|
|
106
|
+
|
|
107
|
+
**Declarative Framework Registry** — `FRAMEWORK_EVIDENCE_MAP` defines 14 frameworks, each with:
|
|
108
|
+
|
|
109
|
+
| Field | Purpose |
|
|
110
|
+
|-------|---------|
|
|
111
|
+
| `description` | Human-readable framework name |
|
|
112
|
+
| `tables` | List of DB tables containing evidence for this framework |
|
|
113
|
+
| `file_patterns` | Glob patterns for file-based artifacts (e.g., `**/ssp_*.json`) |
|
|
114
|
+
| `required` | Whether this framework is mandatory for ATO readiness |
|
|
115
|
+
|
|
116
|
+
**14 Supported Frameworks:**
|
|
117
|
+
|
|
118
|
+
| Framework | Tables | Required |
|
|
119
|
+
|-----------|--------|----------|
|
|
120
|
+
| `nist_800_53` | control_implementations, audit_trail, stig_results | Yes |
|
|
121
|
+
| `fedramp` | fedramp_assessments, control_implementations, oscal_validation_log | Yes |
|
|
122
|
+
| `cmmc` | cmmc_assessments, control_implementations | No |
|
|
123
|
+
| `hipaa` | hipaa_assessments | No |
|
|
124
|
+
| `cjis` | cjis_assessments | No |
|
|
125
|
+
| `pci_dss` | pci_dss_assessments | No |
|
|
126
|
+
| `iso27001` | iso27001_assessments | No |
|
|
127
|
+
| `soc2` | soc2_assessments | No |
|
|
128
|
+
| `nist_800_207` | nist_800_207_assessments, zta_maturity_scores | No |
|
|
129
|
+
| `atlas` | atlas_assessments, atlas_red_team_results | No |
|
|
130
|
+
| `ai_transparency` | omb_m25_21_assessments, omb_m26_04_assessments, nist_ai_600_1_assessments, gao_ai_assessments, model_cards, system_cards, ai_use_case_inventory | No |
|
|
131
|
+
| `sbom` | sbom_records | Yes |
|
|
132
|
+
| `audit_trail` | audit_trail | Yes |
|
|
133
|
+
| `hitrust` | hitrust_assessments | No |
|
|
134
|
+
|
|
135
|
+
**Core Functions:**
|
|
136
|
+
|
|
137
|
+
- `collect_evidence(project_id, project_dir, framework)` — Scans all or one framework, counts DB records per table, hashes file artifacts, returns structured summary
|
|
138
|
+
- `check_freshness(project_id, max_age_hours)` — Computes evidence age for each framework, flags stale items beyond threshold
|
|
139
|
+
- `list_frameworks()` — Returns all registered frameworks with metadata
|
|
140
|
+
|
|
141
|
+
**Helper Utilities:**
|
|
142
|
+
|
|
143
|
+
- `_count_project_records()` — Counts records for a project in a table, auto-detects timestamp columns (`created_at`, `collected_at`, `assessed_at`, `timestamp`) for freshness
|
|
144
|
+
- `_hash_file()` — SHA-256 file hashing for artifact integrity verification
|
|
145
|
+
- `_compute_age_hours()` — Parses multiple timestamp formats (ISO, SQLite datetime) and computes age in hours
|
|
146
|
+
- `_table_exists()` — Safe table existence check via `sqlite_master`
|
|
147
|
+
|
|
148
|
+
### Component 2: Artifact Lineage API (`tools/dashboard/api/lineage.py`)
|
|
149
|
+
|
|
150
|
+
**Blueprint `lineage_api`** with routes:
|
|
151
|
+
|
|
152
|
+
- `GET /api/lineage/graph` — Builds the unified DAG for a project by querying 4 data sources
|
|
153
|
+
- `GET /api/lineage/stats` — Returns node/edge counts per data source
|
|
154
|
+
|
|
155
|
+
**4 Data Sources Joined into DAG:**
|
|
156
|
+
|
|
157
|
+
| Source | Table(s) | Node Type | Edge Type |
|
|
158
|
+
|--------|----------|-----------|-----------|
|
|
159
|
+
| Digital Thread | `digital_thread_links` | `source_type:source_id` | `link_type` (traces_to, implements, etc.) |
|
|
160
|
+
| W3C Provenance | `prov_entities`, `prov_relations` | `entity_type` | `relation_type` (wasGeneratedBy, used, wasDerivedFrom) |
|
|
161
|
+
| Audit Trail | `audit_trail` | `audit_event` | Temporal ordering (last 50 events) |
|
|
162
|
+
| SBOM | `sbom_records` | `sbom_component` | Component dependency (up to 100 components) |
|
|
163
|
+
|
|
164
|
+
Each node carries: `id`, `type`, `label`, `source`. Each edge carries: `source`, `target`, `relation`, `origin`.
|
|
165
|
+
|
|
166
|
+
### Component 3: Evidence Dashboard API (`tools/dashboard/api/evidence.py`)
|
|
167
|
+
|
|
168
|
+
**Blueprint `evidence_api`** with routes:
|
|
169
|
+
|
|
170
|
+
- `GET /api/evidence/stats` — Overall evidence statistics (framework count, required count, per-framework record totals)
|
|
171
|
+
- `POST /api/evidence/collect` — Trigger evidence collection for a project (accepts `project_id`, `framework`, `project_dir`)
|
|
172
|
+
- `GET /api/evidence/freshness` — Check evidence freshness for a project (accepts `project_id`, `max_age_hours`)
|
|
173
|
+
|
|
174
|
+
### Component 4: Heartbeat Integration
|
|
175
|
+
|
|
176
|
+
The heartbeat daemon (`tools/monitor/heartbeat_daemon.py`) includes an evidence freshness check that periodically probes stale evidence across all required frameworks. When evidence exceeds the configured max-age threshold, the daemon:
|
|
177
|
+
|
|
178
|
+
1. Records the staleness event in the audit trail
|
|
179
|
+
2. Pushes an SSE notification to the dashboard
|
|
180
|
+
3. Sends an alert to configured gateway channels (if enabled)
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 5. Database
|
|
185
|
+
|
|
186
|
+
Phase 56 does not create new database tables. It reads from existing tables across multiple subsystems:
|
|
187
|
+
|
|
188
|
+
### Evidence Collection — Tables Read
|
|
189
|
+
|
|
190
|
+
| Table | Framework | Purpose |
|
|
191
|
+
|-------|-----------|---------|
|
|
192
|
+
| `control_implementations` | NIST 800-53, FedRAMP, CMMC | Control implementation evidence |
|
|
193
|
+
| `audit_trail` | Audit Trail | Append-only event log |
|
|
194
|
+
| `stig_results` | NIST 800-53 | STIG scan results |
|
|
195
|
+
| `fedramp_assessments` | FedRAMP | FedRAMP assessment records |
|
|
196
|
+
| `oscal_validation_log` | FedRAMP | OSCAL validation attempts |
|
|
197
|
+
| `cmmc_assessments` | CMMC | CMMC practice assessments |
|
|
198
|
+
| `hipaa_assessments` | HIPAA | HIPAA safeguard assessments |
|
|
199
|
+
| `cjis_assessments` | CJIS | CJIS policy area assessments |
|
|
200
|
+
| `pci_dss_assessments` | PCI DSS | PCI DSS requirement assessments |
|
|
201
|
+
| `iso27001_assessments` | ISO 27001 | ISO 27001 control assessments |
|
|
202
|
+
| `soc2_assessments` | SOC 2 | SOC 2 trust criteria assessments |
|
|
203
|
+
| `nist_800_207_assessments` | NIST 800-207 | ZTA assessment records |
|
|
204
|
+
| `zta_maturity_scores` | NIST 800-207 | ZTA pillar maturity scores |
|
|
205
|
+
| `atlas_assessments` | ATLAS | MITRE ATLAS assessments |
|
|
206
|
+
| `atlas_red_team_results` | ATLAS | Red team test results |
|
|
207
|
+
| `omb_m25_21_assessments` | AI Transparency | OMB M-25-21 assessments |
|
|
208
|
+
| `omb_m26_04_assessments` | AI Transparency | OMB M-26-04 assessments |
|
|
209
|
+
| `nist_ai_600_1_assessments` | AI Transparency | NIST AI 600-1 assessments |
|
|
210
|
+
| `gao_ai_assessments` | AI Transparency | GAO AI assessments |
|
|
211
|
+
| `model_cards` | AI Transparency | AI model cards |
|
|
212
|
+
| `system_cards` | AI Transparency | AI system cards |
|
|
213
|
+
| `ai_use_case_inventory` | AI Transparency | AI use case registry |
|
|
214
|
+
| `sbom_records` | SBOM | Software bill of materials |
|
|
215
|
+
| `hitrust_assessments` | HITRUST | HITRUST CSF assessments |
|
|
216
|
+
|
|
217
|
+
### Lineage DAG — Tables Read
|
|
218
|
+
|
|
219
|
+
| Table | Source | Node Type |
|
|
220
|
+
|-------|--------|-----------|
|
|
221
|
+
| `digital_thread_links` | MBSE Digital Thread | Requirements, model elements, code modules |
|
|
222
|
+
| `prov_entities` | W3C Provenance | Provenance entities (artifacts, agents) |
|
|
223
|
+
| `prov_relations` | W3C Provenance | Provenance relationships |
|
|
224
|
+
| `audit_trail` | Audit Trail | Audit events (actions by actors) |
|
|
225
|
+
| `sbom_records` | SBOM | Software components with versions |
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## 6. Configuration
|
|
230
|
+
|
|
231
|
+
Evidence freshness thresholds are configurable via CLI flags:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# Default: 168 hours (7 days)
|
|
235
|
+
python tools/compliance/evidence_collector.py --project-id "proj-123" --freshness --max-age-hours 168 --json
|
|
236
|
+
|
|
237
|
+
# Stricter: 72 hours (3 days) for cATO environments
|
|
238
|
+
python tools/compliance/evidence_collector.py --project-id "proj-123" --freshness --max-age-hours 72 --json
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
Heartbeat daemon configuration in `args/monitoring_config.yaml` includes the evidence freshness check interval and max-age threshold.
|
|
242
|
+
|
|
243
|
+
The framework registry (`FRAMEWORK_EVIDENCE_MAP`) is defined as a Python dict constant in `evidence_collector.py`. To add a new framework, add a new entry with `description`, `tables`, `file_patterns`, and `required` fields.
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## 7. Dashboard
|
|
248
|
+
|
|
249
|
+
### `/evidence` — Compliance Evidence Inventory
|
|
250
|
+
|
|
251
|
+
- **Stat grid** (4 cards): total frameworks, required frameworks, frameworks with evidence, coverage percentage
|
|
252
|
+
- **Controls**: project ID input, "Collect Evidence" button (POST), "Check Freshness" button (GET)
|
|
253
|
+
- **Framework table**: framework ID, description, required flag, record count, status badge (green/yellow/red)
|
|
254
|
+
- **Freshness results**: per-framework age display with stale/fresh indicators
|
|
255
|
+
|
|
256
|
+
### `/lineage` — Artifact Lineage DAG
|
|
257
|
+
|
|
258
|
+
- **Stat grid** (3 cards): total nodes, total edges, data sources contributing
|
|
259
|
+
- **Controls**: project ID input, "Load Lineage" button
|
|
260
|
+
- **SVG DAG visualization**: client-side rendered DAG with color-coded nodes by source (digital thread, provenance, audit trail, SBOM); WCAG accessible (`role="img"`, `aria-label`)
|
|
261
|
+
- **Artifact inventory table**: all nodes listed with ID, type, label, source; auto-enhanced by `tables.js` (search, sort, filter, CSV export)
|
|
262
|
+
|
|
263
|
+
Both pages follow existing dashboard patterns: `base.html` extension, stat-grid layout, `table-container` wrapper, `charts.js` SVG rendering, CUI banner integration.
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## 8. Security Gates
|
|
268
|
+
|
|
269
|
+
Phase 56 does not introduce a new named security gate. Evidence freshness is enforced through the existing gate infrastructure:
|
|
270
|
+
|
|
271
|
+
- **cATO Gate** — `0 expired evidence on critical controls, readiness >= 50%` already blocks on stale evidence. Phase 56's freshness checker provides the data that feeds this gate evaluation.
|
|
272
|
+
- **Multi-Regime Gate** — `All applicable frameworks must pass individual gates` depends on evidence being current across all detected frameworks.
|
|
273
|
+
|
|
274
|
+
The evidence collector's `--freshness` flag and heartbeat integration ensure that staleness is detected proactively before gate evaluation occurs, rather than discovering it at deployment time.
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## 9. Verification
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
# CLI — Collect evidence for all frameworks
|
|
282
|
+
python tools/compliance/evidence_collector.py --project-id "proj-123" --json
|
|
283
|
+
|
|
284
|
+
# CLI — Collect evidence for a single framework
|
|
285
|
+
python tools/compliance/evidence_collector.py --project-id "proj-123" --framework fedramp --json
|
|
286
|
+
|
|
287
|
+
# CLI — Check evidence freshness (default 168-hour threshold)
|
|
288
|
+
python tools/compliance/evidence_collector.py --project-id "proj-123" --freshness --max-age-hours 168 --json
|
|
289
|
+
|
|
290
|
+
# CLI — List supported frameworks
|
|
291
|
+
python tools/compliance/evidence_collector.py --list-frameworks --json
|
|
292
|
+
|
|
293
|
+
# Dashboard — Evidence page
|
|
294
|
+
# Navigate to /evidence, enter project ID, click "Collect Evidence" or "Check Freshness"
|
|
295
|
+
|
|
296
|
+
# Dashboard — Lineage page
|
|
297
|
+
# Navigate to /lineage, enter project ID, click "Load Lineage" to render SVG DAG
|
|
298
|
+
|
|
299
|
+
# API — Evidence endpoints
|
|
300
|
+
curl http://localhost:5000/api/evidence/stats
|
|
301
|
+
curl -X POST http://localhost:5000/api/evidence/collect -d '{"project_id":"proj-123"}'
|
|
302
|
+
curl "http://localhost:5000/api/evidence/freshness?project_id=proj-123&max_age_hours=168"
|
|
303
|
+
|
|
304
|
+
# API — Lineage endpoints
|
|
305
|
+
curl "http://localhost:5000/api/lineage/graph?project_id=proj-123"
|
|
306
|
+
curl "http://localhost:5000/api/lineage/stats"
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## 10. Architecture Decisions
|
|
312
|
+
|
|
313
|
+
| ID | Decision | Rationale |
|
|
314
|
+
|----|----------|-----------|
|
|
315
|
+
| D347 | Evidence collector extends `cssp_evidence_collector.py` pattern to all 14 frameworks | Proven pattern from Phase 14; declarative framework-to-table mapping enables adding new frameworks without code changes (D26 pattern). Uses crosswalk engine for multi-framework evidence mapping. |
|
|
316
|
+
| D348 | Lineage dashboard joins digital thread + provenance + audit trail + SBOM into unified DAG visualization | Read-only SVG rendering from existing DB tables. No new data storage, no data duplication. Four previously siloed data sources become a single navigable graph for compliance officers and assessors. |
|
|
317
|
+
|
|
318
|
+
### Related Decisions
|
|
319
|
+
|
|
320
|
+
| ID | Relevance |
|
|
321
|
+
|----|-----------|
|
|
322
|
+
| D6 | Audit trail is append-only/immutable — lineage reads but never modifies |
|
|
323
|
+
| D7 | stdlib `xml.etree.ElementTree` for file parsing — air-gap safe |
|
|
324
|
+
| D26 | Declarative JSON/dict registries — add frameworks without code changes |
|
|
325
|
+
| D94 | SVG chart library (zero dependencies) — lineage DAG uses same rendering approach |
|
|
326
|
+
| D287 | W3C PROV-AGENT provenance in 3 append-only SQLite tables — lineage reads prov_entities and prov_relations |
|
|
327
|
+
| D163 | Heartbeat notifications fan out to audit trail, SSE, gateway — evidence staleness alerts use same channels |
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## 11. Files
|
|
332
|
+
|
|
333
|
+
### New Files (5)
|
|
334
|
+
|
|
335
|
+
| File | Purpose |
|
|
336
|
+
|------|---------|
|
|
337
|
+
| `tools/compliance/evidence_collector.py` | Universal compliance evidence auto-collector (14 frameworks) |
|
|
338
|
+
| `tools/dashboard/api/evidence.py` | Dashboard API Blueprint for evidence collection |
|
|
339
|
+
| `tools/dashboard/api/lineage.py` | Dashboard API Blueprint for artifact lineage DAG |
|
|
340
|
+
| `tools/dashboard/templates/evidence.html` | Evidence collection dashboard page |
|
|
341
|
+
| `tools/dashboard/templates/lineage.html` | Artifact lineage DAG dashboard page |
|
|
342
|
+
|
|
343
|
+
### Modified Files
|
|
344
|
+
|
|
345
|
+
| File | Change |
|
|
346
|
+
|------|--------|
|
|
347
|
+
| `tools/dashboard/app.py` | +/evidence and /lineage routes, +Blueprint registrations |
|
|
348
|
+
| `tools/monitor/heartbeat_daemon.py` | +evidence_freshness check integration |
|
|
349
|
+
| `tools/mcp/tool_registry.py` | +evidence and lineage tool entries in unified gateway |
|
|
350
|
+
| `CLAUDE.md` | +D347-D348, +CLI commands, +dashboard pages, +evidence collection section |
|
|
351
|
+
| `tools/manifest.md` | +Evidence Collection and Artifact Lineage entries |
|
|
352
|
+
| `goals/manifest.md` | +Evidence Collection entry |
|