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.
Files changed (1105) hide show
  1. icdev/__init__.py +18 -0
  2. icdev/_paths.py +85 -0
  3. icdev/_version.py +3 -0
  4. icdev/data/__init__.py +1 -0
  5. icdev/data/args/__init__.py +1 -0
  6. icdev/data/args/agent_authority.yaml +61 -0
  7. icdev/data/args/agent_config.yaml +355 -0
  8. icdev/data/args/agentic_fitness.yaml +31 -0
  9. icdev/data/args/ai_governance_config.yaml +137 -0
  10. icdev/data/args/atlas_critique_config.yaml +66 -0
  11. icdev/data/args/bedrock_models.yaml +63 -0
  12. icdev/data/args/cicd_config.yaml +82 -0
  13. icdev/data/args/classification_config.yaml +232 -0
  14. icdev/data/args/cli_config.yaml +154 -0
  15. icdev/data/args/cloud_config.yaml +63 -0
  16. icdev/data/args/code_pattern_config.yaml +151 -0
  17. icdev/data/args/code_quality_config.yaml +47 -0
  18. icdev/data/args/companion_registry.yaml +202 -0
  19. icdev/data/args/context_config.yaml +82 -0
  20. icdev/data/args/csp_monitor_config.yaml +268 -0
  21. icdev/data/args/cui_markings.yaml +35 -0
  22. icdev/data/args/db_config.yaml +40 -0
  23. icdev/data/args/deployment_profiles.yaml +248 -0
  24. icdev/data/args/dev_profile_config.yaml +144 -0
  25. icdev/data/args/devsecops_config.yaml +286 -0
  26. icdev/data/args/endpoint_security_config.yaml +137 -0
  27. icdev/data/args/extension_config.yaml +79 -0
  28. icdev/data/args/file_access_tiers.yaml +88 -0
  29. icdev/data/args/framework_registry.yaml +415 -0
  30. icdev/data/args/innovation_config.yaml +431 -0
  31. icdev/data/args/installation_manifest.yaml +1087 -0
  32. icdev/data/args/llm_config.yaml +495 -0
  33. icdev/data/args/maintenance_config.yaml +55 -0
  34. icdev/data/args/memory_config.yaml +83 -0
  35. icdev/data/args/monitoring_config.yaml +127 -0
  36. icdev/data/args/mosa_config.yaml +190 -0
  37. icdev/data/args/nlq_config.yaml +35 -0
  38. icdev/data/args/observability_config.yaml +39 -0
  39. icdev/data/args/observability_tracing_config.yaml +170 -0
  40. icdev/data/args/oscal_tools_config.yaml +43 -0
  41. icdev/data/args/owasp_agentic_config.yaml +171 -0
  42. icdev/data/args/phase_registry.yaml +618 -0
  43. icdev/data/args/project_defaults.yaml +235 -0
  44. icdev/data/args/prompt_chains.yaml +163 -0
  45. icdev/data/args/resilience_config.yaml +50 -0
  46. icdev/data/args/ricoas_config.yaml +191 -0
  47. icdev/data/args/role_personas.yaml +362 -0
  48. icdev/data/args/scaling_config.yaml +176 -0
  49. icdev/data/args/security_gates.yaml +685 -0
  50. icdev/data/args/skill_injection_config.yaml +322 -0
  51. icdev/data/args/spec_config.yaml +53 -0
  52. icdev/data/args/supply_chain_config.yaml +76 -0
  53. icdev/data/args/translation_config.yaml +228 -0
  54. icdev/data/args/workflow_templates/ato_acceleration.yaml +54 -0
  55. icdev/data/args/workflow_templates/build_deploy.yaml +63 -0
  56. icdev/data/args/workflow_templates/full_compliance.yaml +43 -0
  57. icdev/data/args/workflow_templates/security_hardening.yaml +55 -0
  58. icdev/data/args/worktree_config.yaml +34 -0
  59. icdev/data/args/zta_config.yaml +247 -0
  60. icdev/data/context/__init__.py +1 -0
  61. icdev/data/context/agent/__init__.py +1 -0
  62. icdev/data/context/agent/response_schemas/__init__.py +1 -0
  63. icdev/data/context/agent/response_schemas/debate_position.json +46 -0
  64. icdev/data/context/agent/response_schemas/fitness_scorecard.json +74 -0
  65. icdev/data/context/agent/response_schemas/review_decision.json +39 -0
  66. icdev/data/context/agent/response_schemas/task_decomposition.json +82 -0
  67. icdev/data/context/agent/response_schemas/veto_decision.json +40 -0
  68. icdev/data/context/agentic/__init__.py +1 -0
  69. icdev/data/context/agentic/architecture_patterns.md +269 -0
  70. icdev/data/context/agentic/capability_registry.yaml +202 -0
  71. icdev/data/context/agentic/csp_mcp_registry.yaml +280 -0
  72. icdev/data/context/agentic/fitness_rubric.md +56 -0
  73. icdev/data/context/agentic/governance_baseline.md +205 -0
  74. icdev/data/context/ci/__init__.py +1 -0
  75. icdev/data/context/ci/worktree_templates.json +44 -0
  76. icdev/data/context/cloud/__init__.py +1 -0
  77. icdev/data/context/cloud/csp_service_registry.json +739 -0
  78. icdev/data/context/compliance/__init__.py +1 -0
  79. icdev/data/context/compliance/atlas_mitigations.json +293 -0
  80. icdev/data/context/compliance/atlas_techniques.json +833 -0
  81. icdev/data/context/compliance/cisa_sbd_requirements.json +432 -0
  82. icdev/data/context/compliance/cjis_security_policy.json +522 -0
  83. icdev/data/context/compliance/cmmc_practices.json +2494 -0
  84. icdev/data/context/compliance/cmmc_report_template.md +142 -0
  85. icdev/data/context/compliance/cnssi_1253_overlay.json +109 -0
  86. icdev/data/context/compliance/control_crosswalk.json +1914 -0
  87. icdev/data/context/compliance/control_families/__init__.py +1 -0
  88. icdev/data/context/compliance/csp_certifications.json +251 -0
  89. icdev/data/context/compliance/cssp_report_template.md +193 -0
  90. icdev/data/context/compliance/cui_templates/__init__.py +1 -0
  91. icdev/data/context/compliance/cui_templates/banner_block.txt +4 -0
  92. icdev/data/context/compliance/cui_templates/code_header.txt +8 -0
  93. icdev/data/context/compliance/cui_templates/document_template.md +35 -0
  94. icdev/data/context/compliance/data_type_framework_map.json +321 -0
  95. icdev/data/context/compliance/data_type_registry.json +147 -0
  96. icdev/data/context/compliance/dod_cssp_8530.json +463 -0
  97. icdev/data/context/compliance/eu_ai_act_annex_iii.json +108 -0
  98. icdev/data/context/compliance/export_templates/__init__.py +1 -0
  99. icdev/data/context/compliance/export_templates/emass_controls.csv.j2 +4 -0
  100. icdev/data/context/compliance/export_templates/evidence_package.md.j2 +39 -0
  101. icdev/data/context/compliance/export_templates/executive_summary.md.j2 +55 -0
  102. icdev/data/context/compliance/export_templates/poam_tracking.csv.j2 +4 -0
  103. icdev/data/context/compliance/fedramp_20x_ksi_schemas.json +133 -0
  104. icdev/data/context/compliance/fedramp_high_baseline.json +4370 -0
  105. icdev/data/context/compliance/fedramp_moderate_baseline.json +2183 -0
  106. icdev/data/context/compliance/fedramp_report_template.md +181 -0
  107. icdev/data/context/compliance/fips_200_areas.json +362 -0
  108. icdev/data/context/compliance/gao_ai_accountability.json +262 -0
  109. icdev/data/context/compliance/hipaa_security_rule.json +720 -0
  110. icdev/data/context/compliance/hitrust_csf_v11.json +930 -0
  111. icdev/data/context/compliance/impact_level_profiles.json +251 -0
  112. icdev/data/context/compliance/incident_response_template.md +1110 -0
  113. icdev/data/context/compliance/iso27001_2022_controls.json +750 -0
  114. icdev/data/context/compliance/iso27001_nist_bridge.json +382 -0
  115. icdev/data/context/compliance/iso42001_controls.json +254 -0
  116. icdev/data/context/compliance/ivv_checklist_template.md +80 -0
  117. icdev/data/context/compliance/ivv_report_template.md +116 -0
  118. icdev/data/context/compliance/ivv_requirements.json +372 -0
  119. icdev/data/context/compliance/mosa_crosswalk.json +327 -0
  120. icdev/data/context/compliance/mosa_framework.json +250 -0
  121. icdev/data/context/compliance/narrative_templates/AC.md.j2 +101 -0
  122. icdev/data/context/compliance/narrative_templates/AU.md.j2 +106 -0
  123. icdev/data/context/compliance/narrative_templates/IA.md.j2 +104 -0
  124. icdev/data/context/compliance/narrative_templates/SC.md.j2 +102 -0
  125. icdev/data/context/compliance/narrative_templates/SI.md.j2 +111 -0
  126. icdev/data/context/compliance/narrative_templates/__init__.py +1 -0
  127. icdev/data/context/compliance/narrative_templates/default.md.j2 +50 -0
  128. icdev/data/context/compliance/narrative_templates/executive_summary.j2 +27 -0
  129. icdev/data/context/compliance/narrative_templates/poam_milestone.j2 +19 -0
  130. icdev/data/context/compliance/narrative_templates/ssp_section.j2 +11 -0
  131. icdev/data/context/compliance/nist_800_171_controls.json +1552 -0
  132. icdev/data/context/compliance/nist_800_207_crosswalk.json +399 -0
  133. icdev/data/context/compliance/nist_800_207_zta.json +258 -0
  134. icdev/data/context/compliance/nist_800_53.json +324 -0
  135. icdev/data/context/compliance/nist_ai_600_1_genai.json +326 -0
  136. icdev/data/context/compliance/nist_ai_rmf.json +206 -0
  137. icdev/data/context/compliance/nist_sp_800_60_types.json +1667 -0
  138. icdev/data/context/compliance/omb_m25_21_high_impact_ai.json +248 -0
  139. icdev/data/context/compliance/omb_m26_04_unbiased_ai.json +262 -0
  140. icdev/data/context/compliance/owasp_agentic_asi.json +133 -0
  141. icdev/data/context/compliance/owasp_agentic_threats.json +285 -0
  142. icdev/data/context/compliance/owasp_llm_top10.json +274 -0
  143. icdev/data/context/compliance/pci_dss_v4.json +510 -0
  144. icdev/data/context/compliance/poam_template.md +117 -0
  145. icdev/data/context/compliance/safeai_controls.json +512 -0
  146. icdev/data/context/compliance/sbd_report_template.md +77 -0
  147. icdev/data/context/compliance/siem_config_templates/__init__.py +1 -0
  148. icdev/data/context/compliance/siem_config_templates/filebeat.yml +213 -0
  149. icdev/data/context/compliance/siem_config_templates/log_sources.json +208 -0
  150. icdev/data/context/compliance/soc2_trust_criteria.json +661 -0
  151. icdev/data/context/compliance/ssp_template.md +432 -0
  152. icdev/data/context/compliance/stig_templates/__init__.py +1 -0
  153. icdev/data/context/compliance/stig_templates/webapp_stig.json +139 -0
  154. icdev/data/context/compliance/xai_requirements.json +108 -0
  155. icdev/data/context/dashboard/__init__.py +1 -0
  156. icdev/data/context/dashboard/nlq_examples.json +50 -0
  157. icdev/data/context/dashboard/schema_descriptions.json +23 -0
  158. icdev/data/context/integration/__init__.py +1 -0
  159. icdev/data/context/integration/approval_workflows.json +32 -0
  160. icdev/data/context/integration/gitlab_field_mappings.json +33 -0
  161. icdev/data/context/integration/jira_field_mappings.json +32 -0
  162. icdev/data/context/integration/reqif_export_schema.json +23 -0
  163. icdev/data/context/integration/servicenow_field_mappings.json +22 -0
  164. icdev/data/context/languages/__init__.py +1 -0
  165. icdev/data/context/languages/framework_patterns.json +205 -0
  166. icdev/data/context/languages/language_registry.json +279 -0
  167. icdev/data/context/llm/__init__.py +1 -0
  168. icdev/data/context/llm/example_provider.py +86 -0
  169. icdev/data/context/mbse/__init__.py +1 -0
  170. icdev/data/context/mbse/des_report_template.md +162 -0
  171. icdev/data/context/mbse/des_requirements.json +411 -0
  172. icdev/data/context/mbse/digital_thread_patterns.json +403 -0
  173. icdev/data/context/mbse/reqif_schema.json +280 -0
  174. icdev/data/context/mbse/sysml_element_types.json +432 -0
  175. icdev/data/context/modernization/__init__.py +1 -0
  176. icdev/data/context/modernization/db_type_mappings.json +148 -0
  177. icdev/data/context/modernization/decomposition_patterns.json +284 -0
  178. icdev/data/context/modernization/framework_migration_patterns.json +359 -0
  179. icdev/data/context/modernization/migration_report_template.md +168 -0
  180. icdev/data/context/modernization/seven_rs_catalog.json +369 -0
  181. icdev/data/context/modernization/version_upgrade_rules.json +279 -0
  182. icdev/data/context/oscal/NIST_SP-800-53_rev5_catalog.json +254987 -0
  183. icdev/data/context/oscal/README.md +43 -0
  184. icdev/data/context/patterns/__init__.py +1 -0
  185. icdev/data/context/profiles/__init__.py +1 -0
  186. icdev/data/context/profiles/dod_baseline_v1.yaml +145 -0
  187. icdev/data/context/profiles/fedramp_baseline_v1.yaml +143 -0
  188. icdev/data/context/profiles/financial_baseline_v1.yaml +142 -0
  189. icdev/data/context/profiles/healthcare_baseline_v1.yaml +135 -0
  190. icdev/data/context/profiles/law_enforcement_v1.yaml +129 -0
  191. icdev/data/context/profiles/startup_v1.yaml +134 -0
  192. icdev/data/context/requirements/__init__.py +1 -0
  193. icdev/data/context/requirements/ambiguity_patterns.json +97 -0
  194. icdev/data/context/requirements/boundary_impact_rules.json +123 -0
  195. icdev/data/context/requirements/default_constitutions.json +67 -0
  196. icdev/data/context/requirements/document_extraction_rules.json +58 -0
  197. icdev/data/context/requirements/gap_patterns.json +108 -0
  198. icdev/data/context/requirements/readiness_rubric.json +78 -0
  199. icdev/data/context/requirements/red_alternative_patterns.json +210 -0
  200. icdev/data/context/requirements/safe_templates.json +72 -0
  201. icdev/data/context/requirements/spec_quality_checklist.json +122 -0
  202. icdev/data/context/simulation/__init__.py +1 -0
  203. icdev/data/context/simulation/architecture_patterns.json +36 -0
  204. icdev/data/context/simulation/coa_templates.json +38 -0
  205. icdev/data/context/simulation/cost_models.json +23 -0
  206. icdev/data/context/simulation/risk_categories.json +46 -0
  207. icdev/data/context/supply_chain/__init__.py +1 -0
  208. icdev/data/context/supply_chain/isa_templates.json +129 -0
  209. icdev/data/context/supply_chain/nist_800_161_controls.json +247 -0
  210. icdev/data/context/supply_chain/scrm_risk_matrix.json +147 -0
  211. icdev/data/context/templates/__init__.py +1 -0
  212. icdev/data/context/templates/ansible/__init__.py +1 -0
  213. icdev/data/context/templates/ansible/playbooks/__init__.py +1 -0
  214. icdev/data/context/templates/ansible/roles/__init__.py +1 -0
  215. icdev/data/context/templates/gitlab_ci/__init__.py +1 -0
  216. icdev/data/context/templates/grafana/__init__.py +1 -0
  217. icdev/data/context/templates/kubernetes/__init__.py +1 -0
  218. icdev/data/context/templates/project/__init__.py +1 -0
  219. icdev/data/context/templates/project/api/__init__.py +1 -0
  220. icdev/data/context/templates/project/cli/__init__.py +1 -0
  221. icdev/data/context/templates/project/data_pipeline/__init__.py +1 -0
  222. icdev/data/context/templates/project/iac/__init__.py +1 -0
  223. icdev/data/context/templates/project/javascript_frontend/__init__.py +1 -0
  224. icdev/data/context/templates/project/javascript_frontend/src/__init__.py +1 -0
  225. icdev/data/context/templates/project/javascript_frontend/tests/__init__.py +1 -0
  226. icdev/data/context/templates/project/microservice/__init__.py +1 -0
  227. icdev/data/context/templates/project/python_backend/__init__.py +1 -0
  228. icdev/data/context/templates/project/python_backend/src/__init__.py +1 -0
  229. icdev/data/context/templates/project/python_backend/tests/__init__.py +1 -0
  230. icdev/data/context/templates/project/python_backend/tests/features/__init__.py +1 -0
  231. icdev/data/context/templates/project/python_backend/tests/steps/__init__.py +1 -0
  232. icdev/data/context/templates/terraform/__init__.py +1 -0
  233. icdev/data/context/templates/terraform/govcloud_base/__init__.py +1 -0
  234. icdev/data/context/templates/terraform/modules/__init__.py +1 -0
  235. icdev/data/context/tone/__init__.py +1 -0
  236. icdev/data/context/translation/dependency_mappings.json +186 -0
  237. icdev/data/context/translation/type_mappings.json +149 -0
  238. icdev/data/docs/README.md +187 -0
  239. icdev/data/docs/__init__.py +1 -0
  240. icdev/data/docs/admin/gateway-guide.md +338 -0
  241. icdev/data/docs/admin/marketplace-guide.md +396 -0
  242. icdev/data/docs/admin/monitoring-guide.md +509 -0
  243. icdev/data/docs/architecture/compliance-framework.md +764 -0
  244. icdev/data/docs/architecture/database-schema.md +689 -0
  245. icdev/data/docs/architecture/gotcha-framework.md +518 -0
  246. icdev/data/docs/architecture/multi-agent-system.md +603 -0
  247. icdev/data/docs/dx/README.md +106 -0
  248. icdev/data/docs/dx/__init__.py +1 -0
  249. icdev/data/docs/dx/ci-cd-integration.md +378 -0
  250. icdev/data/docs/dx/claude-code-guide.md +213 -0
  251. icdev/data/docs/dx/companion-guide.md +232 -0
  252. icdev/data/docs/dx/dev-profiles.md +309 -0
  253. icdev/data/docs/dx/icdev-yaml-spec.md +219 -0
  254. icdev/data/docs/dx/integration-tiers.md +279 -0
  255. icdev/data/docs/dx/llm-routing-guide.md +456 -0
  256. icdev/data/docs/dx/quickstart.md +192 -0
  257. icdev/data/docs/dx/sdk-reference.md +356 -0
  258. icdev/data/docs/dx/unified-mcp-setup.md +525 -0
  259. icdev/data/docs/features/__init__.py +1 -0
  260. icdev/data/docs/features/phase-01-gotcha-framework.md +249 -0
  261. icdev/data/docs/features/phase-02-atlas-build-workflow.md +223 -0
  262. icdev/data/docs/features/phase-03-tdd-bdd-testing.md +261 -0
  263. icdev/data/docs/features/phase-04-nist-compliance.md +255 -0
  264. icdev/data/docs/features/phase-05-security-scanning.md +229 -0
  265. icdev/data/docs/features/phase-06-infrastructure-deployment.md +288 -0
  266. icdev/data/docs/features/phase-07-code-review-gates.md +276 -0
  267. icdev/data/docs/features/phase-08-self-healing.md +223 -0
  268. icdev/data/docs/features/phase-09-monitoring-observability.md +230 -0
  269. icdev/data/docs/features/phase-10-dashboard-web-ui.md +218 -0
  270. icdev/data/docs/features/phase-11-multi-agent-architecture.md +272 -0
  271. icdev/data/docs/features/phase-12-integration-testing.md +228 -0
  272. icdev/data/docs/features/phase-13-cicd-integration.md +257 -0
  273. icdev/data/docs/features/phase-14-secure-by-design-ivv.md +240 -0
  274. icdev/data/docs/features/phase-15-maintenance-audit.md +192 -0
  275. icdev/data/docs/features/phase-16-ato-acceleration.md +228 -0
  276. icdev/data/docs/features/phase-17-multi-framework-compliance.md +223 -0
  277. icdev/data/docs/features/phase-18-mbse-integration.md +242 -0
  278. icdev/data/docs/features/phase-19-agentic-generation.md +202 -0
  279. icdev/data/docs/features/phase-20-fips-security-categorization.md +198 -0
  280. icdev/data/docs/features/phase-21-saas-multi-tenancy.md +273 -0
  281. icdev/data/docs/features/phase-22-federated-gotcha-marketplace.md +242 -0
  282. icdev/data/docs/features/phase-23-universal-compliance-platform.md +238 -0
  283. icdev/data/docs/features/phase-24-devsecops-pipeline-security.md +198 -0
  284. icdev/data/docs/features/phase-25-zero-trust-architecture.md +220 -0
  285. icdev/data/docs/features/phase-26-dod-mosa.md +205 -0
  286. icdev/data/docs/features/phase-27-cli-capabilities.md +222 -0
  287. icdev/data/docs/features/phase-28-remote-command-gateway.md +235 -0
  288. icdev/data/docs/features/phase-29-proactive-monitoring.md +212 -0
  289. icdev/data/docs/features/phase-30-dashboard-auth.md +215 -0
  290. icdev/data/docs/features/phase-31-dashboard-ux-low-impact.md +188 -0
  291. icdev/data/docs/features/phase-32-dashboard-ux-medium-impact.md +223 -0
  292. icdev/data/docs/features/phase-33-modular-installation.md +218 -0
  293. icdev/data/docs/features/phase-34-dev-profiles.md +239 -0
  294. icdev/data/docs/features/phase-35-innovation-engine.md +257 -0
  295. icdev/data/docs/features/phase-36-evolutionary-intelligence.md +351 -0
  296. icdev/data/docs/features/phase-37-mitre-atlas-integration.md +485 -0
  297. icdev/data/docs/features/phase-38-cloud-agnostic-architecture.md +1033 -0
  298. icdev/data/docs/features/phase-39-observability-operations.md +178 -0
  299. icdev/data/docs/features/phase-40-nlq-compliance-queries.md +176 -0
  300. icdev/data/docs/features/phase-41-parallel-cicd.md +169 -0
  301. icdev/data/docs/features/phase-42-framework-planning.md +177 -0
  302. icdev/data/docs/features/phase-43-cross-language-translation.md +225 -0
  303. icdev/data/docs/features/phase-44-innovation-adaptation.md +227 -0
  304. icdev/data/docs/features/phase-45-owasp-agentic-security.md +239 -0
  305. icdev/data/docs/features/phase-46-observability-traceability-xai.md +240 -0
  306. icdev/data/docs/features/phase-47-unified-mcp-gateway.md +257 -0
  307. icdev/data/docs/features/phase-48-ai-transparency.md +203 -0
  308. icdev/data/docs/features/phase-49-ai-accountability.md +243 -0
  309. icdev/data/docs/features/phase-50-ai-governance-intake-chat.md +195 -0
  310. icdev/data/docs/features/phase-51-unified-chat-dashboard.md +240 -0
  311. icdev/data/docs/features/phase-52-code-intelligence.md +244 -0
  312. icdev/data/docs/features/phase-53-fedramp-20x-owasp-asi.md +359 -0
  313. icdev/data/docs/features/phase-54-slsa-swft-orchestration.md +379 -0
  314. icdev/data/docs/features/phase-55-a2a-v03-mcp-oauth.md +322 -0
  315. icdev/data/docs/features/phase-56-evidence-lineage.md +352 -0
  316. icdev/data/docs/features/phase-57-eu-ai-act-iron-bank.md +319 -0
  317. icdev/data/docs/features/phase-58-creative-engine.md +370 -0
  318. icdev/data/docs/features/phase-59-govcon-intelligence.md +535 -0
  319. icdev/data/docs/features/phase-60-cpmp.md +528 -0
  320. icdev/data/docs/features/phase-61-orchestration-improvements.md +534 -0
  321. icdev/data/docs/operations/dashboard-guide.md +354 -0
  322. icdev/data/docs/operations/deployment-guide.md +556 -0
  323. icdev/data/docs/operations/saas-admin-guide.md +439 -0
  324. icdev/data/docs/operations/security-operations-guide.md +733 -0
  325. icdev/data/docs/runbooks/backup-restore.md +412 -0
  326. icdev/data/docs/runbooks/troubleshooting.md +499 -0
  327. icdev/data/features/__init__.py +1 -0
  328. icdev/data/features/cicd_integration.feature +41 -0
  329. icdev/data/features/compliance_gates.feature +46 -0
  330. icdev/data/features/dashboard.feature +72 -0
  331. icdev/data/features/environment.py +25 -0
  332. icdev/data/features/project_management.feature +32 -0
  333. icdev/data/features/requirements_intake.feature +42 -0
  334. icdev/data/features/saas_platform.feature +53 -0
  335. icdev/data/features/security_scanning.feature +36 -0
  336. icdev/data/features/steps/__init__.py +1 -0
  337. icdev/data/features/steps/cicd_steps.py +465 -0
  338. icdev/data/features/steps/compliance_steps.py +308 -0
  339. icdev/data/features/steps/dashboard_steps.py +88 -0
  340. icdev/data/features/steps/project_steps.py +126 -0
  341. icdev/data/features/steps/requirements_intake_steps.py +689 -0
  342. icdev/data/features/steps/saas_platform_steps.py +572 -0
  343. icdev/data/features/steps/security_steps.py +236 -0
  344. icdev/data/features/steps/testing_steps.py +226 -0
  345. icdev/data/features/testing_pipeline.feature +42 -0
  346. icdev/data/goals/__init__.py +1 -0
  347. icdev/data/goals/agent_management.md +144 -0
  348. icdev/data/goals/agentic_generation.md +345 -0
  349. icdev/data/goals/agentic_threat_model.md +309 -0
  350. icdev/data/goals/ai_accountability.md +90 -0
  351. icdev/data/goals/ai_governance_intake.md +132 -0
  352. icdev/data/goals/ai_transparency.md +76 -0
  353. icdev/data/goals/atlas_integration.md +405 -0
  354. icdev/data/goals/ato_acceleration.md +139 -0
  355. icdev/data/goals/boundary_supply_chain.md +206 -0
  356. icdev/data/goals/build_app.md +544 -0
  357. icdev/data/goals/cicd_integration.md +86 -0
  358. icdev/data/goals/claude_dir_maintenance.md +77 -0
  359. icdev/data/goals/cli_capabilities.md +340 -0
  360. icdev/data/goals/cloud_agnostic.md +312 -0
  361. icdev/data/goals/code_intelligence.md +197 -0
  362. icdev/data/goals/code_review.md +94 -0
  363. icdev/data/goals/compliance_workflow.md +858 -0
  364. icdev/data/goals/continuous_harmonization.md +140 -0
  365. icdev/data/goals/cross_language_translation.md +171 -0
  366. icdev/data/goals/dashboard.md +142 -0
  367. icdev/data/goals/deploy_workflow.md +390 -0
  368. icdev/data/goals/devsecops_workflow.md +408 -0
  369. icdev/data/goals/evolutionary_intelligence.md +305 -0
  370. icdev/data/goals/external_integration.md +113 -0
  371. icdev/data/goals/framework_planning.md +63 -0
  372. icdev/data/goals/init_project.md +235 -0
  373. icdev/data/goals/innovation_engine.md +199 -0
  374. icdev/data/goals/integration_testing.md +189 -0
  375. icdev/data/goals/maintenance_audit.md +196 -0
  376. icdev/data/goals/manifest.md +56 -0
  377. icdev/data/goals/mbse_integration.md +504 -0
  378. icdev/data/goals/modernization_workflow.md +618 -0
  379. icdev/data/goals/monitoring.md +126 -0
  380. icdev/data/goals/mosa_workflow.md +463 -0
  381. icdev/data/goals/multi_agent_orchestration.md +68 -0
  382. icdev/data/goals/nlq_compliance.md +63 -0
  383. icdev/data/goals/observability.md +64 -0
  384. icdev/data/goals/observability_traceability_xai.md +154 -0
  385. icdev/data/goals/owasp_agentic_security.md +395 -0
  386. icdev/data/goals/parallel_cicd.md +61 -0
  387. icdev/data/goals/requirements_intake.md +213 -0
  388. icdev/data/goals/sbd_ivv_workflow.md +195 -0
  389. icdev/data/goals/security_categorization.md +133 -0
  390. icdev/data/goals/security_scan.md +381 -0
  391. icdev/data/goals/self_healing.md +120 -0
  392. icdev/data/goals/simulation_engine.md +111 -0
  393. icdev/data/goals/tdd_workflow.md +403 -0
  394. icdev/data/goals/zero_trust_architecture.md +403 -0
  395. icdev/data/hardprompts/__init__.py +1 -0
  396. icdev/data/hardprompts/agent/__init__.py +1 -0
  397. icdev/data/hardprompts/agent/agentic_architect.md +100 -0
  398. icdev/data/hardprompts/agent/debate_prompt.md +32 -0
  399. icdev/data/hardprompts/agent/fitness_evaluation.md +48 -0
  400. icdev/data/hardprompts/agent/governance_review.md +214 -0
  401. icdev/data/hardprompts/agent/reviewer_prompt.md +34 -0
  402. icdev/data/hardprompts/agent/skill_design.md +172 -0
  403. icdev/data/hardprompts/agent/task_decomposition.md +275 -0
  404. icdev/data/hardprompts/agent/veto_check_prompt.md +33 -0
  405. icdev/data/hardprompts/architect/__init__.py +1 -0
  406. icdev/data/hardprompts/architect/api_design.md +283 -0
  407. icdev/data/hardprompts/architect/data_model.md +277 -0
  408. icdev/data/hardprompts/architect/system_design.md +180 -0
  409. icdev/data/hardprompts/builder/__init__.py +1 -0
  410. icdev/data/hardprompts/builder/code_generation.md +59 -0
  411. icdev/data/hardprompts/builder/refactor.md +58 -0
  412. icdev/data/hardprompts/builder/scaffold_project.md +69 -0
  413. icdev/data/hardprompts/builder/test_generation.md +87 -0
  414. icdev/data/hardprompts/ci/__init__.py +1 -0
  415. icdev/data/hardprompts/ci/worktree_setup.md +35 -0
  416. icdev/data/hardprompts/compliance/__init__.py +1 -0
  417. icdev/data/hardprompts/compliance/cmmc_assessment.md +63 -0
  418. icdev/data/hardprompts/compliance/cssp_assessment.md +75 -0
  419. icdev/data/hardprompts/compliance/cui_marking.md +86 -0
  420. icdev/data/hardprompts/compliance/fedramp_assessment.md +55 -0
  421. icdev/data/hardprompts/compliance/ivv_assessment.md +96 -0
  422. icdev/data/hardprompts/compliance/poam_generation.md +57 -0
  423. icdev/data/hardprompts/compliance/sbd_assessment.md +101 -0
  424. icdev/data/hardprompts/compliance/security_categorization.md +74 -0
  425. icdev/data/hardprompts/compliance/ssp_generation.md +56 -0
  426. icdev/data/hardprompts/compliance/stig_evaluation.md +63 -0
  427. icdev/data/hardprompts/dashboard/__init__.py +1 -0
  428. icdev/data/hardprompts/dashboard/nlq_system_prompt.md +26 -0
  429. icdev/data/hardprompts/infra/__init__.py +1 -0
  430. icdev/data/hardprompts/infra/k8s_manifests.md +118 -0
  431. icdev/data/hardprompts/infra/pipeline_generation.md +160 -0
  432. icdev/data/hardprompts/infra/terraform_generation.md +92 -0
  433. icdev/data/hardprompts/integration/__init__.py +1 -0
  434. icdev/data/hardprompts/integration/approval_review.md +17 -0
  435. icdev/data/hardprompts/integration/jira_mapping.md +25 -0
  436. icdev/data/hardprompts/integration/servicenow_mapping.md +14 -0
  437. icdev/data/hardprompts/knowledge/__init__.py +1 -0
  438. icdev/data/hardprompts/knowledge/pattern_detection.md +73 -0
  439. icdev/data/hardprompts/knowledge/recommendation_engine.md +90 -0
  440. icdev/data/hardprompts/knowledge/root_cause_analysis.md +91 -0
  441. icdev/data/hardprompts/maintenance/__init__.py +1 -0
  442. icdev/data/hardprompts/maintenance/maintenance_assessment.md +82 -0
  443. icdev/data/hardprompts/mbse/__init__.py +1 -0
  444. icdev/data/hardprompts/mbse/digital_thread.md +67 -0
  445. icdev/data/hardprompts/mbse/model_import.md +62 -0
  446. icdev/data/hardprompts/mbse/model_to_code.md +65 -0
  447. icdev/data/hardprompts/modernization/__init__.py +1 -0
  448. icdev/data/hardprompts/modernization/legacy_analysis.md +93 -0
  449. icdev/data/hardprompts/modernization/migration_planning.md +150 -0
  450. icdev/data/hardprompts/modernization/seven_r_assessment.md +107 -0
  451. icdev/data/hardprompts/requirements/__init__.py +1 -0
  452. icdev/data/hardprompts/requirements/bdd_generation.md +35 -0
  453. icdev/data/hardprompts/requirements/clarification_prioritization.md +29 -0
  454. icdev/data/hardprompts/requirements/decomposition.md +60 -0
  455. icdev/data/hardprompts/requirements/document_extraction.md +45 -0
  456. icdev/data/hardprompts/requirements/gap_detection.md +70 -0
  457. icdev/data/hardprompts/requirements/intake_conversation.md +101 -0
  458. icdev/data/hardprompts/requirements/readiness_assessment.md +39 -0
  459. icdev/data/hardprompts/requirements/spec_quality.md +33 -0
  460. icdev/data/hardprompts/requirements/traceability_analysis.md +23 -0
  461. icdev/data/hardprompts/security/__init__.py +1 -0
  462. icdev/data/hardprompts/security/endpoint_security.md +78 -0
  463. icdev/data/hardprompts/security/threat_model.md +70 -0
  464. icdev/data/hardprompts/security/vulnerability_assessment.md +81 -0
  465. icdev/data/hardprompts/simulation/__init__.py +1 -0
  466. icdev/data/hardprompts/simulation/architecture_impact.md +27 -0
  467. icdev/data/hardprompts/simulation/coa_alternative.md +27 -0
  468. icdev/data/hardprompts/simulation/coa_generation.md +25 -0
  469. icdev/data/hardprompts/simulation/compliance_impact.md +28 -0
  470. icdev/data/hardprompts/simulation/cost_estimation.md +33 -0
  471. icdev/data/hardprompts/simulation/risk_assessment.md +28 -0
  472. icdev/data/hardprompts/translation/code_translation.md +68 -0
  473. icdev/data/hardprompts/translation/dependency_suggestion.md +44 -0
  474. icdev/data/hardprompts/translation/test_translation.md +64 -0
  475. icdev/data/hardprompts/translation/translation_repair.md +59 -0
  476. icdev/py.typed +0 -0
  477. icdev/tools/__init__.py +1 -0
  478. icdev/tools/_gen_formatter.py +12 -0
  479. icdev/tools/a2a/__init__.py +1 -0
  480. icdev/tools/a2a/agent_cards/architect.json +43 -0
  481. icdev/tools/a2a/agent_cards/builder.json +50 -0
  482. icdev/tools/a2a/agent_cards/compliance.json +57 -0
  483. icdev/tools/a2a/agent_cards/devsecops.json +71 -0
  484. icdev/tools/a2a/agent_cards/infra.json +57 -0
  485. icdev/tools/a2a/agent_cards/integration.json +57 -0
  486. icdev/tools/a2a/agent_cards/knowledge.json +43 -0
  487. icdev/tools/a2a/agent_cards/mbse.json +57 -0
  488. icdev/tools/a2a/agent_cards/modernization.json +50 -0
  489. icdev/tools/a2a/agent_cards/monitor.json +43 -0
  490. icdev/tools/a2a/agent_cards/orchestrator.json +36 -0
  491. icdev/tools/a2a/agent_cards/requirements_analyst.json +64 -0
  492. icdev/tools/a2a/agent_cards/security.json +50 -0
  493. icdev/tools/a2a/agent_cards/simulation.json +57 -0
  494. icdev/tools/a2a/agent_cards/supply_chain.json +50 -0
  495. icdev/tools/a2a/agent_client.py +349 -0
  496. icdev/tools/a2a/agent_registry.py +412 -0
  497. icdev/tools/a2a/agent_server.py +579 -0
  498. icdev/tools/a2a/task.py +200 -0
  499. icdev/tools/agent/__init__.py +2 -0
  500. icdev/tools/agent/a2a_agent_card_generator.py +285 -0
  501. icdev/tools/agent/a2a_discovery_server.py +250 -0
  502. icdev/tools/agent/agent_executor.py +529 -0
  503. icdev/tools/agent/agent_memory.py +557 -0
  504. icdev/tools/agent/agent_models.py +51 -0
  505. icdev/tools/agent/atlas_critique.py +908 -0
  506. icdev/tools/agent/authority.py +443 -0
  507. icdev/tools/agent/bedrock_client.py +1075 -0
  508. icdev/tools/agent/collaboration.py +871 -0
  509. icdev/tools/agent/dispatcher_mode.py +665 -0
  510. icdev/tools/agent/mailbox.py +575 -0
  511. icdev/tools/agent/prompt_chain_executor.py +1064 -0
  512. icdev/tools/agent/session_purpose.py +350 -0
  513. icdev/tools/agent/skill_router.py +638 -0
  514. icdev/tools/agent/skill_selector.py +486 -0
  515. icdev/tools/agent/team_orchestrator.py +1108 -0
  516. icdev/tools/agent/token_tracker.py +290 -0
  517. icdev/tools/analysis/__init__.py +1 -0
  518. icdev/tools/analysis/code_analyzer.py +780 -0
  519. icdev/tools/analysis/runtime_feedback.py +389 -0
  520. icdev/tools/audit/__init__.py +1 -0
  521. icdev/tools/audit/audit_logger.py +196 -0
  522. icdev/tools/audit/audit_query.py +157 -0
  523. icdev/tools/audit/decision_recorder.py +72 -0
  524. icdev/tools/builder/__init__.py +1 -0
  525. icdev/tools/builder/agentic_fitness.py +534 -0
  526. icdev/tools/builder/agentic_test_templates/test_a2a_callback.py +117 -0
  527. icdev/tools/builder/agentic_test_templates/test_a2a_lifecycle.feature +52 -0
  528. icdev/tools/builder/agentic_test_templates/test_agent_card.feature +37 -0
  529. icdev/tools/builder/agentic_test_templates/test_agent_health.py +128 -0
  530. icdev/tools/builder/agentic_test_templates/test_memory_system.feature +50 -0
  531. icdev/tools/builder/agentic_test_templates/test_skill_execution.feature +40 -0
  532. icdev/tools/builder/app_blueprint.py +1583 -0
  533. icdev/tools/builder/child_app_generator.py +2852 -0
  534. icdev/tools/builder/claude_md_generator.py +1734 -0
  535. icdev/tools/builder/code_generator.py +3703 -0
  536. icdev/tools/builder/db_init_generator.py +1709 -0
  537. icdev/tools/builder/dev_profile_manager.py +954 -0
  538. icdev/tools/builder/formatter.py +768 -0
  539. icdev/tools/builder/goal_adapter.py +592 -0
  540. icdev/tools/builder/gotcha_validator.py +812 -0
  541. icdev/tools/builder/language_support.py +441 -0
  542. icdev/tools/builder/linter.py +976 -0
  543. icdev/tools/builder/profile_detector.py +657 -0
  544. icdev/tools/builder/profile_md_generator.py +723 -0
  545. icdev/tools/builder/scaffolder.py +1590 -0
  546. icdev/tools/builder/scaffolder_extended.py +1771 -0
  547. icdev/tools/builder/test_writer.py +950 -0
  548. icdev/tools/ci/__init__.py +2 -0
  549. icdev/tools/ci/connectors/__init__.py +2 -0
  550. icdev/tools/ci/connectors/base_connector.py +80 -0
  551. icdev/tools/ci/connectors/connector_registry.py +188 -0
  552. icdev/tools/ci/connectors/mattermost_connector.py +159 -0
  553. icdev/tools/ci/connectors/slack_connector.py +197 -0
  554. icdev/tools/ci/core/__init__.py +2 -0
  555. icdev/tools/ci/core/air_gap_detector.py +115 -0
  556. icdev/tools/ci/core/comment_handler.py +192 -0
  557. icdev/tools/ci/core/conversation_manager.py +479 -0
  558. icdev/tools/ci/core/event_envelope.py +500 -0
  559. icdev/tools/ci/core/event_router.py +443 -0
  560. icdev/tools/ci/core/failure_parser.py +397 -0
  561. icdev/tools/ci/core/recovery_engine.py +527 -0
  562. icdev/tools/ci/modules/__init__.py +2 -0
  563. icdev/tools/ci/modules/agent.py +271 -0
  564. icdev/tools/ci/modules/git_ops.py +175 -0
  565. icdev/tools/ci/modules/state.py +117 -0
  566. icdev/tools/ci/modules/vcs.py +303 -0
  567. icdev/tools/ci/modules/workflow_ops.py +295 -0
  568. icdev/tools/ci/modules/worktree.py +340 -0
  569. icdev/tools/ci/pipeline_config_generator.py +558 -0
  570. icdev/tools/ci/triggers/__init__.py +2 -0
  571. icdev/tools/ci/triggers/gitlab_task_monitor.py +330 -0
  572. icdev/tools/ci/triggers/poll_trigger.py +237 -0
  573. icdev/tools/ci/triggers/webhook_server.py +356 -0
  574. icdev/tools/ci/workflows/__init__.py +2 -0
  575. icdev/tools/ci/workflows/icdev_build.py +140 -0
  576. icdev/tools/ci/workflows/icdev_comply.py +284 -0
  577. icdev/tools/ci/workflows/icdev_document.py +152 -0
  578. icdev/tools/ci/workflows/icdev_e2e.py +188 -0
  579. icdev/tools/ci/workflows/icdev_patch.py +186 -0
  580. icdev/tools/ci/workflows/icdev_plan.py +202 -0
  581. icdev/tools/ci/workflows/icdev_plan_build.py +41 -0
  582. icdev/tools/ci/workflows/icdev_plan_build_test.py +46 -0
  583. icdev/tools/ci/workflows/icdev_plan_build_test_review.py +47 -0
  584. icdev/tools/ci/workflows/icdev_review.py +126 -0
  585. icdev/tools/ci/workflows/icdev_sdlc.py +261 -0
  586. icdev/tools/ci/workflows/icdev_test.py +240 -0
  587. icdev/tools/cli/__init__.py +1 -0
  588. icdev/tools/cli/output_formatter.py +756 -0
  589. icdev/tools/cli_formatter.py +42 -0
  590. icdev/tools/cloud/__init__.py +11 -0
  591. icdev/tools/cloud/cloud_mode_manager.py +364 -0
  592. icdev/tools/cloud/csp_changelog.py +383 -0
  593. icdev/tools/cloud/csp_health_checker.py +268 -0
  594. icdev/tools/cloud/csp_monitor.py +951 -0
  595. icdev/tools/cloud/iam_provider.py +593 -0
  596. icdev/tools/cloud/kms_provider.py +346 -0
  597. icdev/tools/cloud/monitoring_provider.py +628 -0
  598. icdev/tools/cloud/provider_factory.py +376 -0
  599. icdev/tools/cloud/region_validator.py +345 -0
  600. icdev/tools/cloud/registry_provider.py +563 -0
  601. icdev/tools/cloud/secrets_provider.py +486 -0
  602. icdev/tools/cloud/storage_provider.py +446 -0
  603. icdev/tools/compat/__init__.py +21 -0
  604. icdev/tools/compat/cli_harmonizer.py +251 -0
  605. icdev/tools/compat/datetime_utils.py +18 -0
  606. icdev/tools/compat/db_utils.py +160 -0
  607. icdev/tools/compat/platform_utils.py +123 -0
  608. icdev/tools/compliance/__init__.py +1 -0
  609. icdev/tools/compliance/accountability_manager.py +397 -0
  610. icdev/tools/compliance/ai_accountability_audit.py +294 -0
  611. icdev/tools/compliance/ai_impact_assessor.py +273 -0
  612. icdev/tools/compliance/ai_incident_response.py +301 -0
  613. icdev/tools/compliance/ai_inventory_manager.py +239 -0
  614. icdev/tools/compliance/ai_reassessment_scheduler.py +256 -0
  615. icdev/tools/compliance/ai_transparency_audit.py +248 -0
  616. icdev/tools/compliance/atlas_assessor.py +278 -0
  617. icdev/tools/compliance/atlas_report_generator.py +1211 -0
  618. icdev/tools/compliance/base_assessor.py +597 -0
  619. icdev/tools/compliance/cato_monitor.py +1385 -0
  620. icdev/tools/compliance/cato_scheduler.py +699 -0
  621. icdev/tools/compliance/cjis_assessor.py +76 -0
  622. icdev/tools/compliance/classification_manager.py +1353 -0
  623. icdev/tools/compliance/cmmc_assessor.py +1491 -0
  624. icdev/tools/compliance/cmmc_report_generator.py +1100 -0
  625. icdev/tools/compliance/compliance_detector.py +463 -0
  626. icdev/tools/compliance/compliance_exporter.py +427 -0
  627. icdev/tools/compliance/compliance_status.py +825 -0
  628. icdev/tools/compliance/control_mapper.py +505 -0
  629. icdev/tools/compliance/crosswalk_engine.py +1203 -0
  630. icdev/tools/compliance/cssp_assessor.py +1045 -0
  631. icdev/tools/compliance/cssp_evidence_collector.py +729 -0
  632. icdev/tools/compliance/cssp_report_generator.py +1116 -0
  633. icdev/tools/compliance/cui_marker.py +388 -0
  634. icdev/tools/compliance/diagram_validator.py +600 -0
  635. icdev/tools/compliance/emass/__init__.py +2 -0
  636. icdev/tools/compliance/emass/emass_client.py +840 -0
  637. icdev/tools/compliance/emass/emass_export.py +777 -0
  638. icdev/tools/compliance/emass/emass_sync.py +826 -0
  639. icdev/tools/compliance/eu_ai_act_classifier.py +194 -0
  640. icdev/tools/compliance/evidence_collector.py +468 -0
  641. icdev/tools/compliance/fairness_assessor.py +316 -0
  642. icdev/tools/compliance/fedramp_assessor.py +1808 -0
  643. icdev/tools/compliance/fedramp_authorization_packager.py +137 -0
  644. icdev/tools/compliance/fedramp_ksi_generator.py +355 -0
  645. icdev/tools/compliance/fedramp_report_generator.py +1128 -0
  646. icdev/tools/compliance/fips199_categorizer.py +881 -0
  647. icdev/tools/compliance/fips200_validator.py +315 -0
  648. icdev/tools/compliance/gao_ai_assessor.py +231 -0
  649. icdev/tools/compliance/gao_evidence_builder.py +308 -0
  650. icdev/tools/compliance/hipaa_assessor.py +78 -0
  651. icdev/tools/compliance/hitrust_assessor.py +49 -0
  652. icdev/tools/compliance/incident_response_plan.py +718 -0
  653. icdev/tools/compliance/iso27001_assessor.py +92 -0
  654. icdev/tools/compliance/iso42001_assessor.py +114 -0
  655. icdev/tools/compliance/ivv_assessor.py +2327 -0
  656. icdev/tools/compliance/ivv_report_generator.py +1662 -0
  657. icdev/tools/compliance/model_card_generator.py +297 -0
  658. icdev/tools/compliance/mosa_assessor.py +117 -0
  659. icdev/tools/compliance/multi_regime_assessor.py +451 -0
  660. icdev/tools/compliance/narrative_generator.py +1013 -0
  661. icdev/tools/compliance/nist_800_207_assessor.py +191 -0
  662. icdev/tools/compliance/nist_ai_600_1_assessor.py +188 -0
  663. icdev/tools/compliance/nist_ai_rmf_assessor.py +110 -0
  664. icdev/tools/compliance/nist_lookup.py +245 -0
  665. icdev/tools/compliance/omb_m25_21_assessor.py +228 -0
  666. icdev/tools/compliance/omb_m26_04_assessor.py +188 -0
  667. icdev/tools/compliance/oscal_catalog_adapter.py +395 -0
  668. icdev/tools/compliance/oscal_generator.py +2170 -0
  669. icdev/tools/compliance/oscal_tools.py +1182 -0
  670. icdev/tools/compliance/owasp_agentic_assessor.py +226 -0
  671. icdev/tools/compliance/owasp_asi_assessor.py +200 -0
  672. icdev/tools/compliance/owasp_llm_assessor.py +244 -0
  673. icdev/tools/compliance/pci_dss_assessor.py +80 -0
  674. icdev/tools/compliance/pi_compliance_tracker.py +1461 -0
  675. icdev/tools/compliance/poam_generator.py +405 -0
  676. icdev/tools/compliance/resolve_marking.py +283 -0
  677. icdev/tools/compliance/sbd_assessor.py +2068 -0
  678. icdev/tools/compliance/sbd_report_generator.py +1236 -0
  679. icdev/tools/compliance/sbom_generator.py +1008 -0
  680. icdev/tools/compliance/siem_config_generator.py +674 -0
  681. icdev/tools/compliance/slsa_attestation_generator.py +490 -0
  682. icdev/tools/compliance/soc2_assessor.py +77 -0
  683. icdev/tools/compliance/ssp_generator.py +573 -0
  684. icdev/tools/compliance/stig_checker.py +727 -0
  685. icdev/tools/compliance/swft_evidence_bundler.py +337 -0
  686. icdev/tools/compliance/system_card_generator.py +309 -0
  687. icdev/tools/compliance/traceability_matrix.py +1281 -0
  688. icdev/tools/compliance/universal_classification_manager.py +1172 -0
  689. icdev/tools/compliance/xacta/__init__.py +2 -0
  690. icdev/tools/compliance/xacta/xacta_client.py +449 -0
  691. icdev/tools/compliance/xacta/xacta_export.py +557 -0
  692. icdev/tools/compliance/xacta/xacta_sync.py +333 -0
  693. icdev/tools/compliance/xai_assessor.py +231 -0
  694. icdev/tools/dashboard/__init__.py +1 -0
  695. icdev/tools/dashboard/api/__init__.py +1 -0
  696. icdev/tools/dashboard/api/_pipeline_state.py +17 -0
  697. icdev/tools/dashboard/api/activity.py +206 -0
  698. icdev/tools/dashboard/api/admin.py +176 -0
  699. icdev/tools/dashboard/api/agents.py +53 -0
  700. icdev/tools/dashboard/api/ai_accountability.py +163 -0
  701. icdev/tools/dashboard/api/ai_transparency.py +198 -0
  702. icdev/tools/dashboard/api/audit.py +58 -0
  703. icdev/tools/dashboard/api/batch.py +666 -0
  704. icdev/tools/dashboard/api/chat.py +241 -0
  705. icdev/tools/dashboard/api/cicd.py +219 -0
  706. icdev/tools/dashboard/api/code_quality.py +223 -0
  707. icdev/tools/dashboard/api/compliance.py +171 -0
  708. icdev/tools/dashboard/api/cpmp.py +915 -0
  709. icdev/tools/dashboard/api/diagrams.py +65 -0
  710. icdev/tools/dashboard/api/events.py +250 -0
  711. icdev/tools/dashboard/api/evidence.py +99 -0
  712. icdev/tools/dashboard/api/fedramp_20x.py +77 -0
  713. icdev/tools/dashboard/api/govcon.py +1095 -0
  714. icdev/tools/dashboard/api/intake.py +1171 -0
  715. icdev/tools/dashboard/api/lineage.py +163 -0
  716. icdev/tools/dashboard/api/metrics.py +155 -0
  717. icdev/tools/dashboard/api/nlq.py +72 -0
  718. icdev/tools/dashboard/api/orchestration.py +472 -0
  719. icdev/tools/dashboard/api/oscal.py +183 -0
  720. icdev/tools/dashboard/api/prod_audit.py +183 -0
  721. icdev/tools/dashboard/api/projects.py +191 -0
  722. icdev/tools/dashboard/api/proposals.py +1084 -0
  723. icdev/tools/dashboard/api/traces.py +363 -0
  724. icdev/tools/dashboard/api/usage.py +234 -0
  725. icdev/tools/dashboard/app.py +1986 -0
  726. icdev/tools/dashboard/auth.py +500 -0
  727. icdev/tools/dashboard/byok.py +245 -0
  728. icdev/tools/dashboard/chat_manager.py +675 -0
  729. icdev/tools/dashboard/config.py +116 -0
  730. icdev/tools/dashboard/diagram_definitions.py +642 -0
  731. icdev/tools/dashboard/nlq_processor.py +323 -0
  732. icdev/tools/dashboard/phase_loader.py +136 -0
  733. icdev/tools/dashboard/sse_manager.py +89 -0
  734. icdev/tools/dashboard/state_tracker.py +267 -0
  735. icdev/tools/dashboard/static/css/style.css +706 -0
  736. icdev/tools/dashboard/static/css/ux.css +2047 -0
  737. icdev/tools/dashboard/static/js/activity.js +322 -0
  738. icdev/tools/dashboard/static/js/api.js +161 -0
  739. icdev/tools/dashboard/static/js/batch.js +814 -0
  740. icdev/tools/dashboard/static/js/charts.js +618 -0
  741. icdev/tools/dashboard/static/js/chat.js +1514 -0
  742. icdev/tools/dashboard/static/js/kanban.js +113 -0
  743. icdev/tools/dashboard/static/js/live.js +569 -0
  744. icdev/tools/dashboard/static/js/mermaid-icdev.js +332 -0
  745. icdev/tools/dashboard/static/js/proposals.js +588 -0
  746. icdev/tools/dashboard/static/js/shortcuts.js +544 -0
  747. icdev/tools/dashboard/static/js/tables.js +652 -0
  748. icdev/tools/dashboard/static/js/tour.js +524 -0
  749. icdev/tools/dashboard/static/js/ux.js +942 -0
  750. icdev/tools/dashboard/templates/404.html +10 -0
  751. icdev/tools/dashboard/templates/activity.html +80 -0
  752. icdev/tools/dashboard/templates/admin/users.html +144 -0
  753. icdev/tools/dashboard/templates/ai_accountability.html +235 -0
  754. icdev/tools/dashboard/templates/ai_transparency.html +263 -0
  755. icdev/tools/dashboard/templates/base.html +104 -0
  756. icdev/tools/dashboard/templates/batch.html +23 -0
  757. icdev/tools/dashboard/templates/chat.html +332 -0
  758. icdev/tools/dashboard/templates/children.html +149 -0
  759. icdev/tools/dashboard/templates/cicd.html +253 -0
  760. icdev/tools/dashboard/templates/code_quality.html +214 -0
  761. icdev/tools/dashboard/templates/cpmp/cor_detail.html +220 -0
  762. icdev/tools/dashboard/templates/cpmp/cor_portal.html +91 -0
  763. icdev/tools/dashboard/templates/cpmp/deliverable_detail.html +197 -0
  764. icdev/tools/dashboard/templates/cpmp/detail.html +578 -0
  765. icdev/tools/dashboard/templates/cpmp/portfolio.html +202 -0
  766. icdev/tools/dashboard/templates/dev_profiles.html +304 -0
  767. icdev/tools/dashboard/templates/diagrams.html +224 -0
  768. icdev/tools/dashboard/templates/events/timeline.html +232 -0
  769. icdev/tools/dashboard/templates/evidence.html +134 -0
  770. icdev/tools/dashboard/templates/fedramp_20x.html +207 -0
  771. icdev/tools/dashboard/templates/gateway.html +244 -0
  772. icdev/tools/dashboard/templates/govcon/capabilities.html +135 -0
  773. icdev/tools/dashboard/templates/govcon/pipeline.html +214 -0
  774. icdev/tools/dashboard/templates/govcon/requirements.html +120 -0
  775. icdev/tools/dashboard/templates/index.html +254 -0
  776. icdev/tools/dashboard/templates/lineage.html +141 -0
  777. icdev/tools/dashboard/templates/login.html +51 -0
  778. icdev/tools/dashboard/templates/monitoring/overview.html +193 -0
  779. icdev/tools/dashboard/templates/orchestration/dashboard.html +545 -0
  780. icdev/tools/dashboard/templates/oscal.html +263 -0
  781. icdev/tools/dashboard/templates/phases.html +150 -0
  782. icdev/tools/dashboard/templates/prod_audit.html +280 -0
  783. icdev/tools/dashboard/templates/profile.html +183 -0
  784. icdev/tools/dashboard/templates/projects/detail.html +583 -0
  785. icdev/tools/dashboard/templates/projects/list.html +47 -0
  786. icdev/tools/dashboard/templates/proposals/detail.html +1253 -0
  787. icdev/tools/dashboard/templates/proposals/list.html +179 -0
  788. icdev/tools/dashboard/templates/proposals/section_detail.html +193 -0
  789. icdev/tools/dashboard/templates/provenance.html +181 -0
  790. icdev/tools/dashboard/templates/query/nlq.html +234 -0
  791. icdev/tools/dashboard/templates/quick_paths.html +69 -0
  792. icdev/tools/dashboard/templates/traces.html +155 -0
  793. icdev/tools/dashboard/templates/translation_detail.html +199 -0
  794. icdev/tools/dashboard/templates/translations.html +162 -0
  795. icdev/tools/dashboard/templates/usage.html +225 -0
  796. icdev/tools/dashboard/templates/wizard.html +539 -0
  797. icdev/tools/dashboard/templates/xai.html +208 -0
  798. icdev/tools/dashboard/ux_helpers.py +962 -0
  799. icdev/tools/dashboard/websocket.py +81 -0
  800. icdev/tools/db/__init__.py +1 -0
  801. icdev/tools/db/backup.py +312 -0
  802. icdev/tools/db/backup_manager.py +832 -0
  803. icdev/tools/db/init_icdev_db.py +5900 -0
  804. icdev/tools/db/migrate.py +178 -0
  805. icdev/tools/db/migration_runner.py +549 -0
  806. icdev/tools/db/migrations/001_baseline/meta.json +9 -0
  807. icdev/tools/db/migrations/001_baseline/up.py +68 -0
  808. icdev/tools/db/migrations/002_memory_enhancements/down.sql +8 -0
  809. icdev/tools/db/migrations/002_memory_enhancements/meta.json +9 -0
  810. icdev/tools/db/migrations/002_memory_enhancements/up.py +118 -0
  811. icdev/tools/db/migrations/003_dev_profiles/meta.json +8 -0
  812. icdev/tools/db/migrations/003_dev_profiles/up.py +93 -0
  813. icdev/tools/db/migrations/004_innovation_engine/down.py +19 -0
  814. icdev/tools/db/migrations/004_innovation_engine/up.py +227 -0
  815. icdev/tools/db/migrations/005_phase_37_ai_security/down.py +19 -0
  816. icdev/tools/db/migrations/005_phase_37_ai_security/up.py +258 -0
  817. icdev/tools/db/migrations/006_phase_36_evolution/down.py +21 -0
  818. icdev/tools/db/migrations/006_phase_36_evolution/up.py +323 -0
  819. icdev/tools/db/migrations/007_phase_38_cloud/down.py +14 -0
  820. icdev/tools/db/migrations/007_phase_38_cloud/up.py +110 -0
  821. icdev/tools/db/migrations/008_phase36_37_integration/up.py +55 -0
  822. icdev/tools/db/migrations/__init__.py +2 -0
  823. icdev/tools/devsecops/__init__.py +2 -0
  824. icdev/tools/devsecops/attestation_manager.py +458 -0
  825. icdev/tools/devsecops/network_segmentation_generator.py +614 -0
  826. icdev/tools/devsecops/pdp_config_generator.py +1256 -0
  827. icdev/tools/devsecops/pipeline_security_generator.py +484 -0
  828. icdev/tools/devsecops/policy_generator.py +653 -0
  829. icdev/tools/devsecops/profile_manager.py +388 -0
  830. icdev/tools/devsecops/service_mesh_generator.py +1073 -0
  831. icdev/tools/devsecops/zta_maturity_scorer.py +368 -0
  832. icdev/tools/devsecops/zta_terraform_generator.py +1303 -0
  833. icdev/tools/dx/__init__.py +3 -0
  834. icdev/tools/dx/companion.py +266 -0
  835. icdev/tools/dx/instruction_generator.py +753 -0
  836. icdev/tools/dx/mcp_config_generator.py +282 -0
  837. icdev/tools/dx/skill_translator.py +425 -0
  838. icdev/tools/dx/tool_detector.py +144 -0
  839. icdev/tools/extensions/__init__.py +21 -0
  840. icdev/tools/extensions/builtins/010_ai_governance_chat.py +277 -0
  841. icdev/tools/extensions/builtins/__init__.py +2 -0
  842. icdev/tools/extensions/extension_manager.py +455 -0
  843. icdev/tools/infra/__init__.py +1 -0
  844. icdev/tools/infra/ansible_generator.py +869 -0
  845. icdev/tools/infra/dockerfile_generator.py +361 -0
  846. icdev/tools/infra/infra_status.py +393 -0
  847. icdev/tools/infra/ironbank_metadata_generator.py +411 -0
  848. icdev/tools/infra/k8s_generator.py +1002 -0
  849. icdev/tools/infra/pipeline_generator.py +832 -0
  850. icdev/tools/infra/rollback.py +400 -0
  851. icdev/tools/infra/terraform_generator.py +1142 -0
  852. icdev/tools/infra/terraform_generator_azure.py +1254 -0
  853. icdev/tools/infra/terraform_generator_gcp.py +953 -0
  854. icdev/tools/infra/terraform_generator_ibm.py +360 -0
  855. icdev/tools/infra/terraform_generator_oci.py +919 -0
  856. icdev/tools/infra/terraform_generator_onprem.py +319 -0
  857. icdev/tools/innovation/__init__.py +8 -0
  858. icdev/tools/innovation/competitive_intel.py +492 -0
  859. icdev/tools/innovation/innovation_manager.py +681 -0
  860. icdev/tools/innovation/introspective_analyzer.py +774 -0
  861. icdev/tools/innovation/register_external_patterns.py +440 -0
  862. icdev/tools/innovation/signal_ranker.py +1038 -0
  863. icdev/tools/innovation/solution_generator.py +697 -0
  864. icdev/tools/innovation/standards_monitor.py +466 -0
  865. icdev/tools/innovation/trend_detector.py +1046 -0
  866. icdev/tools/innovation/triage_engine.py +1149 -0
  867. icdev/tools/innovation/web_scanner.py +894 -0
  868. icdev/tools/installer/__init__.py +1 -0
  869. icdev/tools/installer/compliance_configurator.py +637 -0
  870. icdev/tools/installer/installer.py +1711 -0
  871. icdev/tools/installer/module_registry.py +805 -0
  872. icdev/tools/installer/platform_setup.py +961 -0
  873. icdev/tools/integration/__init__.py +2 -0
  874. icdev/tools/integration/approval_manager.py +561 -0
  875. icdev/tools/integration/doors_exporter.py +627 -0
  876. icdev/tools/integration/gitlab_connector.py +784 -0
  877. icdev/tools/integration/jira_connector.py +774 -0
  878. icdev/tools/integration/servicenow_connector.py +693 -0
  879. icdev/tools/knowledge/__init__.py +1 -0
  880. icdev/tools/knowledge/knowledge_ingest.py +293 -0
  881. icdev/tools/knowledge/pattern_detector.py +693 -0
  882. icdev/tools/knowledge/recommendation_engine.py +461 -0
  883. icdev/tools/knowledge/self_heal_analyzer.py +504 -0
  884. icdev/tools/llm/__init__.py +72 -0
  885. icdev/tools/llm/anthropic_provider.py +170 -0
  886. icdev/tools/llm/azure_openai_provider.py +338 -0
  887. icdev/tools/llm/bedrock_provider.py +315 -0
  888. icdev/tools/llm/embedding_provider.py +438 -0
  889. icdev/tools/llm/gemini_provider.py +381 -0
  890. icdev/tools/llm/ibm_watsonx_provider.py +232 -0
  891. icdev/tools/llm/oci_genai_provider.py +462 -0
  892. icdev/tools/llm/ollama_provider.py +340 -0
  893. icdev/tools/llm/openai_provider.py +225 -0
  894. icdev/tools/llm/provider.py +355 -0
  895. icdev/tools/llm/provider_sdk.py +175 -0
  896. icdev/tools/llm/router.py +780 -0
  897. icdev/tools/llm/vertex_ai_provider.py +374 -0
  898. icdev/tools/maintenance/__init__.py +2 -0
  899. icdev/tools/maintenance/dependency_scanner.py +1030 -0
  900. icdev/tools/maintenance/maintenance_auditor.py +815 -0
  901. icdev/tools/maintenance/remediation_engine.py +966 -0
  902. icdev/tools/maintenance/vulnerability_checker.py +987 -0
  903. icdev/tools/mbse/__init__.py +3 -0
  904. icdev/tools/mbse/des_assessor.py +1186 -0
  905. icdev/tools/mbse/des_report_generator.py +800 -0
  906. icdev/tools/mbse/diagram_extractor.py +811 -0
  907. icdev/tools/mbse/digital_thread.py +1665 -0
  908. icdev/tools/mbse/model_code_generator.py +1122 -0
  909. icdev/tools/mbse/model_control_mapper.py +420 -0
  910. icdev/tools/mbse/pi_model_tracker.py +1093 -0
  911. icdev/tools/mbse/reqif_parser.py +1483 -0
  912. icdev/tools/mbse/sync_engine.py +1805 -0
  913. icdev/tools/mbse/xmi_parser.py +1573 -0
  914. icdev/tools/mcp/__init__.py +1 -0
  915. icdev/tools/mcp/base_server.py +535 -0
  916. icdev/tools/mcp/builder_server.py +725 -0
  917. icdev/tools/mcp/compliance_server.py +1407 -0
  918. icdev/tools/mcp/context_indexer.py +199 -0
  919. icdev/tools/mcp/context_server.py +305 -0
  920. icdev/tools/mcp/core_server.py +679 -0
  921. icdev/tools/mcp/devsecops_server.py +432 -0
  922. icdev/tools/mcp/gap_handlers.py +1079 -0
  923. icdev/tools/mcp/gateway_server.py +339 -0
  924. icdev/tools/mcp/generate_registry.py +623 -0
  925. icdev/tools/mcp/infra_server.py +264 -0
  926. icdev/tools/mcp/innovation_server.py +316 -0
  927. icdev/tools/mcp/integration_server.py +527 -0
  928. icdev/tools/mcp/knowledge_server.py +429 -0
  929. icdev/tools/mcp/maintenance_server.py +248 -0
  930. icdev/tools/mcp/marketplace_server.py +499 -0
  931. icdev/tools/mcp/mbse_server.py +398 -0
  932. icdev/tools/mcp/modernization_server.py +496 -0
  933. icdev/tools/mcp/observability_server.py +354 -0
  934. icdev/tools/mcp/requirements_server.py +415 -0
  935. icdev/tools/mcp/simulation_server.py +468 -0
  936. icdev/tools/mcp/standalone/__init__.py +2 -0
  937. icdev/tools/mcp/standalone/builder.py +59 -0
  938. icdev/tools/mcp/standalone/compliance.py +59 -0
  939. icdev/tools/mcp/standalone/core.py +59 -0
  940. icdev/tools/mcp/standalone/knowledge.py +59 -0
  941. icdev/tools/mcp/standalone/maintenance.py +59 -0
  942. icdev/tools/mcp/supply_chain_server.py +476 -0
  943. icdev/tools/mcp/tool_registry.py +2008 -0
  944. icdev/tools/mcp/unified_server.py +158 -0
  945. icdev/tools/memory/__init__.py +2 -0
  946. icdev/tools/memory/auto_capture.py +347 -0
  947. icdev/tools/memory/embed_memory.py +158 -0
  948. icdev/tools/memory/history_compressor.py +334 -0
  949. icdev/tools/memory/hybrid_search.py +236 -0
  950. icdev/tools/memory/maintenance_cron.py +289 -0
  951. icdev/tools/memory/memory_consolidation.py +444 -0
  952. icdev/tools/memory/memory_db.py +133 -0
  953. icdev/tools/memory/memory_read.py +102 -0
  954. icdev/tools/memory/memory_write.py +222 -0
  955. icdev/tools/memory/semantic_search.py +139 -0
  956. icdev/tools/memory/time_decay.py +435 -0
  957. icdev/tools/modernization/__init__.py +3 -0
  958. icdev/tools/modernization/architecture_extractor.py +734 -0
  959. icdev/tools/modernization/compliance_bridge.py +1499 -0
  960. icdev/tools/modernization/db_migration_planner.py +1385 -0
  961. icdev/tools/modernization/doc_generator.py +1428 -0
  962. icdev/tools/modernization/framework_migrator.py +1525 -0
  963. icdev/tools/modernization/legacy_analyzer.py +1948 -0
  964. icdev/tools/modernization/migration_code_generator.py +1639 -0
  965. icdev/tools/modernization/migration_report_generator.py +1653 -0
  966. icdev/tools/modernization/migration_tracker.py +1726 -0
  967. icdev/tools/modernization/monolith_decomposer.py +1508 -0
  968. icdev/tools/modernization/seven_r_assessor.py +1658 -0
  969. icdev/tools/modernization/strangler_fig_manager.py +1705 -0
  970. icdev/tools/modernization/ui_analyzer.py +771 -0
  971. icdev/tools/modernization/version_migrator.py +1392 -0
  972. icdev/tools/monitor/__init__.py +1 -0
  973. icdev/tools/monitor/alert_correlator.py +495 -0
  974. icdev/tools/monitor/auto_resolver.py +612 -0
  975. icdev/tools/monitor/health_checker.py +509 -0
  976. icdev/tools/monitor/heartbeat_daemon.py +792 -0
  977. icdev/tools/monitor/log_analyzer.py +516 -0
  978. icdev/tools/monitor/metric_collector.py +496 -0
  979. icdev/tools/mosa/__init__.py +10 -0
  980. icdev/tools/mosa/icd_generator.py +370 -0
  981. icdev/tools/mosa/modular_design_analyzer.py +683 -0
  982. icdev/tools/mosa/mosa_code_enforcer.py +349 -0
  983. icdev/tools/mosa/tsp_generator.py +265 -0
  984. icdev/tools/observability/__init__.py +100 -0
  985. icdev/tools/observability/genai_attributes.py +88 -0
  986. icdev/tools/observability/instrumentation.py +140 -0
  987. icdev/tools/observability/mlflow_exporter.py +194 -0
  988. icdev/tools/observability/otel_tracer.py +168 -0
  989. icdev/tools/observability/provenance/__init__.py +3 -0
  990. icdev/tools/observability/provenance/prov_recorder.py +324 -0
  991. icdev/tools/observability/shap/__init__.py +3 -0
  992. icdev/tools/observability/shap/agent_shap.py +275 -0
  993. icdev/tools/observability/sqlite_tracer.py +361 -0
  994. icdev/tools/observability/trace_context.py +205 -0
  995. icdev/tools/observability/tracer.py +230 -0
  996. icdev/tools/orchestration/__init__.py +2 -0
  997. icdev/tools/orchestration/workflow_composer.py +361 -0
  998. icdev/tools/project/__init__.py +1 -0
  999. icdev/tools/project/manifest_loader.py +418 -0
  1000. icdev/tools/project/project_create.py +350 -0
  1001. icdev/tools/project/project_list.py +174 -0
  1002. icdev/tools/project/project_scaffold.py +1715 -0
  1003. icdev/tools/project/project_status.py +479 -0
  1004. icdev/tools/project/session_context_builder.py +757 -0
  1005. icdev/tools/project/validate_manifest.py +55 -0
  1006. icdev/tools/registry/__init__.py +10 -0
  1007. icdev/tools/registry/absorption_engine.py +832 -0
  1008. icdev/tools/registry/capability_evaluator.py +668 -0
  1009. icdev/tools/registry/child_registry.py +617 -0
  1010. icdev/tools/registry/cross_pollinator.py +1065 -0
  1011. icdev/tools/registry/genome_manager.py +671 -0
  1012. icdev/tools/registry/learning_collector.py +912 -0
  1013. icdev/tools/registry/propagation_manager.py +942 -0
  1014. icdev/tools/registry/staging_manager.py +742 -0
  1015. icdev/tools/registry/telemetry_collector.py +423 -0
  1016. icdev/tools/requirements/__init__.py +1 -0
  1017. icdev/tools/requirements/ai_governance_scorer.py +208 -0
  1018. icdev/tools/requirements/boundary_analyzer.py +1293 -0
  1019. icdev/tools/requirements/clarification_engine.py +618 -0
  1020. icdev/tools/requirements/complexity_scorer.py +387 -0
  1021. icdev/tools/requirements/consistency_analyzer.py +803 -0
  1022. icdev/tools/requirements/constitution_manager.py +605 -0
  1023. icdev/tools/requirements/decomposition_engine.py +778 -0
  1024. icdev/tools/requirements/document_extractor.py +1016 -0
  1025. icdev/tools/requirements/elicitation_techniques.py +519 -0
  1026. icdev/tools/requirements/gap_detector.py +271 -0
  1027. icdev/tools/requirements/intake_engine.py +2188 -0
  1028. icdev/tools/requirements/prd_generator.py +847 -0
  1029. icdev/tools/requirements/prd_validator.py +595 -0
  1030. icdev/tools/requirements/readiness_scorer.py +313 -0
  1031. icdev/tools/requirements/spec_organizer.py +1029 -0
  1032. icdev/tools/requirements/spec_quality_checker.py +1097 -0
  1033. icdev/tools/requirements/traceability_builder.py +579 -0
  1034. icdev/tools/resilience/__init__.py +34 -0
  1035. icdev/tools/resilience/circuit_breaker.py +340 -0
  1036. icdev/tools/resilience/correlation.py +150 -0
  1037. icdev/tools/resilience/errors.py +81 -0
  1038. icdev/tools/resilience/retry.py +95 -0
  1039. icdev/tools/schemas/__init__.py +27 -0
  1040. icdev/tools/schemas/chat.py +61 -0
  1041. icdev/tools/schemas/compliance.py +56 -0
  1042. icdev/tools/schemas/core.py +85 -0
  1043. icdev/tools/schemas/innovation.py +37 -0
  1044. icdev/tools/schemas/validation.py +109 -0
  1045. icdev/tools/sdk/__init__.py +3 -0
  1046. icdev/tools/sdk/icdev_client.py +218 -0
  1047. icdev/tools/security/__init__.py +1 -0
  1048. icdev/tools/security/agent_output_validator.py +330 -0
  1049. icdev/tools/security/agent_trust_scorer.py +466 -0
  1050. icdev/tools/security/ai_bom_generator.py +725 -0
  1051. icdev/tools/security/ai_telemetry_logger.py +469 -0
  1052. icdev/tools/security/atlas_red_team.py +543 -0
  1053. icdev/tools/security/code_pattern_scanner.py +378 -0
  1054. icdev/tools/security/confabulation_detector.py +271 -0
  1055. icdev/tools/security/container_scanner.py +491 -0
  1056. icdev/tools/security/dependency_auditor.py +944 -0
  1057. icdev/tools/security/endpoint_security_scanner.py +579 -0
  1058. icdev/tools/security/mcp_tool_authorizer.py +243 -0
  1059. icdev/tools/security/prompt_injection_detector.py +737 -0
  1060. icdev/tools/security/sast_runner.py +948 -0
  1061. icdev/tools/security/secret_detector.py +378 -0
  1062. icdev/tools/security/tool_chain_validator.py +357 -0
  1063. icdev/tools/security/vuln_scanner.py +539 -0
  1064. icdev/tools/simulation/__init__.py +2 -0
  1065. icdev/tools/simulation/coa_generator.py +1552 -0
  1066. icdev/tools/simulation/monte_carlo.py +758 -0
  1067. icdev/tools/simulation/scenario_manager.py +1073 -0
  1068. icdev/tools/simulation/simulation_engine.py +1104 -0
  1069. icdev/tools/supply_chain/__init__.py +2 -0
  1070. icdev/tools/supply_chain/cve_triager.py +705 -0
  1071. icdev/tools/supply_chain/dependency_graph.py +645 -0
  1072. icdev/tools/supply_chain/isa_manager.py +540 -0
  1073. icdev/tools/supply_chain/scrm_assessor.py +546 -0
  1074. icdev/tools/testing/__init__.py +2 -0
  1075. icdev/tools/testing/acceptance_validator.py +411 -0
  1076. icdev/tools/testing/claude_dir_validator.py +831 -0
  1077. icdev/tools/testing/data_types.py +199 -0
  1078. icdev/tools/testing/e2e_runner.py +715 -0
  1079. icdev/tools/testing/fuzz_cli.py +306 -0
  1080. icdev/tools/testing/health_check.py +483 -0
  1081. icdev/tools/testing/platform_check.py +143 -0
  1082. icdev/tools/testing/production_audit.py +1862 -0
  1083. icdev/tools/testing/production_remediate.py +804 -0
  1084. icdev/tools/testing/screenshot_validator.py +539 -0
  1085. icdev/tools/testing/smoke_test.py +283 -0
  1086. icdev/tools/testing/test_agent_models.py +117 -0
  1087. icdev/tools/testing/test_orchestrator.py +957 -0
  1088. icdev/tools/testing/utils.py +229 -0
  1089. icdev/tools/translation/__init__.py +17 -0
  1090. icdev/tools/translation/code_translator.py +550 -0
  1091. icdev/tools/translation/dependency_mapper.py +277 -0
  1092. icdev/tools/translation/feature_map.py +395 -0
  1093. icdev/tools/translation/project_assembler.py +439 -0
  1094. icdev/tools/translation/source_extractor.py +609 -0
  1095. icdev/tools/translation/test_translator.py +333 -0
  1096. icdev/tools/translation/translation_manager.py +582 -0
  1097. icdev/tools/translation/translation_validator.py +662 -0
  1098. icdev/tools/translation/type_checker.py +371 -0
  1099. icdev-1.0.0.dist-info/METADATA +868 -0
  1100. icdev-1.0.0.dist-info/RECORD +1105 -0
  1101. icdev-1.0.0.dist-info/WHEEL +5 -0
  1102. icdev-1.0.0.dist-info/entry_points.txt +9 -0
  1103. icdev-1.0.0.dist-info/licenses/LICENSE +254 -0
  1104. icdev-1.0.0.dist-info/licenses/NOTICE +268 -0
  1105. icdev-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,322 @@
1
+ # Phase 55 — A2A v0.3 Protocol + MCP OAuth 2.1
2
+
3
+ **CUI // SP-CTI**
4
+
5
+ | Field | Value |
6
+ |-------|-------|
7
+ | Phase | 55 |
8
+ | Title | A2A v0.3 Protocol + MCP OAuth 2.1 |
9
+ | Status | Implemented |
10
+ | Priority | P2 |
11
+ | Dependencies | Phase 11 (Multi-Agent Architecture), Phase 21 (SaaS Multi-Tenancy), Phase 46 (Observability & XAI), Phase 47 (Unified MCP Gateway) |
12
+ | Author | ICDEV Architect Agent |
13
+ | Date | 2026-02-25 |
14
+
15
+ ---
16
+
17
+ ## 1. Problem Statement
18
+
19
+ ICDEV's 15-agent multi-agent architecture communicates via the A2A protocol (JSON-RPC 2.0 over mutual TLS). The prior implementation used a minimal Agent Card format that lacked structured capability advertisement, task subscription streaming, and version negotiation. When a new agent joined the cluster or an existing agent gained new skills, the Orchestrator had no standardized way to discover what capabilities were available without hardcoded routing tables. There was no streaming subscription model for long-running inter-agent tasks.
20
+
21
+ Separately, MCP Streamable HTTP transport (Phase 21) relied solely on API key authentication. Connected environments need OAuth 2.1 support for external identity providers, while air-gapped IL5/IL6 environments need offline token verification without calling an external authorization server. Additionally, MCP tools had no mechanism to request user input mid-execution (elicitation) or to track long-running tool invocations as first-class lifecycle objects (tasks).
22
+
23
+ Without these capabilities, ICDEV cannot:
24
+ - Dynamically discover agent capabilities at runtime
25
+ - Subscribe to task completion events across agents
26
+ - Negotiate protocol versions for backward compatibility
27
+ - Authenticate MCP clients via OAuth 2.1 in connected environments
28
+ - Verify tokens offline in air-gapped deployments
29
+ - Pause tool execution to request user clarification
30
+ - Track long-running MCP tool invocations with progress updates
31
+
32
+ Phase 55 closes these gaps with A2A v0.3 protocol compliance, an agent discovery server, and MCP OAuth 2.1 with elicitation and task lifecycle support.
33
+
34
+ ---
35
+
36
+ ## 2. Goals
37
+
38
+ 1. Upgrade all 15 Agent Cards to A2A v0.3 format with structured `capabilities`, `skills`, and `tasks/sendSubscribe` metadata
39
+ 2. Add backward-compatible `protocolVersion` field for version negotiation between v0.2 and v0.3 agents
40
+ 3. Provide a centralized discovery server for agent registration, skill-based lookup, and capability-based filtering
41
+ 4. Implement OAuth 2.1 token verification for MCP Streamable HTTP transport with 3 verification modes (JWT, API key, HMAC)
42
+ 5. Generate offline HMAC-signed tokens for air-gapped environments without requiring an external authorization server
43
+ 6. Support MCP Elicitation — allow tools to pause and request user input mid-execution
44
+ 7. Support MCP Tasks — wrap long-running tool invocations with create/progress/complete lifecycle tracking
45
+ 8. Register new tools in the unified MCP gateway for A2A discovery and MCP OAuth operations
46
+
47
+ ---
48
+
49
+ ## 3. Architecture
50
+
51
+ ```
52
+ A2A v0.3 + MCP OAuth Architecture
53
+ ┌───────────────────────────────────────────────────────┐
54
+ │ agent_config.yaml │
55
+ │ (15 agents, ports, TLS certs, capabilities) │
56
+ └──────────────────────┬────────────────────────────────┘
57
+
58
+ ┌─────────────────┼─────────────────────┐
59
+ ↓ ↓ ↓
60
+ Agent Card Gen Discovery Server MCP OAuth 2.1
61
+ (a2a_agent_card_ (a2a_discovery_ (mcp_oauth.py)
62
+ generator.py) server.py)
63
+ │ │ │
64
+ ↓ ↓ ↓
65
+ v0.3 Agent Cards Skill/Capability 3-Mode Verifier
66
+ (per-agent JSON) Routing + Health (JWT/APIKey/HMAC)
67
+ │ │ │
68
+ │ ↓ │
69
+ │ agent_registry ┌───┴───┐
70
+ │ (health, status) ↓ ↓
71
+ │ Elicitation Tasks
72
+ │ Handler Manager
73
+ │ │ │
74
+ └───────────────────────────────────┘ │
75
+ │ │
76
+ ↓ ↓
77
+ Unified MCP Gateway Long-Running
78
+ (tool_registry.py) Tool Lifecycle
79
+ + A2A Discovery Tools (create/progress/
80
+ + MCP OAuth Tools complete/fail)
81
+ ```
82
+
83
+ ### Key Design Principles
84
+
85
+ - **Backward compatible** — v0.3 Agent Cards include `protocolVersion` field; v0.2 clients ignore new fields (D344)
86
+ - **Reuse existing auth** — MCP OAuth reuses SaaS auth middleware patterns, not a new auth stack (D345)
87
+ - **Air-gap safe** — HMAC offline tokens use stdlib `hmac` + `hashlib`, zero external dependencies (D345)
88
+ - **Non-blocking elicitation** — Tools create elicitation requests and yield; user responds asynchronously (D346)
89
+ - **Task lifecycle** — Long-running tools get create/progress/complete/fail states with percentage tracking (D346)
90
+
91
+ ---
92
+
93
+ ## 4. Components
94
+
95
+ ### Component 1: A2A v0.3 Agent Card Generator (`tools/agent/a2a_agent_card_generator.py`)
96
+
97
+ Generates v0.3-compliant Agent Cards from `args/agent_config.yaml` for all 15 ICDEV agents.
98
+
99
+ **Agent Card v0.3 Schema:**
100
+ | Field | Type | Description |
101
+ |-------|------|-------------|
102
+ | `name` | string | Agent identifier (e.g., `orchestrator-agent`) |
103
+ | `description` | string | Agent role description |
104
+ | `url` | string | Agent endpoint URL (mTLS) |
105
+ | `version` | string | Agent version (semver) |
106
+ | `protocolVersion` | string | A2A protocol version (`0.3`) |
107
+ | `contextId` | string | Context preservation identifier |
108
+ | `capabilities` | object | Structured capability flags |
109
+ | `authentication` | object | Supported auth schemes (`mutual_tls`, `api_key`) |
110
+ | `skills` | array | Skill definitions with input/output modes |
111
+ | `tasks` | object | Task subscription endpoints (`sendSubscribe`) |
112
+ | `metadata` | object | Tier, classification, ICDEV version |
113
+
114
+ **Default Capabilities (all agents):**
115
+ | Capability | Default | Description |
116
+ |------------|---------|-------------|
117
+ | `streaming` | false | Real-time response streaming |
118
+ | `pushNotifications` | false | Push notification support |
119
+ | `taskSubscription` | true | Subscribe to task completion events |
120
+ | `contextPreservation` | true | Preserve context across invocations |
121
+ | `asyncNotifications` | true | Asynchronous notification support |
122
+ | `stateTransitionHistory` | true | Task state transition history |
123
+
124
+ **Skill Definitions:** 15 agents with 30+ total skills mapped from `AGENT_SKILLS` registry, covering task dispatch, system design, TDD code generation, compliance (SSP/POAM/SBOM), security scanning, infrastructure, knowledge, monitoring, MBSE, modernization, requirements intake, supply chain, simulation, ZTA, and remote gateway operations.
125
+
126
+ ### Component 2: A2A v0.3 Discovery Server (`tools/agent/a2a_discovery_server.py`)
127
+
128
+ Centralized agent discovery with health-aware routing and capability-based filtering.
129
+
130
+ **Discovery Operations:**
131
+ | Operation | Method | Description |
132
+ |-----------|--------|-------------|
133
+ | `discover_agents()` | List all | Returns all agents with cards and health status from `agent_registry` |
134
+ | `find_agent_for_skill(skill_id)` | Skill lookup | Find agents providing a specific skill (e.g., `ssp_generate`) |
135
+ | `find_agents_by_capability(cap)` | Capability filter | Find agents with a specific capability (e.g., `taskSubscription`) |
136
+ | `get_discovery_summary()` | Summary | Aggregate stats: tier distribution, health counts, skill totals, capability coverage |
137
+
138
+ **Health Integration:** Discovery server joins Agent Card data with live health status from the `agent_registry` table, providing real-time health-aware routing (healthy/unhealthy/unknown).
139
+
140
+ **Tier Distribution:** Agents classified as core (Orchestrator, Architect), domain (Builder, Compliance, Security, Infrastructure, MBSE, Modernization, Requirements Analyst, Supply Chain, Simulation, DevSecOps/ZTA, Gateway), and support (Knowledge, Monitor).
141
+
142
+ ### Component 3: MCP OAuth 2.1 Verifier (`tools/saas/mcp_oauth.py`)
143
+
144
+ Three-mode token verification for MCP Streamable HTTP transport.
145
+
146
+ **Verification Chain (priority order):**
147
+ 1. **API Key** (`icdev_*` prefix) — SHA-256 hash lookup against `platform.db` API keys table. Most common in ICDEV deployments.
148
+ 2. **Offline HMAC** (`hmac_*` prefix) — HMAC-SHA256 signed payload with expiry. Air-gap safe, no database or network required.
149
+ 3. **JWT** (3-part dot-separated) — Payload decode with expiry check. Full JWKS verification delegated to API gateway.
150
+
151
+ **Token Format (HMAC offline):**
152
+ ```
153
+ hmac_<base64url(payload)>.<base64url(signature)>
154
+ ```
155
+ Payload contains: `sub`, `email`, `role`, `scopes`, `tenant_id`, `iat`, `exp`, `jti`.
156
+
157
+ **Caching:** Verification results cached by SHA-256 hash of token with 5-minute TTL to reduce repeated database lookups.
158
+
159
+ **Scopes:** `mcp:read`, `mcp:write`, `mcp:execute` — granular permission control for MCP tool invocations.
160
+
161
+ ### Component 4: MCP Elicitation Handler (`MCPElicitationHandler`)
162
+
163
+ Allows MCP tools to pause execution and request user input.
164
+
165
+ **Elicitation Types:**
166
+ | Type | Description |
167
+ |------|-------------|
168
+ | `text` | Free-form text input |
169
+ | `choice` | Select from predefined options |
170
+ | `confirm` | Yes/no confirmation |
171
+
172
+ **Lifecycle:** `create_elicitation()` -> pending -> `resolve_elicitation(id, response)` -> resolved. Tools check `get_pending()` for outstanding requests.
173
+
174
+ ### Component 5: MCP Task Manager (`MCPTaskManager`)
175
+
176
+ Wraps long-running MCP tool invocations as trackable tasks with lifecycle management.
177
+
178
+ **Task States:**
179
+ ```
180
+ created -> running (with progress 0-100%) -> completed | failed
181
+ ```
182
+
183
+ **Operations:**
184
+ | Method | Description |
185
+ |--------|-------------|
186
+ | `create_task(tool, params)` | Create task, returns task_id |
187
+ | `update_progress(id, pct)` | Update progress percentage |
188
+ | `complete_task(id, result)` | Mark complete with result payload |
189
+ | `fail_task(id, error)` | Mark failed with error message |
190
+ | `get_task(id)` | Get current task status |
191
+ | `list_tasks(status)` | List tasks, optionally filtered |
192
+
193
+ ---
194
+
195
+ ## 5. Database
196
+
197
+ ### Existing Tables Used
198
+
199
+ | Table | Database | Usage |
200
+ |-------|----------|-------|
201
+ | `agent_registry` | `data/icdev.db` | Agent health status and heartbeat for discovery server health-aware routing |
202
+ | `api_keys` | `data/platform.db` | API key hash lookup for MCP OAuth API key verification mode |
203
+ | `users` | `data/platform.db` | User email and role lookup joined with API keys |
204
+
205
+ No new database tables are created by Phase 55. Agent Cards are generated dynamically from `agent_config.yaml`. Elicitation and task state are held in-memory (stateless per request cycle). HMAC tokens are self-contained and verified without database access.
206
+
207
+ ---
208
+
209
+ ## 6. Configuration
210
+
211
+ ### `args/agent_config.yaml` (existing, extended)
212
+
213
+ Agent definitions now consumed by the Agent Card generator. Each agent entry contributes `port`, `host`, `id`, `description`, and optional `streaming` flag to the v0.3 Agent Card.
214
+
215
+ ### Environment Variables
216
+
217
+ | Variable | Purpose | Default |
218
+ |----------|---------|---------|
219
+ | `ICDEV_MCP_OAUTH_SECRET` | HMAC secret key for offline token signing/verification | Falls back to `ICDEV_DASHBOARD_SECRET` |
220
+ | `ICDEV_DASHBOARD_SECRET` | Fallback HMAC secret | Auto-generated if not set |
221
+
222
+ ---
223
+
224
+ ## 7. Dashboard
225
+
226
+ Phase 55 does not introduce new dashboard pages. Agent discovery and health information is surfaced through:
227
+
228
+ - `/agents` page — Existing agent registry with heartbeat age (Phase 10)
229
+ - `/traces` page — A2A distributed trace visualization (Phase 46)
230
+
231
+ Discovery server data is available via CLI and MCP tools for programmatic consumption.
232
+
233
+ ---
234
+
235
+ ## 8. Security Gates
236
+
237
+ A2A v0.3 and MCP OAuth integrate with existing security gates:
238
+
239
+ - **Remote Command Gate** — User binding required before any command execution; MCP OAuth token verification enforces identity chain (D136)
240
+ - **A2A mutual TLS** — All inter-agent communication uses mTLS within K8s cluster; Agent Cards declare `mutual_tls` as authentication scheme
241
+ - **Token expiry enforcement** — All three verification modes (JWT, API key, HMAC) check token expiry; expired tokens are rejected
242
+ - **HMAC tamper detection** — Offline tokens use HMAC-SHA256 with constant-time comparison (`hmac.compare_digest`) to prevent timing attacks
243
+ - **Scope-based access** — MCP tools require appropriate scopes (`mcp:read`, `mcp:write`, `mcp:execute`) verified from token payload
244
+
245
+ No new gate added to `args/security_gates.yaml` — Phase 55 operates within the existing authentication and authorization framework established by Phase 21 (SaaS) and Phase 28 (Remote Command Gateway).
246
+
247
+ ---
248
+
249
+ ## 9. Verification
250
+
251
+ ```bash
252
+ # A2A v0.3 Agent Card generation
253
+ python tools/agent/a2a_agent_card_generator.py --all --json # Generate all 15 agent cards
254
+ python tools/agent/a2a_agent_card_generator.py --agent-id builder --json # Single agent card
255
+ python tools/agent/a2a_agent_card_generator.py --list --json # List agents summary
256
+
257
+ # A2A v0.3 Discovery Server
258
+ python tools/agent/a2a_discovery_server.py --list --json # Discover all agents with health
259
+ python tools/agent/a2a_discovery_server.py --find-skill ssp_generate --json # Skill-based lookup
260
+ python tools/agent/a2a_discovery_server.py --find-capability taskSubscription --json # Capability filter
261
+ python tools/agent/a2a_discovery_server.py --summary --json # Discovery landscape summary
262
+
263
+ # MCP OAuth 2.1 verification (programmatic)
264
+ python -c "
265
+ from tools.saas.mcp_oauth import MCPOAuthVerifier
266
+ v = MCPOAuthVerifier()
267
+ token = v.generate_offline_token('user-1', 'admin@icdev.local', 'admin')
268
+ result = v.verify_token(token)
269
+ print(f'Verified: {result[\"verified\"]}, Method: {result[\"method\"]}, Role: {result[\"role\"]}')
270
+ "
271
+
272
+ # MCP Elicitation (programmatic)
273
+ python -c "
274
+ from tools.saas.mcp_oauth import MCPElicitationHandler
275
+ h = MCPElicitationHandler()
276
+ req = h.create_elicitation('ssp_generate', 'Select impact level', options=['IL4','IL5','IL6'], input_type='choice')
277
+ print(f'Elicitation: {req[\"elicitation_id\"]}, Status: {req[\"status\"]}')
278
+ resolved = h.resolve_elicitation(req['elicitation_id'], 'IL5')
279
+ print(f'Resolved: {resolved[\"status\"]}, Response: {resolved[\"response\"]}')
280
+ "
281
+
282
+ # MCP Tasks (programmatic)
283
+ python -c "
284
+ from tools.saas.mcp_oauth import MCPTaskManager
285
+ tm = MCPTaskManager()
286
+ task = tm.create_task('sbom_generate', {'project_id': 'proj-123'})
287
+ print(f'Task: {task[\"task_id\"]}, Status: {task[\"status\"]}')
288
+ tm.update_progress(task['task_id'], 50, 'running')
289
+ tm.complete_task(task['task_id'], {'sbom_path': '/tmp/sbom.json'})
290
+ print(f'Final: {tm.get_task(task[\"task_id\"])[\"status\"]}')
291
+ "
292
+ ```
293
+
294
+ ---
295
+
296
+ ## 10. Architecture Decisions
297
+
298
+ | ID | Decision | Rationale |
299
+ |----|----------|-----------|
300
+ | D344 | A2A v0.3 adds `capabilities` to Agent Card and `tasks/sendSubscribe` for streaming. Backward compatible via `protocolVersion` field. | v0.2 clients ignore unknown fields; v0.3 clients use capabilities for intelligent routing. Discovery server provides skill-based and capability-based agent lookup without hardcoded routing tables. |
301
+ | D345 | MCP OAuth 2.1 reuses existing SaaS auth middleware. Supports offline HMAC token verification for air-gap. | No new auth stack — reuses Phase 21 API key infrastructure (SHA-256 hash lookup), extends with HMAC offline tokens for IL5/IL6 air-gapped deployments. JWT verification degrades gracefully when JWKS endpoint unavailable. |
302
+ | D346 | MCP Elicitation allows tools to request user input mid-execution. MCP Tasks wraps long-running tools with create/progress/complete lifecycle. | Elicitation supports interactive compliance workflows (e.g., selecting impact level during SSP generation). Task lifecycle enables progress tracking for operations that span minutes (e.g., full SBOM generation, Monte Carlo simulation). Both use in-memory state — no new database tables. |
303
+
304
+ ---
305
+
306
+ ## 11. Files
307
+
308
+ ### New Files (3)
309
+ | File | LOC | Purpose |
310
+ |------|-----|---------|
311
+ | `tools/agent/a2a_agent_card_generator.py` | ~285 | A2A v0.3 Agent Card generation for all 15 agents |
312
+ | `tools/agent/a2a_discovery_server.py` | ~250 | Centralized agent discovery with health-aware routing |
313
+ | `tools/saas/mcp_oauth.py` | ~400 | MCP OAuth 2.1 verifier, elicitation handler, task manager |
314
+
315
+ ### Modified Files (5)
316
+ | File | Change |
317
+ |------|--------|
318
+ | `tools/mcp/tool_registry.py` | +A2A discovery and MCP OAuth tool entries |
319
+ | `tools/mcp/gap_handlers.py` | +Handler functions for discovery/oauth tools |
320
+ | `CLAUDE.md` | +D344-D346, +Phase 55 commands, +A2A v0.3 goal entry |
321
+ | `tools/manifest.md` | +A2A v0.3 and MCP OAuth section |
322
+ | `goals/manifest.md` | +A2A v0.3 goal entry |
@@ -0,0 +1,352 @@
1
+ # Phase 56 — Compliance Evidence & Artifact Lineage
2
+
3
+ **CUI // SP-CTI**
4
+
5
+ | Field | Value |
6
+ |-------|-------|
7
+ | Phase | 56 |
8
+ | Title | Compliance Evidence & Artifact Lineage |
9
+ | Status | Implemented |
10
+ | Priority | P1 |
11
+ | Dependencies | Phase 46 (Observability & XAI), Phase 18 (MBSE Integration), Phase 23 (Universal Compliance Platform), Phase 4 (NIST Compliance) |
12
+ | Author | ICDEV Architect Agent |
13
+ | Date | 2026-02-26 |
14
+
15
+ ---
16
+
17
+ ## 1. Problem Statement
18
+
19
+ ICDEV supports 14 compliance frameworks (NIST 800-53, FedRAMP, CMMC, HIPAA, CJIS, PCI DSS, ISO 27001, SOC 2, NIST 800-207, MITRE ATLAS, AI Transparency, SBOM, audit trail, and more), each generating evidence across different DB tables and file artifacts. Before Phase 56, there was no unified mechanism to:
20
+
21
+ - Collect evidence across all frameworks in a single operation
22
+ - Check whether collected evidence is still fresh enough for an upcoming ATO assessment
23
+ - Integrate evidence freshness into the heartbeat monitoring daemon for continuous compliance
24
+ - Visualize the relationships between artifacts produced at every stage of the SDLC — from MBSE model elements through provenance activities to audit events and SBOM components
25
+
26
+ Assessors had to query each framework's DB tables individually. Compliance officers had no cross-framework inventory view. The digital thread, provenance graph, audit trail, and SBOM were four separate data silos with no unified visualization.
27
+
28
+ Phase 56 closes these gaps with two capabilities: universal evidence auto-collection with freshness monitoring (D347), and an artifact lineage DAG that joins all four data sources into a single interactive visualization (D348).
29
+
30
+ ---
31
+
32
+ ## 2. Goals
33
+
34
+ 1. Provide a universal evidence collector that spans all 14 compliance frameworks in a single CLI invocation
35
+ 2. Map each framework to its backing DB tables and file artifact patterns via a declarative registry
36
+ 3. Compute per-framework evidence counts, freshness timestamps, and staleness alerts
37
+ 4. Support configurable max-age thresholds for freshness checking (default 168 hours / 7 days)
38
+ 5. Integrate evidence freshness into the heartbeat daemon for continuous compliance monitoring
39
+ 6. Build a unified artifact lineage DAG joining 4 data sources: digital thread, W3C PROV, audit trail, and SBOM
40
+ 7. Render the lineage DAG as an SVG visualization on the `/lineage` dashboard page
41
+ 8. Provide a `/evidence` dashboard page with framework inventory, collection trigger, and freshness checking
42
+ 9. Expose REST API endpoints for both evidence and lineage operations
43
+
44
+ ---
45
+
46
+ ## 3. Architecture
47
+
48
+ ```
49
+ Universal Compliance Evidence & Artifact Lineage
50
+ ┌─────────────────────────────────────────────────────────────┐
51
+ │ evidence_collector.py (D347) │
52
+ │ FRAMEWORK_EVIDENCE_MAP: 14 frameworks → tables + globs │
53
+ └──────────────┬──────────────────────────────┬───────────────┘
54
+ │ │
55
+ ┌───────────┴───────────┐ ┌──────────┴──────────┐
56
+ │ collect_evidence() │ │ check_freshness() │
57
+ │ per-table counts │ │ max_age_hours │
58
+ │ per-file hashing │ │ staleness alerts │
59
+ └───────────┬───────────┘ └──────────┬──────────┘
60
+ │ │
61
+ ┌──────────┴──────────────────────────────┴──────────┐
62
+ │ Dashboard: /evidence │
63
+ │ stat grid · framework table · collect · freshness │
64
+ └─────────────────────────────────────────────────────┘
65
+
66
+ ┌─────────────────────────────────────────────────────────────┐
67
+ │ lineage_api.py (D348) │
68
+ │ 4 data sources → unified DAG (nodes + edges) │
69
+ └──────────────┬──────────────────────────────────────────────┘
70
+
71
+ ┌───────────┼───────────────┬──────────────┐
72
+ ↓ ↓ ↓ ↓
73
+ Digital W3C PROV Audit Trail SBOM
74
+ Thread Entities Events Components
75
+ (MBSE) + Relations (append-only) (sbom_records)
76
+ │ │ │ │
77
+ └───────────┼───────────────┘ │
78
+ ↓ ↓
79
+ Nodes + Edges ────────────────────────┘
80
+
81
+ ┌──────────┴──────────────────────────────────────────┐
82
+ │ Dashboard: /lineage │
83
+ │ stat grid · SVG DAG · artifact inventory table │
84
+ └─────────────────────────────────────────────────────┘
85
+
86
+ Heartbeat Integration:
87
+ ┌──────────────────────────────────────────────────────────┐
88
+ │ heartbeat_daemon.py → check_evidence_freshness() │
89
+ │ Periodic probe → stale evidence → audit + SSE alert │
90
+ └──────────────────────────────────────────────────────────┘
91
+ ```
92
+
93
+ ### Key Design Principles
94
+
95
+ - **Extends existing patterns** — Evidence collector follows the `cssp_evidence_collector.py` pattern, not a new architecture (D347)
96
+ - **Declarative registry** — `FRAMEWORK_EVIDENCE_MAP` maps each framework to DB tables and file globs; add new frameworks without code changes (D26 pattern)
97
+ - **Read-only DAG** — Lineage visualization joins existing tables without creating new data or modifying sources (D348)
98
+ - **Air-gap safe** — All operations use stdlib `sqlite3`, `hashlib`, `pathlib`, and `xml.etree.ElementTree`; zero external dependencies
99
+ - **Append-only audit** — Evidence collection events recorded in the audit trail (D6 pattern)
100
+
101
+ ---
102
+
103
+ ## 4. Implementation
104
+
105
+ ### Component 1: Universal Evidence Collector (`tools/compliance/evidence_collector.py`)
106
+
107
+ **Declarative Framework Registry** — `FRAMEWORK_EVIDENCE_MAP` defines 14 frameworks, each with:
108
+
109
+ | Field | Purpose |
110
+ |-------|---------|
111
+ | `description` | Human-readable framework name |
112
+ | `tables` | List of DB tables containing evidence for this framework |
113
+ | `file_patterns` | Glob patterns for file-based artifacts (e.g., `**/ssp_*.json`) |
114
+ | `required` | Whether this framework is mandatory for ATO readiness |
115
+
116
+ **14 Supported Frameworks:**
117
+
118
+ | Framework | Tables | Required |
119
+ |-----------|--------|----------|
120
+ | `nist_800_53` | control_implementations, audit_trail, stig_results | Yes |
121
+ | `fedramp` | fedramp_assessments, control_implementations, oscal_validation_log | Yes |
122
+ | `cmmc` | cmmc_assessments, control_implementations | No |
123
+ | `hipaa` | hipaa_assessments | No |
124
+ | `cjis` | cjis_assessments | No |
125
+ | `pci_dss` | pci_dss_assessments | No |
126
+ | `iso27001` | iso27001_assessments | No |
127
+ | `soc2` | soc2_assessments | No |
128
+ | `nist_800_207` | nist_800_207_assessments, zta_maturity_scores | No |
129
+ | `atlas` | atlas_assessments, atlas_red_team_results | No |
130
+ | `ai_transparency` | omb_m25_21_assessments, omb_m26_04_assessments, nist_ai_600_1_assessments, gao_ai_assessments, model_cards, system_cards, ai_use_case_inventory | No |
131
+ | `sbom` | sbom_records | Yes |
132
+ | `audit_trail` | audit_trail | Yes |
133
+ | `hitrust` | hitrust_assessments | No |
134
+
135
+ **Core Functions:**
136
+
137
+ - `collect_evidence(project_id, project_dir, framework)` — Scans all or one framework, counts DB records per table, hashes file artifacts, returns structured summary
138
+ - `check_freshness(project_id, max_age_hours)` — Computes evidence age for each framework, flags stale items beyond threshold
139
+ - `list_frameworks()` — Returns all registered frameworks with metadata
140
+
141
+ **Helper Utilities:**
142
+
143
+ - `_count_project_records()` — Counts records for a project in a table, auto-detects timestamp columns (`created_at`, `collected_at`, `assessed_at`, `timestamp`) for freshness
144
+ - `_hash_file()` — SHA-256 file hashing for artifact integrity verification
145
+ - `_compute_age_hours()` — Parses multiple timestamp formats (ISO, SQLite datetime) and computes age in hours
146
+ - `_table_exists()` — Safe table existence check via `sqlite_master`
147
+
148
+ ### Component 2: Artifact Lineage API (`tools/dashboard/api/lineage.py`)
149
+
150
+ **Blueprint `lineage_api`** with routes:
151
+
152
+ - `GET /api/lineage/graph` — Builds the unified DAG for a project by querying 4 data sources
153
+ - `GET /api/lineage/stats` — Returns node/edge counts per data source
154
+
155
+ **4 Data Sources Joined into DAG:**
156
+
157
+ | Source | Table(s) | Node Type | Edge Type |
158
+ |--------|----------|-----------|-----------|
159
+ | Digital Thread | `digital_thread_links` | `source_type:source_id` | `link_type` (traces_to, implements, etc.) |
160
+ | W3C Provenance | `prov_entities`, `prov_relations` | `entity_type` | `relation_type` (wasGeneratedBy, used, wasDerivedFrom) |
161
+ | Audit Trail | `audit_trail` | `audit_event` | Temporal ordering (last 50 events) |
162
+ | SBOM | `sbom_records` | `sbom_component` | Component dependency (up to 100 components) |
163
+
164
+ Each node carries: `id`, `type`, `label`, `source`. Each edge carries: `source`, `target`, `relation`, `origin`.
165
+
166
+ ### Component 3: Evidence Dashboard API (`tools/dashboard/api/evidence.py`)
167
+
168
+ **Blueprint `evidence_api`** with routes:
169
+
170
+ - `GET /api/evidence/stats` — Overall evidence statistics (framework count, required count, per-framework record totals)
171
+ - `POST /api/evidence/collect` — Trigger evidence collection for a project (accepts `project_id`, `framework`, `project_dir`)
172
+ - `GET /api/evidence/freshness` — Check evidence freshness for a project (accepts `project_id`, `max_age_hours`)
173
+
174
+ ### Component 4: Heartbeat Integration
175
+
176
+ The heartbeat daemon (`tools/monitor/heartbeat_daemon.py`) includes an evidence freshness check that periodically probes stale evidence across all required frameworks. When evidence exceeds the configured max-age threshold, the daemon:
177
+
178
+ 1. Records the staleness event in the audit trail
179
+ 2. Pushes an SSE notification to the dashboard
180
+ 3. Sends an alert to configured gateway channels (if enabled)
181
+
182
+ ---
183
+
184
+ ## 5. Database
185
+
186
+ Phase 56 does not create new database tables. It reads from existing tables across multiple subsystems:
187
+
188
+ ### Evidence Collection — Tables Read
189
+
190
+ | Table | Framework | Purpose |
191
+ |-------|-----------|---------|
192
+ | `control_implementations` | NIST 800-53, FedRAMP, CMMC | Control implementation evidence |
193
+ | `audit_trail` | Audit Trail | Append-only event log |
194
+ | `stig_results` | NIST 800-53 | STIG scan results |
195
+ | `fedramp_assessments` | FedRAMP | FedRAMP assessment records |
196
+ | `oscal_validation_log` | FedRAMP | OSCAL validation attempts |
197
+ | `cmmc_assessments` | CMMC | CMMC practice assessments |
198
+ | `hipaa_assessments` | HIPAA | HIPAA safeguard assessments |
199
+ | `cjis_assessments` | CJIS | CJIS policy area assessments |
200
+ | `pci_dss_assessments` | PCI DSS | PCI DSS requirement assessments |
201
+ | `iso27001_assessments` | ISO 27001 | ISO 27001 control assessments |
202
+ | `soc2_assessments` | SOC 2 | SOC 2 trust criteria assessments |
203
+ | `nist_800_207_assessments` | NIST 800-207 | ZTA assessment records |
204
+ | `zta_maturity_scores` | NIST 800-207 | ZTA pillar maturity scores |
205
+ | `atlas_assessments` | ATLAS | MITRE ATLAS assessments |
206
+ | `atlas_red_team_results` | ATLAS | Red team test results |
207
+ | `omb_m25_21_assessments` | AI Transparency | OMB M-25-21 assessments |
208
+ | `omb_m26_04_assessments` | AI Transparency | OMB M-26-04 assessments |
209
+ | `nist_ai_600_1_assessments` | AI Transparency | NIST AI 600-1 assessments |
210
+ | `gao_ai_assessments` | AI Transparency | GAO AI assessments |
211
+ | `model_cards` | AI Transparency | AI model cards |
212
+ | `system_cards` | AI Transparency | AI system cards |
213
+ | `ai_use_case_inventory` | AI Transparency | AI use case registry |
214
+ | `sbom_records` | SBOM | Software bill of materials |
215
+ | `hitrust_assessments` | HITRUST | HITRUST CSF assessments |
216
+
217
+ ### Lineage DAG — Tables Read
218
+
219
+ | Table | Source | Node Type |
220
+ |-------|--------|-----------|
221
+ | `digital_thread_links` | MBSE Digital Thread | Requirements, model elements, code modules |
222
+ | `prov_entities` | W3C Provenance | Provenance entities (artifacts, agents) |
223
+ | `prov_relations` | W3C Provenance | Provenance relationships |
224
+ | `audit_trail` | Audit Trail | Audit events (actions by actors) |
225
+ | `sbom_records` | SBOM | Software components with versions |
226
+
227
+ ---
228
+
229
+ ## 6. Configuration
230
+
231
+ Evidence freshness thresholds are configurable via CLI flags:
232
+
233
+ ```bash
234
+ # Default: 168 hours (7 days)
235
+ python tools/compliance/evidence_collector.py --project-id "proj-123" --freshness --max-age-hours 168 --json
236
+
237
+ # Stricter: 72 hours (3 days) for cATO environments
238
+ python tools/compliance/evidence_collector.py --project-id "proj-123" --freshness --max-age-hours 72 --json
239
+ ```
240
+
241
+ Heartbeat daemon configuration in `args/monitoring_config.yaml` includes the evidence freshness check interval and max-age threshold.
242
+
243
+ The framework registry (`FRAMEWORK_EVIDENCE_MAP`) is defined as a Python dict constant in `evidence_collector.py`. To add a new framework, add a new entry with `description`, `tables`, `file_patterns`, and `required` fields.
244
+
245
+ ---
246
+
247
+ ## 7. Dashboard
248
+
249
+ ### `/evidence` — Compliance Evidence Inventory
250
+
251
+ - **Stat grid** (4 cards): total frameworks, required frameworks, frameworks with evidence, coverage percentage
252
+ - **Controls**: project ID input, "Collect Evidence" button (POST), "Check Freshness" button (GET)
253
+ - **Framework table**: framework ID, description, required flag, record count, status badge (green/yellow/red)
254
+ - **Freshness results**: per-framework age display with stale/fresh indicators
255
+
256
+ ### `/lineage` — Artifact Lineage DAG
257
+
258
+ - **Stat grid** (3 cards): total nodes, total edges, data sources contributing
259
+ - **Controls**: project ID input, "Load Lineage" button
260
+ - **SVG DAG visualization**: client-side rendered DAG with color-coded nodes by source (digital thread, provenance, audit trail, SBOM); WCAG accessible (`role="img"`, `aria-label`)
261
+ - **Artifact inventory table**: all nodes listed with ID, type, label, source; auto-enhanced by `tables.js` (search, sort, filter, CSV export)
262
+
263
+ Both pages follow existing dashboard patterns: `base.html` extension, stat-grid layout, `table-container` wrapper, `charts.js` SVG rendering, CUI banner integration.
264
+
265
+ ---
266
+
267
+ ## 8. Security Gates
268
+
269
+ Phase 56 does not introduce a new named security gate. Evidence freshness is enforced through the existing gate infrastructure:
270
+
271
+ - **cATO Gate** — `0 expired evidence on critical controls, readiness >= 50%` already blocks on stale evidence. Phase 56's freshness checker provides the data that feeds this gate evaluation.
272
+ - **Multi-Regime Gate** — `All applicable frameworks must pass individual gates` depends on evidence being current across all detected frameworks.
273
+
274
+ The evidence collector's `--freshness` flag and heartbeat integration ensure that staleness is detected proactively before gate evaluation occurs, rather than discovering it at deployment time.
275
+
276
+ ---
277
+
278
+ ## 9. Verification
279
+
280
+ ```bash
281
+ # CLI — Collect evidence for all frameworks
282
+ python tools/compliance/evidence_collector.py --project-id "proj-123" --json
283
+
284
+ # CLI — Collect evidence for a single framework
285
+ python tools/compliance/evidence_collector.py --project-id "proj-123" --framework fedramp --json
286
+
287
+ # CLI — Check evidence freshness (default 168-hour threshold)
288
+ python tools/compliance/evidence_collector.py --project-id "proj-123" --freshness --max-age-hours 168 --json
289
+
290
+ # CLI — List supported frameworks
291
+ python tools/compliance/evidence_collector.py --list-frameworks --json
292
+
293
+ # Dashboard — Evidence page
294
+ # Navigate to /evidence, enter project ID, click "Collect Evidence" or "Check Freshness"
295
+
296
+ # Dashboard — Lineage page
297
+ # Navigate to /lineage, enter project ID, click "Load Lineage" to render SVG DAG
298
+
299
+ # API — Evidence endpoints
300
+ curl http://localhost:5000/api/evidence/stats
301
+ curl -X POST http://localhost:5000/api/evidence/collect -d '{"project_id":"proj-123"}'
302
+ curl "http://localhost:5000/api/evidence/freshness?project_id=proj-123&max_age_hours=168"
303
+
304
+ # API — Lineage endpoints
305
+ curl "http://localhost:5000/api/lineage/graph?project_id=proj-123"
306
+ curl "http://localhost:5000/api/lineage/stats"
307
+ ```
308
+
309
+ ---
310
+
311
+ ## 10. Architecture Decisions
312
+
313
+ | ID | Decision | Rationale |
314
+ |----|----------|-----------|
315
+ | D347 | Evidence collector extends `cssp_evidence_collector.py` pattern to all 14 frameworks | Proven pattern from Phase 14; declarative framework-to-table mapping enables adding new frameworks without code changes (D26 pattern). Uses crosswalk engine for multi-framework evidence mapping. |
316
+ | D348 | Lineage dashboard joins digital thread + provenance + audit trail + SBOM into unified DAG visualization | Read-only SVG rendering from existing DB tables. No new data storage, no data duplication. Four previously siloed data sources become a single navigable graph for compliance officers and assessors. |
317
+
318
+ ### Related Decisions
319
+
320
+ | ID | Relevance |
321
+ |----|-----------|
322
+ | D6 | Audit trail is append-only/immutable — lineage reads but never modifies |
323
+ | D7 | stdlib `xml.etree.ElementTree` for file parsing — air-gap safe |
324
+ | D26 | Declarative JSON/dict registries — add frameworks without code changes |
325
+ | D94 | SVG chart library (zero dependencies) — lineage DAG uses same rendering approach |
326
+ | D287 | W3C PROV-AGENT provenance in 3 append-only SQLite tables — lineage reads prov_entities and prov_relations |
327
+ | D163 | Heartbeat notifications fan out to audit trail, SSE, gateway — evidence staleness alerts use same channels |
328
+
329
+ ---
330
+
331
+ ## 11. Files
332
+
333
+ ### New Files (5)
334
+
335
+ | File | Purpose |
336
+ |------|---------|
337
+ | `tools/compliance/evidence_collector.py` | Universal compliance evidence auto-collector (14 frameworks) |
338
+ | `tools/dashboard/api/evidence.py` | Dashboard API Blueprint for evidence collection |
339
+ | `tools/dashboard/api/lineage.py` | Dashboard API Blueprint for artifact lineage DAG |
340
+ | `tools/dashboard/templates/evidence.html` | Evidence collection dashboard page |
341
+ | `tools/dashboard/templates/lineage.html` | Artifact lineage DAG dashboard page |
342
+
343
+ ### Modified Files
344
+
345
+ | File | Change |
346
+ |------|--------|
347
+ | `tools/dashboard/app.py` | +/evidence and /lineage routes, +Blueprint registrations |
348
+ | `tools/monitor/heartbeat_daemon.py` | +evidence_freshness check integration |
349
+ | `tools/mcp/tool_registry.py` | +evidence and lineage tool entries in unified gateway |
350
+ | `CLAUDE.md` | +D347-D348, +CLI commands, +dashboard pages, +evidence collection section |
351
+ | `tools/manifest.md` | +Evidence Collection and Artifact Lineage entries |
352
+ | `goals/manifest.md` | +Evidence Collection entry |