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,212 @@
|
|
|
1
|
+
# Phase 29 — Proactive Monitoring
|
|
2
|
+
|
|
3
|
+
**CUI // SP-CTI**
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| Phase | 29 |
|
|
8
|
+
| Title | Proactive Monitoring |
|
|
9
|
+
| Status | Implemented |
|
|
10
|
+
| Priority | P1 |
|
|
11
|
+
| Dependencies | Phase 8 (Self-Healing System), Phase 9 (Monitoring & Observability), Phase 28 (Remote Command Gateway) |
|
|
12
|
+
| Author | ICDEV Architect Agent |
|
|
13
|
+
| Date | 2026-02-23 |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem Statement
|
|
18
|
+
|
|
19
|
+
ICDEV's existing monitoring is reactive -- the system waits for failures to occur, then matches them against known patterns for remediation. In Gov/DoD environments operating at IL4/IL5/IL6 impact levels, reactive monitoring is insufficient. Compliance evidence expires silently, certificate renewals are missed, dependency vulnerabilities accumulate unnoticed, and operator workload spikes without warning. By the time a human notices, the damage is done: an ATO lapses, a critical CVE goes unpatched past SLA, or a pipeline breaks during a mission-critical deployment window.
|
|
20
|
+
|
|
21
|
+
Proactive monitoring addresses this gap through four complementary capabilities. First, a heartbeat daemon continuously checks system health across 7 configurable dimensions with per-check intervals, detecting drift before it becomes failure. Second, webhook-triggered auto-resolution receives external alerts (from Prometheus, CloudWatch, or other monitoring systems) and automatically analyzes, diagnoses, and fixes known issues -- creating branches and pull requests for the fixes. Third, selective skill injection dynamically loads only the Claude Code skills relevant to the current task context, reducing token overhead and improving response quality. Fourth, time-decay memory ranking ensures that recent, relevant memories surface first while stale information naturally fades, improving the quality of AI-assisted decision-making.
|
|
22
|
+
|
|
23
|
+
Together, these four capabilities transform ICDEV from a system that reacts to failure into one that anticipates and prevents it, while simultaneously improving the quality of AI interactions through smarter context management.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Goals
|
|
28
|
+
|
|
29
|
+
1. Implement a heartbeat daemon with 7 configurable health checks (cATO evidence freshness, certificate expiry, dependency currency, pipeline health, agent responsiveness, DB integrity, disk usage) running at independently configurable intervals
|
|
30
|
+
2. Enable webhook-triggered auto-resolution that receives external alerts, applies the 3-tier confidence model (auto-fix >= 0.7, suggest 0.3-0.7, escalate < 0.3), and creates fix branches/PRs via the existing VCS abstraction
|
|
31
|
+
3. Provide selective skill injection that matches task context to relevant Claude Code skills using deterministic keyword-based category matching across 9 categories, reducing unnecessary skill loading
|
|
32
|
+
4. Implement time-decay memory ranking using an exponential decay formula with per-memory-type half-lives (fact=90d, event=7d, insight=30d, task=14d, preference=180d, relationship=120d) to surface the most relevant memories
|
|
33
|
+
5. Fan out heartbeat notifications to 3 sinks: append-only audit trail (always), SSE dashboard events (if dashboard running), and gateway channels (if configured)
|
|
34
|
+
6. Enforce rate limiting on auto-resolution (max 5/hour) and require human approval for infrastructure-level fixes regardless of confidence
|
|
35
|
+
7. Maintain backward compatibility -- all new features are opt-in via CLI flags and configuration, with no changes to existing behavior when flags are omitted
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 3. Architecture
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
+---------------------------------------------------------------+
|
|
43
|
+
| Proactive Monitoring Layer |
|
|
44
|
+
| |
|
|
45
|
+
| +--------------------+ +-----------------------------+ |
|
|
46
|
+
| | Heartbeat Daemon | | Webhook Auto-Resolver | |
|
|
47
|
+
| | (7 checks, YAML | | /alert-webhook endpoint | |
|
|
48
|
+
| | configurable | | 3-tier confidence model | |
|
|
49
|
+
| | intervals) | | VCS branch/PR creation | |
|
|
50
|
+
| +--------+-----------+ +-------------+---------------+ |
|
|
51
|
+
| | | |
|
|
52
|
+
| v v |
|
|
53
|
+
| +---------------------------------------------------+ |
|
|
54
|
+
| | Notification Fan-Out | |
|
|
55
|
+
| | [Audit Trail] + [SSE Dashboard] + [Gateway] | |
|
|
56
|
+
| +---------------------------------------------------+ |
|
|
57
|
+
| |
|
|
58
|
+
| +--------------------+ +-----------------------------+ |
|
|
59
|
+
| | Skill Selector | | Time-Decay Memory Ranker | |
|
|
60
|
+
| | 9 categories, | | Exponential decay formula | |
|
|
61
|
+
| | keyword matching, | | Per-type half-lives | |
|
|
62
|
+
| | file-based detect | | Integrated with hybrid | |
|
|
63
|
+
| +--------------------+ | search via --time-decay | |
|
|
64
|
+
| +-----------------------------+ |
|
|
65
|
+
+---------------------------------------------------------------+
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Heartbeat Check Registry
|
|
69
|
+
|
|
70
|
+
| Check | Default Interval | Description |
|
|
71
|
+
|-------|-----------------|-------------|
|
|
72
|
+
| cATO Evidence Freshness | 6 hours | Verify no expired critical evidence |
|
|
73
|
+
| Certificate Expiry | 12 hours | Check TLS/mTLS certificates |
|
|
74
|
+
| Dependency Currency | 24 hours | Scan for known CVEs |
|
|
75
|
+
| Pipeline Health | 1 hour | Verify CI/CD pipeline status |
|
|
76
|
+
| Agent Responsiveness | 5 minutes | Ping all registered agents |
|
|
77
|
+
| DB Integrity | 12 hours | SQLite integrity checks |
|
|
78
|
+
| Disk Usage | 1 hour | Monitor storage thresholds |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 4. Requirements
|
|
83
|
+
|
|
84
|
+
### 4.1 Heartbeat Daemon
|
|
85
|
+
|
|
86
|
+
#### REQ-29-001: Configurable Health Checks
|
|
87
|
+
The system SHALL maintain a heartbeat daemon with 7 configurable health checks, each with an independently settable interval defined in YAML configuration (D26 pattern).
|
|
88
|
+
|
|
89
|
+
#### REQ-29-002: Per-Check Cadence
|
|
90
|
+
Each health check type SHALL run at its own cadence (e.g., agent responsiveness every 5 minutes, dependency currency every 24 hours) as configured in `args/monitoring_config.yaml`.
|
|
91
|
+
|
|
92
|
+
#### REQ-29-003: Single-Pass Mode
|
|
93
|
+
The heartbeat daemon SHALL support a `--once` flag for single-pass execution and a `--check <name>` flag for running a specific check, in addition to continuous daemon mode.
|
|
94
|
+
|
|
95
|
+
#### REQ-29-004: Notification Fan-Out
|
|
96
|
+
Heartbeat results SHALL fan out to 3 sinks: the append-only audit trail (always), SSE dashboard events (if the dashboard is running), and gateway channels (if configured per Phase 28).
|
|
97
|
+
|
|
98
|
+
### 4.2 Webhook Auto-Resolution
|
|
99
|
+
|
|
100
|
+
#### REQ-29-005: Alert Webhook Endpoint
|
|
101
|
+
The system SHALL extend the existing webhook server with an `/alert-webhook` endpoint that receives external alerts from Prometheus, CloudWatch, or other monitoring systems.
|
|
102
|
+
|
|
103
|
+
#### REQ-29-006: Three-Tier Auto-Resolution
|
|
104
|
+
The auto-resolver SHALL apply the existing 3-tier self-healing decision engine: auto-fix at confidence >= 0.7, suggest fix at 0.3-0.7, and escalate with full context at < 0.3.
|
|
105
|
+
|
|
106
|
+
#### REQ-29-007: VCS Branch and PR Creation
|
|
107
|
+
When auto-resolution produces a fix, the system SHALL create a fix branch and pull request via the existing VCS abstraction (`tools/ci/modules/vcs.py`), with the fix code and explanation.
|
|
108
|
+
|
|
109
|
+
#### REQ-29-008: Rate Limiting
|
|
110
|
+
Auto-resolution SHALL enforce a maximum of 5 auto-fix actions per hour and a 10-minute cooldown between fixes targeting the same component.
|
|
111
|
+
|
|
112
|
+
### 4.3 Selective Skill Injection
|
|
113
|
+
|
|
114
|
+
#### REQ-29-009: Keyword-Based Category Matching
|
|
115
|
+
The skill selector SHALL match task context (user query text) against 9 skill categories using deterministic keyword matching, without requiring an LLM call.
|
|
116
|
+
|
|
117
|
+
#### REQ-29-010: File-Based Detection
|
|
118
|
+
The skill selector SHALL support file-based detection, inferring relevant categories from file extensions and path patterns present in the working directory.
|
|
119
|
+
|
|
120
|
+
#### REQ-29-011: Injection-Ready Output
|
|
121
|
+
The skill selector SHALL produce markdown-formatted context blocks suitable for direct injection into Claude Code sessions, including relevant commands, goals, and context directories.
|
|
122
|
+
|
|
123
|
+
#### REQ-29-012: Confidence Threshold
|
|
124
|
+
Skill matches below the configured confidence threshold (default 0.5) SHALL be excluded from injection to prevent irrelevant context loading.
|
|
125
|
+
|
|
126
|
+
### 4.4 Time-Decay Memory Ranking
|
|
127
|
+
|
|
128
|
+
#### REQ-29-013: Exponential Decay Formula
|
|
129
|
+
The system SHALL rank memory entries using the formula `2^(-(age / half_life))` where age is the time since last access and half_life is configured per memory type.
|
|
130
|
+
|
|
131
|
+
#### REQ-29-014: Per-Type Half-Lives
|
|
132
|
+
The system SHALL support configurable half-lives per memory type: fact (90 days), preference (180 days), event (7 days), insight (30 days), task (14 days), relationship (120 days).
|
|
133
|
+
|
|
134
|
+
#### REQ-29-015: Hybrid Search Integration
|
|
135
|
+
Time-decay ranking SHALL integrate with the existing hybrid search system via an opt-in `--time-decay` flag (D44 backward compatible pattern), combining relevance (0.60), recency (0.25), and importance (0.15) weights.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 5. Database Schema
|
|
140
|
+
|
|
141
|
+
### Tables
|
|
142
|
+
|
|
143
|
+
| Table | Purpose |
|
|
144
|
+
|-------|---------|
|
|
145
|
+
| `heartbeat_checks` | Per-check status records: check_name, last_run, result, next_scheduled, alert_level |
|
|
146
|
+
| `auto_resolution_log` | Append-only record of auto-resolution actions: alert_source, confidence, action_taken, branch_name, pr_url, result |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## 6. Tools
|
|
151
|
+
|
|
152
|
+
| Tool | Purpose |
|
|
153
|
+
|------|---------|
|
|
154
|
+
| `tools/monitor/heartbeat_daemon.py` | Continuous or single-pass health checking with 7 configurable checks |
|
|
155
|
+
| `tools/monitor/auto_resolver.py` | Webhook-triggered alert analysis, fix generation, branch/PR creation |
|
|
156
|
+
| `tools/agent/skill_selector.py` | Keyword-based skill category matching with file-based detection fallback |
|
|
157
|
+
| `tools/memory/time_decay.py` | Exponential time-decay scoring and ranking for memory entries |
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## 7. Architecture Decisions
|
|
162
|
+
|
|
163
|
+
| ID | Decision | Rationale |
|
|
164
|
+
|----|----------|-----------|
|
|
165
|
+
| D162 | Heartbeat daemon uses configurable check registry with per-check intervals in YAML | Each check type has its own cadence; D26 declarative pattern enables adding checks without code changes |
|
|
166
|
+
| D163 | Heartbeat notifications fan out to 3 sinks: audit trail (always), SSE (if dashboard), gateway channels (if configured) | Ensures visibility across all operator interfaces without coupling to any single one |
|
|
167
|
+
| D164 | Auto-resolver extends existing webhook_server.py with `/alert-webhook` endpoint | Avoids second Flask app, reuses HMAC verification and existing infrastructure |
|
|
168
|
+
| D165 | Auto-resolver reuses existing 3-tier self-healing decision engine (>= 0.7 auto, 0.3-0.7 suggest, < 0.3 escalate) and rate limits (5/hour) | Consistent behavior with Phase 8 self-healing; operators learn one decision model |
|
|
169
|
+
| D166 | Auto-resolver creates fix branches/PRs via existing VCS abstraction (`tools/ci/modules/vcs.py`) | Reuses Phase 13 CI/CD infrastructure; fixes are reviewable before merge |
|
|
170
|
+
| D167 | Selective skill injection via deterministic keyword-based category matching | No LLM required, declarative YAML config (D26 pattern), air-gap safe, reproducible |
|
|
171
|
+
| D168 | Time-decay uses exponential formula `2^(-(age/half_life))` with per-memory-type half-lives, opt-in via `--time-decay` flag | Natural decay model; events fade fast while facts persist; backward compatible (D44 pattern) |
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## 8. Security Gate
|
|
176
|
+
|
|
177
|
+
**Proactive Monitoring Gate:**
|
|
178
|
+
- Auto-resolution rate limited to 5 actions per hour with 10-minute cooldown per target
|
|
179
|
+
- Infrastructure-level fixes (rollback, scale, failover) require human approval regardless of confidence score
|
|
180
|
+
- All heartbeat results and auto-resolution actions recorded in append-only audit trail (NIST AU-2, IR-4, SI-5)
|
|
181
|
+
- HMAC-SHA256 signature verification required on all alert webhook payloads
|
|
182
|
+
- Alert webhook endpoint validates source IP against configured allowlist
|
|
183
|
+
- Auto-generated PRs require code review approval before merge
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 9. Commands
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# Heartbeat daemon
|
|
191
|
+
python tools/monitor/heartbeat_daemon.py # Foreground daemon (7 configurable checks)
|
|
192
|
+
python tools/monitor/heartbeat_daemon.py --once # Single pass of all checks
|
|
193
|
+
python tools/monitor/heartbeat_daemon.py --check cato_evidence # Specific check
|
|
194
|
+
python tools/monitor/heartbeat_daemon.py --status --json # Show all check statuses
|
|
195
|
+
|
|
196
|
+
# Webhook-triggered auto-resolution
|
|
197
|
+
python tools/monitor/auto_resolver.py --analyze --alert-file alert.json --json # Analyze without acting
|
|
198
|
+
python tools/monitor/auto_resolver.py --resolve --alert-file alert.json --json # Full pipeline: analyze + fix + PR
|
|
199
|
+
python tools/monitor/auto_resolver.py --history --json # Resolution history
|
|
200
|
+
|
|
201
|
+
# Selective skill injection
|
|
202
|
+
python tools/agent/skill_selector.py --query "fix the login tests" --json # Keyword-based category matching
|
|
203
|
+
python tools/agent/skill_selector.py --detect --project-dir /path --json # File-based detection
|
|
204
|
+
python tools/agent/skill_selector.py --query "deploy to staging" --format-context # Injection-ready markdown
|
|
205
|
+
|
|
206
|
+
# Time-decay memory ranking
|
|
207
|
+
python tools/memory/time_decay.py --score --entry-id 42 --json # Score single entry
|
|
208
|
+
python tools/memory/time_decay.py --rank --query "keyword" --top-k 10 --json # Time-decay ranked search
|
|
209
|
+
python tools/memory/hybrid_search.py --query "test" --time-decay # Integrated time-decay search
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**CUI // SP-CTI**
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# Phase 30 — Dashboard Authentication & RBAC
|
|
2
|
+
|
|
3
|
+
**CUI // SP-CTI**
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| Phase | 30 |
|
|
8
|
+
| Title | Dashboard Authentication & RBAC |
|
|
9
|
+
| Status | Implemented |
|
|
10
|
+
| Priority | P1 |
|
|
11
|
+
| Dependencies | Phase 10 (Web Dashboard), Phase 29 (Proactive Monitoring) |
|
|
12
|
+
| Author | ICDEV Architect Agent |
|
|
13
|
+
| Date | 2026-02-23 |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem Statement
|
|
18
|
+
|
|
19
|
+
The ICDEV dashboard exposes project status, compliance posture, security findings, audit trails, and agent health information -- all of which may contain CUI or other controlled information at IL4/IL5/IL6 impact levels. Despite this sensitivity, the dashboard currently has no authentication mechanism. Any user with network access can view every project, every compliance gap, every security finding, and the complete audit trail. This is a direct violation of NIST 800-53 AC-2 (Account Management), AC-3 (Access Enforcement), and IA-2 (Identification and Authentication).
|
|
20
|
+
|
|
21
|
+
Furthermore, different operator roles have fundamentally different information needs. A program manager needs project status and schedule risk; an ISSO needs compliance posture and security findings; a developer needs build status and test results; a contracting officer needs deliverable tracking. Presenting all information to all users creates cognitive overload and increases the risk of inadvertent CUI exposure to unauthorized personnel.
|
|
22
|
+
|
|
23
|
+
This phase adds self-contained authentication against `icdev.db` (not dependent on the SaaS layer), role-based access control with 5 operator roles, per-user API key authentication with SHA-256 hashing, Flask signed sessions for browser access, admin user management, a CUI banner toggle, and a merged activity feed combining audit trail and hook events.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Goals
|
|
28
|
+
|
|
29
|
+
1. Implement per-user API key authentication with SHA-256 hashing stored in `dashboard_api_keys` table, independent of the SaaS layer (D169)
|
|
30
|
+
2. Establish 5 RBAC roles (admin, pm, developer, isso, co) with role-based page visibility mapped to existing `ROLE_VIEWS` configuration
|
|
31
|
+
3. Provide admin user management capabilities: create admin, list users, assign roles, generate and revoke API keys
|
|
32
|
+
4. Use Flask signed sessions (`app.secret_key` from `ICDEV_DASHBOARD_SECRET` env var or auto-generated) for browser-based access (D171)
|
|
33
|
+
5. Add a CUI banner toggle via `ICDEV_CUI_BANNER_ENABLED` env var (default `true`) while preserving existing `CUI_BANNER_TOP/BOTTOM` env vars (D173)
|
|
34
|
+
6. Create a merged activity feed at `/activity` combining `audit_trail` and `hook_events` via UNION ALL query, maintaining the append-only contract (D174)
|
|
35
|
+
7. Log all authentication events (login, logout, failed attempts, key generation, key revocation) in `dashboard_auth_log` table for NIST AU-2 compliance
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 3. Architecture
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
+---------------------------------------------------------------+
|
|
43
|
+
| Dashboard Auth Layer |
|
|
44
|
+
| |
|
|
45
|
+
| +------------------+ +-------------------------------+ |
|
|
46
|
+
| | Login Page | | API Key Middleware | |
|
|
47
|
+
| | /login | | Authorization: Bearer icdev_.. | |
|
|
48
|
+
| | API key entry | | SHA-256 hash lookup | |
|
|
49
|
+
| +--------+---------+ +---------------+---------------+ |
|
|
50
|
+
| | | |
|
|
51
|
+
| v v |
|
|
52
|
+
| +---------------------------------------------------+ |
|
|
53
|
+
| | Session Management | |
|
|
54
|
+
| | Flask signed sessions | |
|
|
55
|
+
| | ICDEV_DASHBOARD_SECRET env var | |
|
|
56
|
+
| | 30-minute timeout | |
|
|
57
|
+
| +---------------------------------------------------+ |
|
|
58
|
+
| | |
|
|
59
|
+
| v |
|
|
60
|
+
| +---------------------------------------------------+ |
|
|
61
|
+
| | RBAC Engine (5 Roles) | |
|
|
62
|
+
| | admin: Full access + user management | |
|
|
63
|
+
| | pm: Projects, status, schedule, deliverables | |
|
|
64
|
+
| | developer: Build, test, code, deployments | |
|
|
65
|
+
| | isso: Compliance, security, audit, agents | |
|
|
66
|
+
| | co: Projects, deliverables, audit (read-only) | |
|
|
67
|
+
| +---------------------------------------------------+ |
|
|
68
|
+
| | |
|
|
69
|
+
| v |
|
|
70
|
+
| +---------------------------------------------------+ |
|
|
71
|
+
| | Protected Dashboard Pages | |
|
|
72
|
+
| | Role-based tab visibility per page | |
|
|
73
|
+
| | CUI banner toggle (env var controlled) | |
|
|
74
|
+
| | Activity feed (audit + hook events merged) | |
|
|
75
|
+
| +---------------------------------------------------+ |
|
|
76
|
+
+---------------------------------------------------------------+
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Authentication Flow
|
|
80
|
+
|
|
81
|
+
1. User navigates to any dashboard page
|
|
82
|
+
2. Middleware checks for valid Flask session cookie
|
|
83
|
+
3. If no session: redirect to `/login`
|
|
84
|
+
4. User enters API key on login page
|
|
85
|
+
5. Key is SHA-256 hashed, looked up in `dashboard_api_keys`
|
|
86
|
+
6. On match: Flask session created with user_id, role, expiry
|
|
87
|
+
7. Session validated on every subsequent request
|
|
88
|
+
8. Session expires after 30 minutes of inactivity
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 4. Requirements
|
|
93
|
+
|
|
94
|
+
### 4.1 Authentication
|
|
95
|
+
|
|
96
|
+
#### REQ-30-001: API Key Authentication
|
|
97
|
+
The system SHALL authenticate dashboard users via per-user API keys, hashed with SHA-256 and stored in the `dashboard_api_keys` table within `icdev.db`.
|
|
98
|
+
|
|
99
|
+
#### REQ-30-002: Self-Contained Auth (D169)
|
|
100
|
+
Dashboard authentication SHALL be self-contained against `icdev.db`, with no dependency on the SaaS platform layer, keeping the dashboard independently deployable.
|
|
101
|
+
|
|
102
|
+
#### REQ-30-003: Flask Signed Sessions (D171)
|
|
103
|
+
The system SHALL use Flask's built-in signed sessions for browser access, with the secret key sourced from `ICDEV_DASHBOARD_SECRET` environment variable or auto-generated on first run.
|
|
104
|
+
|
|
105
|
+
#### REQ-30-004: Session Expiry
|
|
106
|
+
Dashboard sessions SHALL expire after 30 minutes of inactivity, requiring re-authentication.
|
|
107
|
+
|
|
108
|
+
#### REQ-30-005: Authentication Logging
|
|
109
|
+
All authentication events (login success, login failure, logout, key generation, key revocation) SHALL be recorded in the `dashboard_auth_log` table for NIST AU-2 compliance.
|
|
110
|
+
|
|
111
|
+
### 4.2 Role-Based Access Control
|
|
112
|
+
|
|
113
|
+
#### REQ-30-006: Five Operator Roles (D172)
|
|
114
|
+
The system SHALL enforce 5 RBAC roles with distinct page visibility:
|
|
115
|
+
- **admin**: Full access to all pages plus user/key management at `/admin/users`
|
|
116
|
+
- **pm**: Projects, status, monitoring, wizard, quick-paths, batch, activity
|
|
117
|
+
- **developer**: Projects, build, test, agents, monitoring, chat, activity
|
|
118
|
+
- **isso**: Compliance, security, audit, agents, monitoring, gateway, activity
|
|
119
|
+
- **co**: Projects, deliverables, audit (read-only access)
|
|
120
|
+
|
|
121
|
+
#### REQ-30-007: Role-Based Tab Visibility
|
|
122
|
+
Project detail pages SHALL show or hide tabs (compliance, security, deployments, audit) based on the authenticated user's role.
|
|
123
|
+
|
|
124
|
+
#### REQ-30-008: Admin User Management
|
|
125
|
+
Admin users SHALL be able to create users, assign roles, generate API keys, revoke API keys, and list all users via CLI commands and the `/admin/users` dashboard page.
|
|
126
|
+
|
|
127
|
+
### 4.3 CUI Banner and Activity Feed
|
|
128
|
+
|
|
129
|
+
#### REQ-30-009: CUI Banner Toggle (D173)
|
|
130
|
+
The system SHALL support toggling CUI banners via the `ICDEV_CUI_BANNER_ENABLED` environment variable (default `true`), while preserving the existing `CUI_BANNER_TOP` and `CUI_BANNER_BOTTOM` env vars for content customization.
|
|
131
|
+
|
|
132
|
+
#### REQ-30-010: Merged Activity Feed (D174)
|
|
133
|
+
The system SHALL provide a merged activity feed at `/activity` that combines entries from `audit_trail` and `hook_events` tables via UNION ALL query, maintaining the append-only contract (D6) with no modification to either source table.
|
|
134
|
+
|
|
135
|
+
#### REQ-30-011: Activity Feed Delivery
|
|
136
|
+
The activity feed SHALL support both WebSocket (via Flask-SocketIO, additive) and HTTP polling for real-time updates, falling back gracefully when SocketIO is unavailable (D170).
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 5. Database Schema
|
|
141
|
+
|
|
142
|
+
### Tables
|
|
143
|
+
|
|
144
|
+
| Table | Purpose |
|
|
145
|
+
|-------|---------|
|
|
146
|
+
| `dashboard_users` | User records: user_id, email, name, role, created_at, active |
|
|
147
|
+
| `dashboard_api_keys` | API keys: key_hash (SHA-256), user_id, created_at, last_used, revoked |
|
|
148
|
+
| `dashboard_auth_log` | Append-only authentication event log: event_type, user_id, ip_address, timestamp, success |
|
|
149
|
+
| `dashboard_user_llm_keys` | BYOK LLM keys: user_id, provider, encrypted_key (Fernet AES-256), created_at |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 6. Tools
|
|
154
|
+
|
|
155
|
+
| Tool | Purpose |
|
|
156
|
+
|------|---------|
|
|
157
|
+
| `tools/dashboard/auth.py` | CLI for admin user management: create-admin, list-users, generate-key, revoke-key |
|
|
158
|
+
| `tools/dashboard/app.py` | Enhanced Flask app with auth middleware, session management, RBAC enforcement |
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 7. Architecture Decisions
|
|
163
|
+
|
|
164
|
+
| ID | Decision | Rationale |
|
|
165
|
+
|----|----------|-----------|
|
|
166
|
+
| D169 | Dashboard auth is self-contained against `icdev.db` (not imported from SaaS layer) | Keeps dashboard independently deployable; no coupling to Phase 21 SaaS infrastructure |
|
|
167
|
+
| D170 | WebSocket via Flask-SocketIO is additive; HTTP polling remains for backward compat | Falls back automatically when SocketIO unavailable; no breaking changes |
|
|
168
|
+
| D171 | Session cookies use Flask's built-in signed sessions with `ICDEV_DASHBOARD_SECRET` | Stdlib-compatible, no additional dependencies, air-gap safe |
|
|
169
|
+
| D172 | Dashboard RBAC: 5 roles (admin, pm, developer, isso, co) mapped to existing ROLE_VIEWS | Matches organizational structure of Gov/DoD teams without over-engineering |
|
|
170
|
+
| D173 | CUI banner toggle via `ICDEV_CUI_BANNER_ENABLED` env var (default true) | Allows non-CUI deployments (ISV, healthcare) to disable banners without code changes |
|
|
171
|
+
| D174 | Activity feed merges `audit_trail` + `hook_events` via UNION ALL query | Read-only merge preserves append-only contract (D6); no data duplication |
|
|
172
|
+
| D175 | BYOK keys stored AES-256 encrypted in `dashboard_user_llm_keys` table (Fernet) | Per-user keys override department env vars; encrypted at rest for CUI compliance |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 8. Security Gate
|
|
177
|
+
|
|
178
|
+
**Dashboard Auth Gate:**
|
|
179
|
+
- All dashboard pages require authentication (no anonymous access to any page)
|
|
180
|
+
- API keys stored as SHA-256 hashes only (plaintext never persisted)
|
|
181
|
+
- Failed login attempts rate-limited (5 failures per IP per 15 minutes)
|
|
182
|
+
- Session cookies signed with HMAC; tamper-evident
|
|
183
|
+
- Admin role required for user management operations
|
|
184
|
+
- All auth events recorded in append-only `dashboard_auth_log` (NIST AC-2, AC-3, IA-2, AU-2)
|
|
185
|
+
- CUI banners enforced on all pages when `ICDEV_CUI_BANNER_ENABLED=true`
|
|
186
|
+
- BYOK keys encrypted with Fernet AES-256 (PBKDF2, 600K iterations) before storage
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## 9. Commands
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# Dashboard auth management
|
|
194
|
+
python tools/dashboard/auth.py create-admin --email admin@icdev.local --name "Admin" # Create first admin + API key
|
|
195
|
+
python tools/dashboard/auth.py list-users # List all dashboard users
|
|
196
|
+
|
|
197
|
+
# Start dashboard (with auth enabled)
|
|
198
|
+
python tools/dashboard/app.py # Start web dashboard on port 5000
|
|
199
|
+
|
|
200
|
+
# Environment variables
|
|
201
|
+
# ICDEV_DASHBOARD_SECRET — Flask session signing key
|
|
202
|
+
# ICDEV_CUI_BANNER_ENABLED — Toggle CUI banners (default: true)
|
|
203
|
+
# ICDEV_BYOK_ENABLED — Enable BYOK LLM key management (default: false)
|
|
204
|
+
# ICDEV_BYOK_ENCRYPTION_KEY — Fernet key for BYOK encryption
|
|
205
|
+
|
|
206
|
+
# Dashboard pages (auth required)
|
|
207
|
+
# /login — API key login page
|
|
208
|
+
# /logout — Clear session and redirect to login
|
|
209
|
+
# /activity — Merged activity feed (audit + hook events)
|
|
210
|
+
# /admin/users — Admin user/key management (admin role only)
|
|
211
|
+
# /profile — User profile + BYOK LLM key management
|
|
212
|
+
# /usage — Usage tracking + cost dashboard (per-user, per-provider)
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**CUI // SP-CTI**
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Phase 31 — Dashboard UX Low Impact
|
|
2
|
+
|
|
3
|
+
**CUI // SP-CTI**
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| Phase | 31 |
|
|
8
|
+
| Title | Dashboard UX -- Low Impact Enhancements |
|
|
9
|
+
| Status | Implemented |
|
|
10
|
+
| Priority | P2 |
|
|
11
|
+
| Dependencies | Phase 10 (Web Dashboard), Phase 30 (Dashboard Authentication & RBAC) |
|
|
12
|
+
| Author | ICDEV Architect Agent |
|
|
13
|
+
| Date | 2026-02-23 |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem Statement
|
|
18
|
+
|
|
19
|
+
The ICDEV dashboard serves a diverse audience: program managers tracking schedule risk, ISSOs verifying compliance posture, developers monitoring build pipelines, and contracting officers reviewing deliverables. Many of these users operate in high-stress, time-constrained environments where cognitive overload directly impacts mission effectiveness. The existing dashboard presents raw technical data -- STIG CAT1 counts, POAM identifiers, NIST control families, CVE severity scores -- without any translation layer for non-technical operators.
|
|
20
|
+
|
|
21
|
+
A program manager seeing "0 CAT1 STIG findings" does not know whether that is good or bad. An ISSO encountering "FedRAMP Moderate baseline: 325 controls" needs to know which controls are satisfied without reading a 200-page SSP. A contracting officer viewing an audit trail full of JSON event types cannot quickly assess whether deliverables are on track.
|
|
22
|
+
|
|
23
|
+
Furthermore, the dashboard lacks basic usability affordances that users of modern web applications expect: no glossary for domain-specific acronyms, no breadcrumb navigation, no accessibility features (skip-to-content, ARIA labels), no friendly timestamps ("2 hours ago" vs "2026-02-23T14:32:00Z"), no notification system for important events, no error recovery guidance when gates fail, and no role-based filtering to show each persona only what they need.
|
|
24
|
+
|
|
25
|
+
These are "low impact" changes -- they require no new backend logic, no database schema changes, and no API modifications. They are purely presentation-layer enhancements that transform raw technical output into actionable, role-appropriate information.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 2. Goals
|
|
30
|
+
|
|
31
|
+
1. Implement a glossary tooltip system using `data-glossary` HTML attributes and client-side JavaScript, providing plain-English definitions for every Gov/DoD and ICDEV-specific acronym on hover
|
|
32
|
+
2. Add friendly timestamps throughout the dashboard ("2 hours ago", "yesterday", "last Tuesday") alongside ISO-8601 precision timestamps for auditability
|
|
33
|
+
3. Provide breadcrumb navigation on all pages for spatial orientation within the dashboard hierarchy
|
|
34
|
+
4. Implement ARIA accessibility features: skip-to-content link, role attributes, aria-labels, focus management, and WCAG 2.1 AA compliance on all interactive elements
|
|
35
|
+
5. Add notification toasts for important events (gate failures, build completions, compliance alerts) with auto-dismiss and persistence options
|
|
36
|
+
6. Create an error recovery dictionary that maps gate failure codes to plain-English fix instructions with who/what/why/fix/estimated-time fields so non-technical users can self-serve
|
|
37
|
+
7. Implement role-based views via `?role=` query parameter with Flask context processor for progressive disclosure by persona (pm, developer, isso, co)
|
|
38
|
+
8. Add help icons next to complex metrics with expandable explanations
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 3. Architecture
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
+---------------------------------------------------------------+
|
|
46
|
+
| Dashboard UX Layer (Low Impact) |
|
|
47
|
+
| |
|
|
48
|
+
| +-------------------+ +-----------------------------+ |
|
|
49
|
+
| | Jinja2 Filters | | JavaScript Modules | |
|
|
50
|
+
| | friendly_time() | | glossary.js (tooltips) | |
|
|
51
|
+
| | breadcrumb() | | notifications.js (toasts) | |
|
|
52
|
+
| | help_icon() | | accessibility.js (skip-to, | |
|
|
53
|
+
| | role_visible() | | focus management) | |
|
|
54
|
+
| +-------------------+ +-----------------------------+ |
|
|
55
|
+
| |
|
|
56
|
+
| +-------------------+ +-----------------------------+ |
|
|
57
|
+
| | UX Helpers | | Error Recovery Dictionary | |
|
|
58
|
+
| | tools/dashboard/ | | Gate failure code -> | |
|
|
59
|
+
| | ux_helpers.py | | plain-English instructions | |
|
|
60
|
+
| | Role views, term | | who/what/why/fix/est-time | |
|
|
61
|
+
| | definitions, | | | |
|
|
62
|
+
| | progress pipeline | | | |
|
|
63
|
+
| +-------------------+ +-----------------------------+ |
|
|
64
|
+
+---------------------------------------------------------------+
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Role-Based View Filtering
|
|
68
|
+
|
|
69
|
+
| Role | Visible Sections | Hidden Sections |
|
|
70
|
+
|------|-----------------|-----------------|
|
|
71
|
+
| pm | Project status, schedule, risk, deliverables, activity | Security scan details, STIG internals, agent config |
|
|
72
|
+
| developer | Build status, test results, code metrics, agents, deployments | Compliance scores, POAM details, ATO status |
|
|
73
|
+
| isso | Compliance posture, security findings, audit trail, agents | Build internals, code metrics |
|
|
74
|
+
| co | Project status, deliverables, audit trail (read-only) | Security details, build details, agent config |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 4. Requirements
|
|
79
|
+
|
|
80
|
+
### 4.1 Glossary and Tooltips
|
|
81
|
+
|
|
82
|
+
#### REQ-31-001: Glossary Tooltip System
|
|
83
|
+
The system SHALL implement a glossary tooltip system using `data-glossary` HTML attributes on domain-specific terms, with client-side JavaScript rendering plain-English definitions on hover.
|
|
84
|
+
|
|
85
|
+
#### REQ-31-002: Comprehensive Term Coverage
|
|
86
|
+
The glossary SHALL include definitions for all Gov/DoD acronyms (ATO, SSP, POAM, STIG, CUI, SBOM, FedRAMP, CMMC, cATO, IL2-IL6), ICDEV-specific terms (GOTCHA, ATLAS, RICOAS), and compliance concepts (CAT1/CAT2/CAT3, control families).
|
|
87
|
+
|
|
88
|
+
#### REQ-31-003: No Backend Changes
|
|
89
|
+
The glossary system SHALL be implemented entirely in client-side JavaScript with no backend API calls, database queries, or server-side rendering changes required.
|
|
90
|
+
|
|
91
|
+
### 4.2 Timestamps and Navigation
|
|
92
|
+
|
|
93
|
+
#### REQ-31-004: Friendly Timestamps
|
|
94
|
+
The system SHALL display friendly timestamps ("2 hours ago", "yesterday", "3 days ago") alongside ISO-8601 precision timestamps (shown on hover or in title attribute) throughout the dashboard.
|
|
95
|
+
|
|
96
|
+
#### REQ-31-005: Breadcrumb Navigation
|
|
97
|
+
Every dashboard page SHALL include breadcrumb navigation showing the current page's position in the hierarchy (e.g., Home > Projects > proj-123 > Compliance).
|
|
98
|
+
|
|
99
|
+
### 4.3 Accessibility
|
|
100
|
+
|
|
101
|
+
#### REQ-31-006: Skip-to-Content Link
|
|
102
|
+
Every dashboard page SHALL include a skip-to-content link as the first focusable element, visible on keyboard focus, for WCAG 2.1 AA compliance.
|
|
103
|
+
|
|
104
|
+
#### REQ-31-007: ARIA Attributes
|
|
105
|
+
All interactive elements (buttons, links, form controls, status indicators) SHALL include appropriate ARIA roles, labels, and state attributes.
|
|
106
|
+
|
|
107
|
+
#### REQ-31-008: Focus Management
|
|
108
|
+
The system SHALL manage focus appropriately during page transitions, modal openings, and notification appearances, ensuring keyboard-only users can navigate the full dashboard.
|
|
109
|
+
|
|
110
|
+
### 4.4 Notifications and Error Recovery
|
|
111
|
+
|
|
112
|
+
#### REQ-31-009: Notification Toasts
|
|
113
|
+
The system SHALL display notification toasts for important events (gate failures, build completions, compliance alerts) with configurable auto-dismiss timing and a manual dismiss option.
|
|
114
|
+
|
|
115
|
+
#### REQ-31-010: Error Recovery Dictionary (D92)
|
|
116
|
+
The system SHALL maintain an error recovery dictionary mapping gate failure codes to plain-English fix instructions containing: who should fix it, what failed, why it matters, how to fix it, and estimated time to resolution.
|
|
117
|
+
|
|
118
|
+
### 4.5 Role-Based Views
|
|
119
|
+
|
|
120
|
+
#### REQ-31-011: Role Query Parameter (D90)
|
|
121
|
+
The system SHALL support role-based views via `?role=` query parameter, with a Flask context processor providing role information to all templates for progressive disclosure by persona.
|
|
122
|
+
|
|
123
|
+
#### REQ-31-012: Help Icons
|
|
124
|
+
Complex metrics and compliance scores SHALL include help icons that expand to show plain-English explanations of what the metric means and what constitutes a good or bad value.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 5. Database Schema
|
|
129
|
+
|
|
130
|
+
### Tables
|
|
131
|
+
|
|
132
|
+
| Table | Purpose |
|
|
133
|
+
|-------|---------|
|
|
134
|
+
| (No new tables) | Phase 31 is presentation-layer only; all data comes from existing tables |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 6. Tools
|
|
139
|
+
|
|
140
|
+
| Tool | Purpose |
|
|
141
|
+
|------|---------|
|
|
142
|
+
| `tools/dashboard/ux_helpers.py` | UX translation functions: glossary terms, role views, error recovery dictionary, progress pipeline rendering, Quick Path templates |
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 7. Architecture Decisions
|
|
147
|
+
|
|
148
|
+
| ID | Decision | Rationale |
|
|
149
|
+
|----|----------|-----------|
|
|
150
|
+
| D88 | UX Translation Layer wraps existing tools without rewriting them | Jinja2 filters + JS modules convert technical output to business-friendly display; zero backend changes |
|
|
151
|
+
| D89 | Glossary tooltip system uses `data-glossary` HTML attributes + client-side JS | No backend changes needed to add new terms; air-gap safe, self-contained |
|
|
152
|
+
| D90 | Role-based views via `?role=` query parameter + Flask context processor | No authentication required for role filtering; progressive disclosure by persona |
|
|
153
|
+
| D91 | Getting Started wizard uses declarative path mapping (goal x role x classification) | Add new paths without code changes; guides new users to recommended workflows |
|
|
154
|
+
| D92 | Error recovery dictionary maps gate failure codes to plain-English fix instructions | Non-technical users (PMs, COs) can self-serve without requiring developer assistance |
|
|
155
|
+
| D93 | Quick Path templates are declarative data (list of dicts in ux_helpers.py) | Add new workflow shortcuts without touching templates |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 8. Security Gate
|
|
160
|
+
|
|
161
|
+
**No dedicated security gate for Phase 31.**
|
|
162
|
+
|
|
163
|
+
Phase 31 is a presentation-layer enhancement with no new data exposure, no new APIs, and no new database tables. Security is enforced by:
|
|
164
|
+
- Phase 30 authentication and RBAC (all pages require login)
|
|
165
|
+
- Role-based views restrict information visibility per persona
|
|
166
|
+
- CUI banners remain enforced on all pages
|
|
167
|
+
- No client-side JavaScript makes API calls or modifies data
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 9. Commands
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# Start dashboard with UX enhancements (all low-impact features auto-enabled)
|
|
175
|
+
python tools/dashboard/app.py
|
|
176
|
+
|
|
177
|
+
# Role-based view filtering (append to any dashboard URL)
|
|
178
|
+
# /projects?role=pm — PM-focused project view
|
|
179
|
+
# /projects?role=developer — Developer-focused project view
|
|
180
|
+
# /projects?role=isso — ISSO-focused project view
|
|
181
|
+
# /projects?role=co — CO-focused project view
|
|
182
|
+
|
|
183
|
+
# Dashboard pages with UX enhancements
|
|
184
|
+
# /wizard — Getting Started wizard (3 questions -> workflow recommendation)
|
|
185
|
+
# /quick-paths — Quick Path workflow templates + error recovery reference
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**CUI // SP-CTI**
|