icdev 0.0.3__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.
- args/agent_config.yaml +113 -0
- args/audit_regimes/cisa_sbd.json +381 -0
- args/audit_regimes/cmmc_l2.json +906 -0
- args/audit_regimes/dod_cssp.json +393 -0
- args/audit_regimes/dodi_5000_87.json +297 -0
- args/audit_regimes/fedramp_moderate.json +650 -0
- args/audit_regimes/ieee_1012.json +373 -0
- args/audit_regimes/nist_800_171.json +624 -0
- args/audit_regimes/nist_800_53.json +907 -0
- args/cloudforge_blueprints/aws_commercial.yaml +29 -0
- args/cloudforge_blueprints/aws_govcloud_il4.yaml +34 -0
- args/cloudforge_blueprints/aws_govcloud_il5.yaml +38 -0
- args/cloudforge_blueprints/azure_commercial.yaml +28 -0
- args/cloudforge_blueprints/azure_gov_il4.yaml +32 -0
- args/cloudforge_blueprints/azure_gov_il5.yaml +36 -0
- args/cloudforge_blueprints/gcp_commercial.yaml +28 -0
- args/cloudforge_blueprints/oci_commercial.yaml +28 -0
- args/cloudforge_config.yaml +231 -0
- args/cloudforge_runbook_templates/backup_verify.yaml +98 -0
- args/cloudforge_runbook_templates/dr_failover.yaml +107 -0
- args/cloudforge_runbook_templates/health_check.yaml +97 -0
- args/cloudforge_runbook_templates/incident_response.yaml +101 -0
- args/cloudforge_runbook_templates/migration_cutover.yaml +105 -0
- args/cloudforge_runbook_templates/patch_rollout.yaml +92 -0
- args/cloudforge_runbook_templates/zone_provision.yaml +93 -0
- args/code_pattern_config.yaml +151 -0
- args/code_quality_config.yaml +47 -0
- args/compliance_config.yaml +17 -0
- args/control_inheritance.yaml +177 -0
- args/csp_mcp_config.yaml +41 -0
- args/cui_markings.yaml +35 -0
- args/databridge_config.yaml +232 -0
- args/db_config.yaml +116 -0
- args/decision_tables/agent_trust_decision.yaml +143 -0
- args/decision_tables/ato_boundary_impact.yaml +132 -0
- args/decision_tables/deployment_approval.yaml +152 -0
- args/degradation_matrix.yaml +163 -0
- args/devsecops_config.yaml +286 -0
- args/endpoint_security_config.yaml +207 -0
- args/exit_criteria.yaml +102 -0
- args/feature_flags.yaml +235 -0
- args/file_access_tiers.yaml +88 -0
- args/forge_studio/blueprint_config.yaml +27 -0
- args/forge_studio/component_catalog.json +411 -0
- args/forge_studio/workflow_templates.yaml +103 -0
- args/govcon_config.yaml +41 -0
- args/harness_config.yaml +67 -0
- args/innovation_config.yaml +321 -0
- args/knowledge_graph_config.yaml +113 -0
- args/llm_config.yaml +222 -0
- args/marketplace_config.yaml +260 -0
- args/monitoring_config.yaml +127 -0
- args/mosa_config.yaml +190 -0
- args/observability_tracing_config.yaml +170 -0
- args/owasp_agentic_config.yaml +171 -0
- args/pipeline_gates.yaml +197 -0
- args/project_defaults.yaml +235 -0
- args/prompt_chains.yaml +163 -0
- args/rag_config.yaml +167 -0
- args/research_config.yaml +89 -0
- args/resilience_config.yaml +197 -0
- args/ricoas_config.yaml +191 -0
- args/security_gates.yaml +763 -0
- args/storage_config.yaml +63 -0
- args/writeguard_config.yaml +131 -0
- args/zta_config.yaml +247 -0
- context/__init__.py +6 -0
- context/agent/__init__.py +6 -0
- context/agent/response_schemas/__init__.py +6 -0
- context/agent/response_schemas/debate_position.json +46 -0
- context/agent/response_schemas/fitness_scorecard.json +74 -0
- context/agent/response_schemas/review_decision.json +39 -0
- context/agent/response_schemas/task_decomposition.json +82 -0
- context/agent/response_schemas/veto_decision.json +40 -0
- context/agentic/__init__.py +6 -0
- context/agentic/architecture_patterns.md +269 -0
- context/agentic/capability_registry.yaml +223 -0
- context/agentic/csp_integration.md +30 -0
- context/agentic/csp_mcp_registry.yaml +280 -0
- context/agentic/fitness_rubric.md +56 -0
- context/agentic/governance_baseline.md +205 -0
- context/ci/__init__.py +6 -0
- context/ci/worktree_templates.json +44 -0
- context/cloud/__init__.py +6 -0
- context/cloud/csp_service_registry.json +739 -0
- context/compliance/__init__.py +6 -0
- context/compliance/ai_rmf_crosswalk.yaml +226 -0
- context/compliance/atlas_mitigations.json +293 -0
- context/compliance/atlas_techniques.json +833 -0
- context/compliance/cisa_sbd_requirements.json +477 -0
- context/compliance/cjis_security_policy.json +522 -0
- context/compliance/cmmc_practices.json +2494 -0
- context/compliance/cmmc_report_template.md +142 -0
- context/compliance/cnssi_1253_overlay.json +109 -0
- context/compliance/control_crosswalk.json +1914 -0
- context/compliance/control_families/__init__.py +6 -0
- context/compliance/csp_certifications.json +251 -0
- context/compliance/cssp_report_template.md +193 -0
- context/compliance/cui_templates/__init__.py +6 -0
- context/compliance/cui_templates/banner_block.txt +4 -0
- context/compliance/cui_templates/code_header.txt +8 -0
- context/compliance/cui_templates/document_template.md +35 -0
- context/compliance/data_type_framework_map.json +321 -0
- context/compliance/data_type_registry.json +147 -0
- context/compliance/dod_cssp_8530.json +463 -0
- context/compliance/eu_ai_act_annex_iii.json +108 -0
- context/compliance/export_templates/__init__.py +6 -0
- context/compliance/export_templates/emass_controls.csv.j2 +4 -0
- context/compliance/export_templates/evidence_package.md.j2 +39 -0
- context/compliance/export_templates/executive_summary.md.j2 +55 -0
- context/compliance/export_templates/poam_tracking.csv.j2 +4 -0
- context/compliance/fedramp_20x_ksi_schemas.json +133 -0
- context/compliance/fedramp_high_baseline.json +4370 -0
- context/compliance/fedramp_moderate_baseline.json +2183 -0
- context/compliance/fedramp_report_template.md +181 -0
- context/compliance/fips_200_areas.json +362 -0
- context/compliance/gao_ai_accountability.json +262 -0
- context/compliance/hipaa_security_rule.json +720 -0
- context/compliance/hitrust_csf_v11.json +930 -0
- context/compliance/impact_level_profiles.json +251 -0
- context/compliance/incident_response_template.md +1110 -0
- context/compliance/iso27001_2022_controls.json +750 -0
- context/compliance/iso27001_nist_bridge.json +382 -0
- context/compliance/iso42001_controls.json +254 -0
- context/compliance/ivv_checklist_template.md +80 -0
- context/compliance/ivv_report_template.md +116 -0
- context/compliance/ivv_requirements.json +372 -0
- context/compliance/mosa_crosswalk.json +327 -0
- context/compliance/mosa_framework.json +250 -0
- context/compliance/narrative_templates/AC.md.j2 +101 -0
- context/compliance/narrative_templates/AU.md.j2 +106 -0
- context/compliance/narrative_templates/IA.md.j2 +104 -0
- context/compliance/narrative_templates/SC.md.j2 +102 -0
- context/compliance/narrative_templates/SI.md.j2 +111 -0
- context/compliance/narrative_templates/__init__.py +6 -0
- context/compliance/narrative_templates/default.md.j2 +50 -0
- context/compliance/narrative_templates/executive_summary.j2 +27 -0
- context/compliance/narrative_templates/poam_milestone.j2 +19 -0
- context/compliance/narrative_templates/ssp_section.j2 +11 -0
- context/compliance/nist_800_171_controls.json +1552 -0
- context/compliance/nist_800_207_crosswalk.json +399 -0
- context/compliance/nist_800_207_zta.json +258 -0
- context/compliance/nist_800_53.json +324 -0
- context/compliance/nist_ai_600_1_genai.json +326 -0
- context/compliance/nist_ai_rmf.json +206 -0
- context/compliance/nist_sp_800_60_types.json +1667 -0
- context/compliance/omb_m25_21_high_impact_ai.json +248 -0
- context/compliance/omb_m26_04_unbiased_ai.json +262 -0
- context/compliance/owasp_agentic_asi.json +133 -0
- context/compliance/owasp_agentic_threats.json +285 -0
- context/compliance/owasp_llm_top10.json +274 -0
- context/compliance/pci_dss_v4.json +510 -0
- context/compliance/poam_template.md +117 -0
- context/compliance/safeai_controls.json +512 -0
- context/compliance/sbd_report_template.md +77 -0
- context/compliance/siem_config_templates/__init__.py +6 -0
- context/compliance/siem_config_templates/filebeat.yml +213 -0
- context/compliance/siem_config_templates/log_sources.json +208 -0
- context/compliance/soc2_trust_criteria.json +661 -0
- context/compliance/ssp_template.md +432 -0
- context/compliance/stig_templates/__init__.py +6 -0
- context/compliance/stig_templates/webapp_stig.json +139 -0
- context/compliance/xai_requirements.json +108 -0
- context/dashboard/__init__.py +6 -0
- context/dashboard/nlq_examples.json +50 -0
- context/dashboard/schema_descriptions.json +23 -0
- context/icdev_methodology.md +100 -0
- context/integration/__init__.py +6 -0
- context/integration/approval_workflows.json +32 -0
- context/integration/gitlab_field_mappings.json +33 -0
- context/integration/jira_field_mappings.json +32 -0
- context/integration/reqif_export_schema.json +23 -0
- context/integration/servicenow_field_mappings.json +22 -0
- context/languages/__init__.py +6 -0
- context/languages/framework_patterns.json +205 -0
- context/languages/language_registry.json +279 -0
- context/llm/__init__.py +6 -0
- context/llm/example_provider.py +89 -0
- context/marketplace/assets/writeguard-core.yaml +100 -0
- context/marketplace/assets/writeguard-govcon.yaml +45 -0
- context/marketplace/assets/writeguard-style-guides.yaml +44 -0
- context/mbse/__init__.py +6 -0
- context/mbse/des_report_template.md +162 -0
- context/mbse/des_requirements.json +411 -0
- context/mbse/digital_thread_patterns.json +403 -0
- context/mbse/reqif_schema.json +280 -0
- context/mbse/sysml_element_types.json +432 -0
- context/oscal/NIST_SP-800-53_rev5_catalog.json +254987 -0
- context/oscal/README.md +43 -0
- context/patterns/__init__.py +6 -0
- context/profiles/__init__.py +6 -0
- context/profiles/dod_baseline_v1.yaml +145 -0
- context/profiles/fedramp_baseline_v1.yaml +143 -0
- context/profiles/financial_baseline_v1.yaml +142 -0
- context/profiles/healthcare_baseline_v1.yaml +135 -0
- context/profiles/law_enforcement_v1.yaml +129 -0
- context/profiles/startup_v1.yaml +134 -0
- context/rag/source_mappings.json +42 -0
- context/requirements/__init__.py +6 -0
- context/requirements/ambiguity_patterns.json +97 -0
- context/requirements/boundary_impact_rules.json +123 -0
- context/requirements/default_constitutions.json +67 -0
- context/requirements/document_extraction_rules.json +58 -0
- context/requirements/gap_patterns.json +108 -0
- context/requirements/readiness_rubric.json +78 -0
- context/requirements/red_alternative_patterns.json +210 -0
- context/requirements/safe_templates.json +72 -0
- context/requirements/spec_quality_checklist.json +122 -0
- context/research/regulatory_registry.json +114 -0
- context/research/verticals/cybersecurity.json +127 -0
- context/research/verticals/defense.json +104 -0
- context/research/verticals/fintech.json +125 -0
- context/research/verticals/healthcare.json +118 -0
- context/research/verticals/logistics.json +117 -0
- context/research/verticals/trading.json +145 -0
- context/simulation/__init__.py +6 -0
- context/simulation/architecture_patterns.json +36 -0
- context/simulation/coa_templates.json +38 -0
- context/simulation/cost_models.json +23 -0
- context/simulation/risk_categories.json +46 -0
- context/supply_chain/__init__.py +6 -0
- context/supply_chain/isa_templates.json +129 -0
- context/supply_chain/nist_800_161_controls.json +247 -0
- context/supply_chain/scrm_risk_matrix.json +147 -0
- context/templates/__init__.py +6 -0
- context/templates/ansible/__init__.py +6 -0
- context/templates/ansible/playbooks/__init__.py +6 -0
- context/templates/ansible/roles/__init__.py +6 -0
- context/templates/gitlab_ci/__init__.py +6 -0
- context/templates/grafana/__init__.py +6 -0
- context/templates/kubernetes/__init__.py +6 -0
- context/templates/project/__init__.py +6 -0
- context/templates/project/api/__init__.py +6 -0
- context/templates/project/cli/__init__.py +6 -0
- context/templates/project/data_pipeline/__init__.py +6 -0
- context/templates/project/iac/__init__.py +6 -0
- context/templates/project/javascript_frontend/__init__.py +6 -0
- context/templates/project/javascript_frontend/src/__init__.py +6 -0
- context/templates/project/javascript_frontend/tests/__init__.py +6 -0
- context/templates/project/microservice/__init__.py +6 -0
- context/templates/project/python_backend/__init__.py +6 -0
- context/templates/project/python_backend/src/__init__.py +6 -0
- context/templates/project/python_backend/tests/__init__.py +6 -0
- context/templates/project/python_backend/tests/features/__init__.py +6 -0
- context/templates/project/python_backend/tests/steps/__init__.py +6 -0
- context/templates/terraform/__init__.py +6 -0
- context/templates/terraform/govcloud_base/__init__.py +6 -0
- context/templates/terraform/modules/__init__.py +6 -0
- context/tone/__init__.py +6 -0
- context/writing/grammar_rules/common_errors.json +306 -0
- context/writing/grammar_rules/govcon_vocabulary.json +113 -0
- context/writing/style_guides/academic.yaml +43 -0
- context/writing/style_guides/business.yaml +42 -0
- context/writing/style_guides/government.yaml +59 -0
- context/writing/style_guides/proposal.yaml +58 -0
- context/writing/style_guides/technical.yaml +43 -0
- docs/adr/README.md +66 -0
- docs/adr/connector-forge-decisions.md +318 -0
- docs/adr/core-decisions.md +289 -0
- docs/adr/db-decisions.md +94 -0
- docs/adr/harness-decisions.md +122 -0
- docs/adr/innovation-decisions.md +262 -0
- docs/adr/marketplace-decisions.md +109 -0
- docs/adr/sbd-decisions.md +109 -0
- docs/adr/scale-engine-decisions.md +108 -0
- docs/adr/writeguard-decisions.md +136 -0
- docs/architecture/bounded-contexts.md +1032 -0
- docs/features/phase-65-writeguard.md +139 -0
- docs/features/phase-66-marketplace-commerce.md +79 -0
- docs/features/phase-67-knowledge-ingestion-rag-autodraft.md +97 -0
- docs/features/phase-68-enhanced-autodraft-pipeline.md +109 -0
- docs/features/phase-69-proposalai-marketplace-module.md +131 -0
- docs/features/phase-70-databridge.md +214 -0
- docs/features/phase-71-databridge-messaging.md +102 -0
- docs/implementation-plan-architecture-evolution.md +614 -0
- docs/marketplace/CONTRIBUTING.md +124 -0
- docs/marketplace/module_manifest_schema.yaml +83 -0
- docs/research/ai-architecture-patterns-2024-2026.md +1236 -0
- docs/research/app-builder-platform-analysis.md +582 -0
- docs/research/architecture-patterns-c4-ddd-agentic.md +871 -0
- docs/research/flowable-boat-competitive-analysis.md +426 -0
- docs/research/modern-dev-practices-2024-2026.md +1615 -0
- docs/research/secure-by-design-cloudyrion-adaptation.md +270 -0
- goals/agent_management.md +144 -0
- goals/ai_accountability.md +90 -0
- goals/ai_narratives.md +79 -0
- goals/ai_transparency.md +76 -0
- goals/ato_simulator.md +78 -0
- goals/audit_engine.md +177 -0
- goals/bite_sized_plans.md +225 -0
- goals/boundary_supply_chain.md +206 -0
- goals/brainstorming_gate.md +186 -0
- goals/build_app.md +604 -0
- goals/cato_live_evidence.md +77 -0
- goals/cloudforge.md +106 -0
- goals/code_intelligence.md +197 -0
- goals/compliance_workflow.md +858 -0
- goals/connector_forge.md +133 -0
- goals/databridge.md +128 -0
- goals/deploy_workflow.md +390 -0
- goals/developer_scorecard.md +78 -0
- goals/devsecops_workflow.md +408 -0
- goals/firmware_sbom.md +79 -0
- goals/forge_hub.md +78 -0
- goals/golden_path.md +77 -0
- goals/harness_engineering.md +91 -0
- goals/integration_testing.md +189 -0
- goals/knowledge_graph.md +128 -0
- goals/maintenance_audit.md +196 -0
- goals/manifest.md +50 -0
- goals/monitoring.md +126 -0
- goals/mosa_workflow.md +463 -0
- goals/multi_agent_orchestration.md +68 -0
- goals/observability_traceability_xai.md +154 -0
- goals/owasp_agentic_security.md +395 -0
- goals/pr_intelligence.md +78 -0
- goals/requirements_intake.md +213 -0
- goals/secure_by_design.md +135 -0
- goals/security_scan.md +381 -0
- goals/self_healing.md +120 -0
- goals/simulation_engine.md +111 -0
- goals/subagent_review.md +205 -0
- goals/systematic_debugging.md +257 -0
- goals/tdd_workflow.md +403 -0
- goals/template_exchange.md +77 -0
- goals/thread_heatmap.md +77 -0
- goals/threat_modeler.md +77 -0
- goals/verification_iron_law.md +192 -0
- goals/vsm_dashboard.md +76 -0
- goals/writeguard.md +89 -0
- goals/zero_trust_architecture.md +403 -0
- hardprompts/__init__.py +6 -0
- hardprompts/agent/__init__.py +6 -0
- hardprompts/agent/agentic_architect.md +100 -0
- hardprompts/agent/debate_prompt.md +32 -0
- hardprompts/agent/fitness_evaluation.md +48 -0
- hardprompts/agent/governance_review.md +214 -0
- hardprompts/agent/reviewer_prompt.md +34 -0
- hardprompts/agent/skill_design.md +172 -0
- hardprompts/agent/task_decomposition.md +275 -0
- hardprompts/agent/veto_check_prompt.md +33 -0
- hardprompts/architect/__init__.py +6 -0
- hardprompts/architect/api_design.md +283 -0
- hardprompts/architect/data_model.md +277 -0
- hardprompts/architect/system_design.md +180 -0
- hardprompts/builder/__init__.py +6 -0
- hardprompts/builder/code_generation.md +59 -0
- hardprompts/builder/refactor.md +58 -0
- hardprompts/builder/scaffold_project.md +69 -0
- hardprompts/builder/test_generation.md +87 -0
- hardprompts/ci/__init__.py +6 -0
- hardprompts/ci/worktree_setup.md +35 -0
- hardprompts/compliance/__init__.py +6 -0
- hardprompts/compliance/cmmc_assessment.md +63 -0
- hardprompts/compliance/cssp_assessment.md +75 -0
- hardprompts/compliance/cui_marking.md +86 -0
- hardprompts/compliance/fedramp_assessment.md +55 -0
- hardprompts/compliance/ivv_assessment.md +96 -0
- hardprompts/compliance/poam_generation.md +57 -0
- hardprompts/compliance/sbd_assessment.md +101 -0
- hardprompts/compliance/security_categorization.md +74 -0
- hardprompts/compliance/ssp_generation.md +56 -0
- hardprompts/compliance/stig_evaluation.md +63 -0
- hardprompts/dashboard/__init__.py +6 -0
- hardprompts/dashboard/nlq_system_prompt.md +26 -0
- hardprompts/infra/__init__.py +6 -0
- hardprompts/infra/k8s_manifests.md +118 -0
- hardprompts/infra/pipeline_generation.md +160 -0
- hardprompts/infra/terraform_generation.md +92 -0
- hardprompts/integration/__init__.py +6 -0
- hardprompts/integration/approval_review.md +17 -0
- hardprompts/integration/jira_mapping.md +25 -0
- hardprompts/integration/servicenow_mapping.md +14 -0
- hardprompts/knowledge/__init__.py +6 -0
- hardprompts/knowledge/pattern_detection.md +73 -0
- hardprompts/knowledge/recommendation_engine.md +90 -0
- hardprompts/knowledge/root_cause_analysis.md +91 -0
- hardprompts/maintenance/__init__.py +6 -0
- hardprompts/maintenance/maintenance_assessment.md +82 -0
- hardprompts/mbse/__init__.py +6 -0
- hardprompts/mbse/digital_thread.md +67 -0
- hardprompts/mbse/model_import.md +62 -0
- hardprompts/mbse/model_to_code.md +65 -0
- hardprompts/modernization/__init__.py +6 -0
- hardprompts/modernization/legacy_analysis.md +93 -0
- hardprompts/modernization/migration_planning.md +150 -0
- hardprompts/modernization/seven_r_assessment.md +107 -0
- hardprompts/proposal_draft.md +53 -0
- hardprompts/rag_citation.md +12 -0
- hardprompts/rag_rerank.md +31 -0
- hardprompts/requirements/__init__.py +6 -0
- hardprompts/requirements/bdd_generation.md +35 -0
- hardprompts/requirements/clarification_prioritization.md +29 -0
- hardprompts/requirements/decomposition.md +60 -0
- hardprompts/requirements/document_extraction.md +45 -0
- hardprompts/requirements/gap_detection.md +70 -0
- hardprompts/requirements/intake_conversation.md +101 -0
- hardprompts/requirements/readiness_assessment.md +39 -0
- hardprompts/requirements/spec_quality.md +33 -0
- hardprompts/requirements/traceability_analysis.md +23 -0
- hardprompts/security/__init__.py +6 -0
- hardprompts/security/endpoint_security.md +78 -0
- hardprompts/security/threat_model.md +70 -0
- hardprompts/security/vulnerability_assessment.md +81 -0
- hardprompts/simulation/__init__.py +6 -0
- hardprompts/simulation/architecture_impact.md +27 -0
- hardprompts/simulation/coa_alternative.md +27 -0
- hardprompts/simulation/coa_generation.md +25 -0
- hardprompts/simulation/compliance_impact.md +28 -0
- hardprompts/simulation/cost_estimation.md +33 -0
- hardprompts/simulation/risk_assessment.md +28 -0
- hardprompts/translation/code_translation.md +68 -0
- hardprompts/translation/dependency_suggestion.md +44 -0
- hardprompts/translation/test_translation.md +64 -0
- hardprompts/translation/translation_repair.md +59 -0
- icdev-0.0.3.dist-info/METADATA +909 -0
- icdev-0.0.3.dist-info/RECORD +1214 -0
- icdev-0.0.3.dist-info/WHEEL +5 -0
- icdev-0.0.3.dist-info/entry_points.txt +9 -0
- icdev-0.0.3.dist-info/licenses/LICENSE +201 -0
- icdev-0.0.3.dist-info/licenses/NOTICE +11 -0
- icdev-0.0.3.dist-info/top_level.txt +7 -0
- memory/MEMORY.md +52 -0
- memory/logs/2026-02-14.md +17 -0
- memory/logs/2026-03-03.md +2 -0
- memory/logs/__init__.py +1 -0
- tools/a2a/icdev_callback_client.py +210 -0
- tools/agent/cards/architect_card.json +29 -0
- tools/agent/cards/builder_card.json +34 -0
- tools/agent/cards/compliance_card.json +29 -0
- tools/agent/cards/connector_forge_card.json +49 -0
- tools/agent/cards/devsecops_zta_card.json +24 -0
- tools/agent/cards/knowledge_card.json +29 -0
- tools/agent/cards/monitor_card.json +29 -0
- tools/agent/cards/orchestrator_card.json +29 -0
- tools/agent/cards/requirements_analyst_card.json +24 -0
- tools/agent/cards/security_card.json +29 -0
- tools/agent/cards/simulation_card.json +24 -0
- tools/agent/cards/supply_chain_card.json +24 -0
- tools/analysis/__init__.py +1 -0
- tools/analysis/code_analyzer.py +770 -0
- tools/analysis/runtime_feedback.py +379 -0
- tools/analytics/__init__.py +2 -0
- tools/analytics/scorecard.py +538 -0
- tools/analytics/vsm_engine.py +612 -0
- tools/architecture/__init__.py +2 -0
- tools/architecture/adr_extractor.py +393 -0
- tools/audit/__init__.py +1 -0
- tools/audit/audit_logger.py +199 -0
- tools/audit/audit_query.py +153 -0
- tools/audit/decision_recorder.py +73 -0
- tools/audit_engine/__init__.py +12 -0
- tools/audit_engine/ai_advisor.py +906 -0
- tools/audit_engine/cli.py +286 -0
- tools/audit_engine/comparator.py +305 -0
- tools/audit_engine/eject_scaffolder.py +399 -0
- tools/audit_engine/engine.py +614 -0
- tools/audit_engine/git_fetcher.py +341 -0
- tools/audit_engine/regime_loader.py +200 -0
- tools/audit_engine/regime_updater.py +325 -0
- tools/audit_engine/report_card.py +289 -0
- tools/audit_engine/scanner.py +684 -0
- tools/audit_engine/self_heal.py +1042 -0
- tools/ci/__init__.py +2 -0
- tools/ci/connectors/__init__.py +2 -0
- tools/ci/connectors/base_connector.py +80 -0
- tools/ci/connectors/connector_registry.py +188 -0
- tools/ci/connectors/mattermost_connector.py +159 -0
- tools/ci/connectors/slack_connector.py +197 -0
- tools/ci/core/__init__.py +2 -0
- tools/ci/core/air_gap_detector.py +115 -0
- tools/ci/core/comment_handler.py +192 -0
- tools/ci/core/conversation_manager.py +480 -0
- tools/ci/core/event_envelope.py +500 -0
- tools/ci/core/event_router.py +444 -0
- tools/ci/core/failure_parser.py +397 -0
- tools/ci/core/recovery_engine.py +527 -0
- tools/ci/gate_enforcer.py +361 -0
- tools/ci/modules/__init__.py +2 -0
- tools/ci/modules/agent.py +271 -0
- tools/ci/modules/git_ops.py +175 -0
- tools/ci/modules/state.py +117 -0
- tools/ci/modules/vcs.py +303 -0
- tools/ci/modules/workflow_ops.py +295 -0
- tools/ci/modules/worktree.py +337 -0
- tools/ci/pipeline_config_generator.py +558 -0
- tools/ci/pr_intelligence.py +485 -0
- tools/ci/triggers/__init__.py +2 -0
- tools/ci/triggers/gitlab_task_monitor.py +327 -0
- tools/ci/triggers/poll_trigger.py +237 -0
- tools/ci/triggers/webhook_server.py +356 -0
- tools/ci/workflows/__init__.py +2 -0
- tools/ci/workflows/icdev_build.py +140 -0
- tools/ci/workflows/icdev_comply.py +284 -0
- tools/ci/workflows/icdev_document.py +152 -0
- tools/ci/workflows/icdev_e2e.py +188 -0
- tools/ci/workflows/icdev_patch.py +186 -0
- tools/ci/workflows/icdev_plan.py +202 -0
- tools/ci/workflows/icdev_plan_build.py +41 -0
- tools/ci/workflows/icdev_plan_build_test.py +46 -0
- tools/ci/workflows/icdev_plan_build_test_review.py +47 -0
- tools/ci/workflows/icdev_review.py +126 -0
- tools/ci/workflows/icdev_sdlc.py +261 -0
- tools/ci/workflows/icdev_test.py +240 -0
- tools/cli/__init__.py +1 -0
- tools/cli/output_formatter.py +756 -0
- tools/cloudforge/__init__.py +12 -0
- tools/cloudforge/airgap/__init__.py +2 -0
- tools/cloudforge/airgap/il_classifier.py +70 -0
- tools/cloudforge/airgap/offline_validator.py +42 -0
- tools/cloudforge/airgap/shift_emulator.py +155 -0
- tools/cloudforge/airgap/sneakernet.py +91 -0
- tools/cloudforge/cd_hub/__init__.py +2 -0
- tools/cloudforge/cd_hub/canary_deployer.py +88 -0
- tools/cloudforge/cd_hub/gitops_renderer.py +123 -0
- tools/cloudforge/cd_hub/hub_controller.py +143 -0
- tools/cloudforge/cd_hub/pipeline_bridge.py +30 -0
- tools/cloudforge/cd_hub/rollback_engine.py +29 -0
- tools/cloudforge/cd_hub/spoke_agent.py +51 -0
- tools/cloudforge/compliance/__init__.py +2 -0
- tools/cloudforge/compliance/ato_accelerator.py +272 -0
- tools/cloudforge/compliance/control_inheritor.py +127 -0
- tools/cloudforge/compliance/evidence_generator.py +129 -0
- tools/cloudforge/compliance/poam_bridge.py +41 -0
- tools/cloudforge/compliance/ssp_bridge.py +52 -0
- tools/cloudforge/compliance/stig_bridge.py +41 -0
- tools/cloudforge/container_forge/__init__.py +2 -0
- tools/cloudforge/container_forge/bigbang_renderer.py +85 -0
- tools/cloudforge/container_forge/hardener.py +169 -0
- tools/cloudforge/container_forge/image_scanner_bridge.py +33 -0
- tools/cloudforge/container_forge/runtime_policy.py +87 -0
- tools/cloudforge/container_forge/sbom_bridge.py +42 -0
- tools/cloudforge/finops/__init__.py +2 -0
- tools/cloudforge/finops/anomaly_detector.py +78 -0
- tools/cloudforge/finops/budget_tracker.py +96 -0
- tools/cloudforge/finops/chargeback.py +69 -0
- tools/cloudforge/finops/cost_collector.py +141 -0
- tools/cloudforge/finops/optimizer.py +55 -0
- tools/cloudforge/hybrid/__init__.py +2 -0
- tools/cloudforge/hybrid/connection_manager.py +141 -0
- tools/cloudforge/hybrid/dns_federator.py +56 -0
- tools/cloudforge/hybrid/health_monitor.py +108 -0
- tools/cloudforge/hybrid/identity_federator.py +53 -0
- tools/cloudforge/hybrid/network_bridge.py +68 -0
- tools/cloudforge/hybrid/topology_manager.py +147 -0
- tools/cloudforge/hybrid/workload_abstractor.py +92 -0
- tools/cloudforge/iac/__init__.py +2 -0
- tools/cloudforge/iac/drift_detector.py +154 -0
- tools/cloudforge/iac/module_library.py +265 -0
- tools/cloudforge/iac/opentofu_adapter.py +89 -0
- tools/cloudforge/iac/pulumi_renderer.py +292 -0
- tools/cloudforge/iac/state_backend.py +146 -0
- tools/cloudforge/iac/terraform_renderer.py +626 -0
- tools/cloudforge/landing_zone/__init__.py +2 -0
- tools/cloudforge/landing_zone/blueprint_loader.py +98 -0
- tools/cloudforge/landing_zone/blueprint_validator.py +113 -0
- tools/cloudforge/landing_zone/zone_provisioner.py +306 -0
- tools/cloudforge/landing_zone/zone_state.py +143 -0
- tools/cloudforge/mbse_thread/__init__.py +2 -0
- tools/cloudforge/mbse_thread/ato_thread_weaver.py +111 -0
- tools/cloudforge/mbse_thread/control_tracer.py +68 -0
- tools/cloudforge/mbse_thread/system_boundary.py +83 -0
- tools/cloudforge/metastore/__init__.py +2 -0
- tools/cloudforge/metastore/dependency_graph.py +202 -0
- tools/cloudforge/metastore/discovery.py +192 -0
- tools/cloudforge/metastore/registry.py +185 -0
- tools/cloudforge/metastore/rto_tracker.py +92 -0
- tools/cloudforge/metastore/runbook_linker.py +82 -0
- tools/cloudforge/migration/__init__.py +2 -0
- tools/cloudforge/migration/assessor.py +187 -0
- tools/cloudforge/migration/cutover_orchestrator.py +117 -0
- tools/cloudforge/migration/databridge_bridge.py +92 -0
- tools/cloudforge/migration/planner.py +98 -0
- tools/cloudforge/migration/risk_scorer.py +97 -0
- tools/cloudforge/migration/validation_runner.py +45 -0
- tools/cloudforge/migration/workload_inventory.py +107 -0
- tools/cloudforge/provider.py +319 -0
- tools/cloudforge/providers/__init__.py +2 -0
- tools/cloudforge/providers/aws_commercial.py +92 -0
- tools/cloudforge/providers/aws_govcloud.py +229 -0
- tools/cloudforge/providers/aws_secret.py +83 -0
- tools/cloudforge/providers/azure_commercial.py +80 -0
- tools/cloudforge/providers/azure_gov.py +91 -0
- tools/cloudforge/providers/azure_secret.py +71 -0
- tools/cloudforge/providers/gcp.py +102 -0
- tools/cloudforge/providers/oci.py +102 -0
- tools/cloudforge/registry.py +140 -0
- tools/cloudforge/runbooks/__init__.py +2 -0
- tools/cloudforge/runbooks/ai_generator.py +119 -0
- tools/cloudforge/runbooks/dag_validator.py +219 -0
- tools/cloudforge/runbooks/engine.py +470 -0
- tools/cloudforge/runbooks/models.py +99 -0
- tools/cloudforge/runbooks/snippet_library.py +158 -0
- tools/cloudforge/runbooks/template_loader.py +122 -0
- tools/cloudforge/runbooks/visualization.py +108 -0
- tools/cloudforge/siem/__init__.py +2 -0
- tools/cloudforge/siem/alert_rules.py +86 -0
- tools/cloudforge/siem/correlation_engine.py +61 -0
- tools/cloudforge/siem/log_aggregator.py +113 -0
- tools/cloudforge/siem/siem_dashboard_data.py +28 -0
- tools/cloudforge/supply_chain/__init__.py +2 -0
- tools/cloudforge/supply_chain/bridge.py +33 -0
- tools/cloudforge/supply_chain/iac_dependency_scanner.py +36 -0
- tools/cloudforge/supply_chain/provider_trust_scorer.py +54 -0
- tools/compat/__init__.py +21 -0
- tools/compat/cli_harmonizer.py +251 -0
- tools/compat/datetime_utils.py +18 -0
- tools/compat/db_utils.py +190 -0
- tools/compat/platform_utils.py +123 -0
- tools/compliance/__init__.py +1 -0
- tools/compliance/accountability_manager.py +391 -0
- tools/compliance/ai_accountability_audit.py +287 -0
- tools/compliance/ai_impact_assessor.py +267 -0
- tools/compliance/ai_incident_response.py +295 -0
- tools/compliance/ai_inventory_manager.py +233 -0
- tools/compliance/ai_reassessment_scheduler.py +250 -0
- tools/compliance/ai_transparency_audit.py +247 -0
- tools/compliance/atlas_assessor.py +276 -0
- tools/compliance/atlas_report_generator.py +1199 -0
- tools/compliance/base_assessor.py +591 -0
- tools/compliance/cato_live_engine.py +607 -0
- tools/compliance/cato_monitor.py +1371 -0
- tools/compliance/cato_scheduler.py +698 -0
- tools/compliance/cjis_assessor.py +76 -0
- tools/compliance/classification_manager.py +1340 -0
- tools/compliance/cmmc_assessor.py +1478 -0
- tools/compliance/cmmc_report_generator.py +1087 -0
- tools/compliance/compliance_detector.py +452 -0
- tools/compliance/compliance_exporter.py +418 -0
- tools/compliance/compliance_status.py +810 -0
- tools/compliance/control_mapper.py +488 -0
- tools/compliance/crosswalk_engine.py +1208 -0
- tools/compliance/cssp_assessor.py +1032 -0
- tools/compliance/cssp_evidence_collector.py +716 -0
- tools/compliance/cssp_report_generator.py +1103 -0
- tools/compliance/cui_marker.py +387 -0
- tools/compliance/diagram_validator.py +599 -0
- tools/compliance/emass/__init__.py +2 -0
- tools/compliance/emass/emass_client.py +822 -0
- tools/compliance/emass/emass_export.py +758 -0
- tools/compliance/emass/emass_sync.py +807 -0
- tools/compliance/eu_ai_act_classifier.py +193 -0
- tools/compliance/evidence_collector.py +459 -0
- tools/compliance/fairness_assessor.py +310 -0
- tools/compliance/fedramp_20x_ksi_emitter.py +692 -0
- tools/compliance/fedramp_assessor.py +1795 -0
- tools/compliance/fedramp_authorization_packager.py +137 -0
- tools/compliance/fedramp_ksi_generator.py +349 -0
- tools/compliance/fedramp_report_generator.py +1115 -0
- tools/compliance/fips199_categorizer.py +869 -0
- tools/compliance/fips200_validator.py +304 -0
- tools/compliance/firmware_sbom.py +646 -0
- tools/compliance/gao_ai_assessor.py +228 -0
- tools/compliance/gao_evidence_builder.py +302 -0
- tools/compliance/hipaa_assessor.py +78 -0
- tools/compliance/hitrust_assessor.py +49 -0
- tools/compliance/incident_response_plan.py +705 -0
- tools/compliance/inheritance_engine.py +693 -0
- tools/compliance/iso27001_assessor.py +92 -0
- tools/compliance/iso42001_assessor.py +114 -0
- tools/compliance/ivv_assessor.py +2314 -0
- tools/compliance/ivv_report_generator.py +1649 -0
- tools/compliance/model_card_generator.py +291 -0
- tools/compliance/mosa_assessor.py +117 -0
- tools/compliance/multi_regime_assessor.py +441 -0
- tools/compliance/narrative_generator.py +1012 -0
- tools/compliance/narrative_quality_gate.py +701 -0
- tools/compliance/narrative_workflow.py +814 -0
- tools/compliance/nist_800_207_assessor.py +191 -0
- tools/compliance/nist_ai_600_1_assessor.py +185 -0
- tools/compliance/nist_ai_rmf_assessor.py +110 -0
- tools/compliance/nist_lookup.py +244 -0
- tools/compliance/omb_m25_21_assessor.py +225 -0
- tools/compliance/omb_m26_04_assessor.py +185 -0
- tools/compliance/oscal_catalog_adapter.py +395 -0
- tools/compliance/oscal_generator.py +2157 -0
- tools/compliance/oscal_tools.py +1182 -0
- tools/compliance/oscal_validator.py +692 -0
- tools/compliance/owasp_agentic_assessor.py +227 -0
- tools/compliance/owasp_asi_assessor.py +197 -0
- tools/compliance/owasp_llm_assessor.py +245 -0
- tools/compliance/pci_dss_assessor.py +80 -0
- tools/compliance/pi_compliance_tracker.py +1447 -0
- tools/compliance/poam_generator.py +388 -0
- tools/compliance/resolve_marking.py +272 -0
- tools/compliance/sbd_assessor.py +2070 -0
- tools/compliance/sbd_report_generator.py +1223 -0
- tools/compliance/sbom_generator.py +993 -0
- tools/compliance/siem_config_generator.py +661 -0
- tools/compliance/slsa_attestation_generator.py +479 -0
- tools/compliance/soc2_assessor.py +77 -0
- tools/compliance/ssp_generator.py +556 -0
- tools/compliance/stig_checker.py +712 -0
- tools/compliance/swft_evidence_bundler.py +326 -0
- tools/compliance/system_card_generator.py +303 -0
- tools/compliance/template_exchange.py +513 -0
- tools/compliance/traceability_matrix.py +1268 -0
- tools/compliance/universal_classification_manager.py +1159 -0
- tools/compliance/xacta/__init__.py +2 -0
- tools/compliance/xacta/xacta_client.py +438 -0
- tools/compliance/xacta/xacta_export.py +546 -0
- tools/compliance/xacta/xacta_sync.py +322 -0
- tools/compliance/xai_assessor.py +231 -0
- tools/core/__init__.py +2 -0
- tools/core/circuit_breaker.py +353 -0
- tools/core/compliance_sidecar.py +344 -0
- tools/core/container.py +110 -0
- tools/core/errors.py +256 -0
- tools/core/feature_flags.py +311 -0
- tools/core/task_dlq.py +350 -0
- tools/dashboard/__init__.py +2 -0
- tools/dashboard/app.py +6288 -0
- tools/dashboard/templates/agent_evolution.html +287 -0
- tools/dashboard/templates/agents/list.html +71 -0
- tools/dashboard/templates/agents.html +132 -0
- tools/dashboard/templates/architecture.html +289 -0
- tools/dashboard/templates/ato_simulator.html +170 -0
- tools/dashboard/templates/audit_engine.html +844 -0
- tools/dashboard/templates/base.html +236 -0
- tools/dashboard/templates/cato_live.html +116 -0
- tools/dashboard/templates/cloudforge.html +195 -0
- tools/dashboard/templates/cloudforge_finops.html +111 -0
- tools/dashboard/templates/cloudforge_hybrid.html +122 -0
- tools/dashboard/templates/cloudforge_metastore.html +234 -0
- tools/dashboard/templates/cloudforge_migration.html +87 -0
- tools/dashboard/templates/cloudforge_runbooks.html +201 -0
- tools/dashboard/templates/cloudforge_siem.html +94 -0
- tools/dashboard/templates/compliance_accel.html +292 -0
- tools/dashboard/templates/crashes.html +122 -0
- tools/dashboard/templates/databridge.html +305 -0
- tools/dashboard/templates/databridge_analytics.html +195 -0
- tools/dashboard/templates/databridge_mapping.html +345 -0
- tools/dashboard/templates/databridge_messaging.html +321 -0
- tools/dashboard/templates/decisions.html +258 -0
- tools/dashboard/templates/devices.html +151 -0
- tools/dashboard/templates/devsecops_maturity.html +278 -0
- tools/dashboard/templates/edge_ai.html +128 -0
- tools/dashboard/templates/firmware.html +120 -0
- tools/dashboard/templates/firmware_sbom.html +193 -0
- tools/dashboard/templates/forge_hub.html +196 -0
- tools/dashboard/templates/forge_studio.html +379 -0
- tools/dashboard/templates/forge_studio_analytics.html +360 -0
- tools/dashboard/templates/forge_studio_builder.html +1637 -0
- tools/dashboard/templates/forge_studio_compliance.html +310 -0
- tools/dashboard/templates/forge_studio_deploy.html +573 -0
- tools/dashboard/templates/forge_studio_enterprise.html +888 -0
- tools/dashboard/templates/forge_studio_marketplace.html +502 -0
- tools/dashboard/templates/forge_studio_workflow.html +696 -0
- tools/dashboard/templates/golden_path.html +175 -0
- tools/dashboard/templates/govcon.html +280 -0
- tools/dashboard/templates/harness.html +148 -0
- tools/dashboard/templates/index.html +207 -0
- tools/dashboard/templates/intelligence.html +336 -0
- tools/dashboard/templates/knowledge/index.html +190 -0
- tools/dashboard/templates/knowledge_graph.html +739 -0
- tools/dashboard/templates/login.html +51 -0
- tools/dashboard/templates/marketplace.html +336 -0
- tools/dashboard/templates/marketplace_admin.html +247 -0
- tools/dashboard/templates/missions.html +403 -0
- tools/dashboard/templates/narratives.html +154 -0
- tools/dashboard/templates/pr_intelligence.html +151 -0
- tools/dashboard/templates/proposals/detail.html +300 -0
- tools/dashboard/templates/proposals/list.html +52 -0
- tools/dashboard/templates/proposals/sam_detail.html +132 -0
- tools/dashboard/templates/proposals/section_detail.html +375 -0
- tools/dashboard/templates/research.html +222 -0
- tools/dashboard/templates/resilience.html +300 -0
- tools/dashboard/templates/scorecard.html +162 -0
- tools/dashboard/templates/simulator.html +131 -0
- tools/dashboard/templates/template_exchange.html +147 -0
- tools/dashboard/templates/thread_heatmap.html +151 -0
- tools/dashboard/templates/threat_model.html +195 -0
- tools/dashboard/templates/vsm.html +141 -0
- tools/dashboard/templates/writeguard.html +277 -0
- tools/databridge/__init__.py +5 -0
- tools/databridge/agent/__init__.py +2 -0
- tools/databridge/agent/daemon.py +227 -0
- tools/databridge/agent/tunnel.py +101 -0
- tools/databridge/agent/ws_relay.py +91 -0
- tools/databridge/analytics.py +167 -0
- tools/databridge/arrow_pipeline.py +327 -0
- tools/databridge/connection_manager.py +424 -0
- tools/databridge/connector.py +331 -0
- tools/databridge/connectors/__init__.py +2 -0
- tools/databridge/connectors/argocd_connector.py +160 -0
- tools/databridge/connectors/avro_connector.py +203 -0
- tools/databridge/connectors/azure_blob.py +63 -0
- tools/databridge/connectors/cdc_connector.py +205 -0
- tools/databridge/connectors/csv_connector.py +172 -0
- tools/databridge/connectors/datadog_connector.py +153 -0
- tools/databridge/connectors/discord_messaging.py +215 -0
- tools/databridge/connectors/dynamics365.py +151 -0
- tools/databridge/connectors/elasticsearch_connector.py +145 -0
- tools/databridge/connectors/email_base.py +114 -0
- tools/databridge/connectors/excel_connector.py +175 -0
- tools/databridge/connectors/fsspec_base.py +300 -0
- tools/databridge/connectors/gcs.py +53 -0
- tools/databridge/connectors/github_connector.py +138 -0
- tools/databridge/connectors/gitlab_connector.py +132 -0
- tools/databridge/connectors/gmail_connector.py +182 -0
- tools/databridge/connectors/hdfs.py +57 -0
- tools/databridge/connectors/health_base.py +401 -0
- tools/databridge/connectors/hubspot.py +124 -0
- tools/databridge/connectors/imap_connector.py +171 -0
- tools/databridge/connectors/jenkins_connector.py +138 -0
- tools/databridge/connectors/jira_connector.py +86 -0
- tools/databridge/connectors/json_connector.py +184 -0
- tools/databridge/connectors/kafka_connector.py +246 -0
- tools/databridge/connectors/kinesis_connector.py +238 -0
- tools/databridge/connectors/local_fs.py +30 -0
- tools/databridge/connectors/matrix.py +197 -0
- tools/databridge/connectors/mattermost_messaging.py +184 -0
- tools/databridge/connectors/messaging_base.py +172 -0
- tools/databridge/connectors/mssql.py +63 -0
- tools/databridge/connectors/mysql.py +57 -0
- tools/databridge/connectors/netsuite.py +170 -0
- tools/databridge/connectors/o365_mail.py +196 -0
- tools/databridge/connectors/oracle.py +65 -0
- tools/databridge/connectors/pagerduty_connector.py +162 -0
- tools/databridge/connectors/parquet_connector.py +131 -0
- tools/databridge/connectors/postgresql.py +58 -0
- tools/databridge/connectors/s3.py +65 -0
- tools/databridge/connectors/saas_base.py +198 -0
- tools/databridge/connectors/salesforce.py +126 -0
- tools/databridge/connectors/sap.py +89 -0
- tools/databridge/connectors/servicenow.py +60 -0
- tools/databridge/connectors/signal_messaging.py +150 -0
- tools/databridge/connectors/slack_messaging.py +203 -0
- tools/databridge/connectors/smtp_connector.py +126 -0
- tools/databridge/connectors/soap_base.py +258 -0
- tools/databridge/connectors/splunk_connector.py +171 -0
- tools/databridge/connectors/sql_base.py +310 -0
- tools/databridge/connectors/sqlite_connector.py +76 -0
- tools/databridge/connectors/teams.py +148 -0
- tools/databridge/connectors/telegram.py +192 -0
- tools/databridge/connectors/whatsapp.py +137 -0
- tools/databridge/data_profiler.py +99 -0
- tools/databridge/forge/__init__.py +6 -0
- tools/databridge/forge/base_selector.py +150 -0
- tools/databridge/forge/code_generator.py +206 -0
- tools/databridge/forge/community_hub.py +539 -0
- tools/databridge/forge/forge_agent.py +306 -0
- tools/databridge/forge/import_handler.py +133 -0
- tools/databridge/forge/integration_tester.py +127 -0
- tools/databridge/forge/marketplace_publisher.py +164 -0
- tools/databridge/forge/promoter.py +159 -0
- tools/databridge/forge/sandbox_manager.py +257 -0
- tools/databridge/forge/spec_parser.py +358 -0
- tools/databridge/forge/static_validator.py +363 -0
- tools/databridge/forge/templates/__init__.py +591 -0
- tools/databridge/format_converter.py +188 -0
- tools/databridge/mapping_engine.py +348 -0
- tools/databridge/messaging/__init__.py +5 -0
- tools/databridge/messaging/agent_bridge.py +254 -0
- tools/databridge/messaging/message_envelope.py +111 -0
- tools/databridge/messaging/message_logger.py +204 -0
- tools/databridge/messaging/messaging_daemon.py +326 -0
- tools/databridge/messaging/oauth2_manager.py +411 -0
- tools/databridge/pii_detector.py +221 -0
- tools/databridge/registry.py +352 -0
- tools/databridge/relay_server.py +105 -0
- tools/databridge/scale/__init__.py +16 -0
- tools/databridge/scale/backpressure.py +134 -0
- tools/databridge/scale/chunked_pipeline.py +169 -0
- tools/databridge/scale/connection_pool.py +293 -0
- tools/databridge/scale/engine.py +492 -0
- tools/databridge/scale/worker_pool.py +140 -0
- tools/databridge/scale/write_batcher.py +250 -0
- tools/databridge/schema_engine.py +324 -0
- tools/databridge/stream_manager.py +225 -0
- tools/databridge/sync_engine.py +411 -0
- tools/databridge/transforms.py +302 -0
- tools/db/__init__.py +1 -0
- tools/db/backup.py +312 -0
- tools/db/backup_manager.py +832 -0
- tools/db/init_icdev_db.py +7753 -0
- tools/db/init_sparkpilot_db.py +431 -0
- tools/db/migrate.py +177 -0
- tools/db/migrate_innovation_audit.py +165 -0
- tools/db/migration_runner.py +548 -0
- tools/db/migrations/001_baseline/meta.json +9 -0
- tools/db/migrations/001_baseline/up.py +67 -0
- tools/db/migrations/002_memory_enhancements/down.sql +8 -0
- tools/db/migrations/002_memory_enhancements/meta.json +9 -0
- tools/db/migrations/002_memory_enhancements/up.py +119 -0
- tools/db/migrations/003_dev_profiles/meta.json +8 -0
- tools/db/migrations/003_dev_profiles/up.py +93 -0
- tools/db/migrations/004_innovation_engine/down.py +19 -0
- tools/db/migrations/004_innovation_engine/up.py +227 -0
- tools/db/migrations/005_phase_37_ai_security/down.py +19 -0
- tools/db/migrations/005_phase_37_ai_security/up.py +257 -0
- tools/db/migrations/006_phase_36_evolution/down.py +21 -0
- tools/db/migrations/006_phase_36_evolution/up.py +323 -0
- tools/db/migrations/007_phase_38_cloud/down.py +14 -0
- tools/db/migrations/007_phase_38_cloud/up.py +110 -0
- tools/db/migrations/008_phase36_37_integration/up.py +55 -0
- tools/db/migrations/__init__.py +2 -0
- tools/db/pg_migrate.py +642 -0
- tools/db/storage.py +1080 -0
- tools/decisions/__init__.py +2 -0
- tools/decisions/dmn_engine.py +695 -0
- tools/devsecops/__init__.py +2 -0
- tools/devsecops/attestation_manager.py +449 -0
- tools/devsecops/network_segmentation_generator.py +604 -0
- tools/devsecops/pdp_config_generator.py +1246 -0
- tools/devsecops/pipeline_security_generator.py +475 -0
- tools/devsecops/policy_generator.py +644 -0
- tools/devsecops/profile_manager.py +374 -0
- tools/devsecops/service_mesh_generator.py +1063 -0
- tools/devsecops/zta_maturity_scorer.py +355 -0
- tools/devsecops/zta_terraform_generator.py +1301 -0
- tools/edge_ai/__init__.py +2 -0
- tools/edge_ai/model_manager.py +200 -0
- tools/embedded/__init__.py +2 -0
- tools/embedded/cmake_generator.py +318 -0
- tools/embedded/crash_analyzer.py +191 -0
- tools/embedded/nl_to_firmware.py +277 -0
- tools/events/__init__.py +1 -0
- tools/events/event_bus.py +199 -0
- tools/finetune/pair_generator.py +832 -0
- tools/fleet/__init__.py +2 -0
- tools/fleet/device_registry.py +148 -0
- tools/fleet/ota_manager.py +153 -0
- tools/forge_studio/__init__.py +13 -0
- tools/forge_studio/analytics/__init__.py +0 -0
- tools/forge_studio/analytics/process_miner.py +383 -0
- tools/forge_studio/audit.py +183 -0
- tools/forge_studio/blueprint/__init__.py +2 -0
- tools/forge_studio/blueprint/build_tracker.py +317 -0
- tools/forge_studio/blueprint/export_engine.py +441 -0
- tools/forge_studio/blueprint/parent_client.py +335 -0
- tools/forge_studio/catalog/__init__.py +2 -0
- tools/forge_studio/catalog/component_registry.py +176 -0
- tools/forge_studio/catalog/schema_validator.py +193 -0
- tools/forge_studio/compliance/__init__.py +1 -0
- tools/forge_studio/compliance/compliance_wiring.py +554 -0
- tools/forge_studio/deploy/__init__.py +1 -0
- tools/forge_studio/deploy/airgap_packager.py +466 -0
- tools/forge_studio/deploy/deploy_engine.py +1792 -0
- tools/forge_studio/deploy/env_manager.py +431 -0
- tools/forge_studio/eject/__init__.py +2 -0
- tools/forge_studio/eject/docker_compose_generator.py +237 -0
- tools/forge_studio/eject/eject_engine.py +230 -0
- tools/forge_studio/eject/expo_scaffolder.py +303 -0
- tools/forge_studio/eject/nextjs_scaffolder.py +338 -0
- tools/forge_studio/enterprise/__init__.py +0 -0
- tools/forge_studio/enterprise/custom_frameworks.py +826 -0
- tools/forge_studio/enterprise/hardening_engine.py +1530 -0
- tools/forge_studio/enterprise/sso_manager.py +718 -0
- tools/forge_studio/enterprise/whitelabel_engine.py +887 -0
- tools/forge_studio/formula/__init__.py +0 -0
- tools/forge_studio/formula/expression_engine.py +562 -0
- tools/forge_studio/formula/formula_registry.py +265 -0
- tools/forge_studio/generator/__init__.py +2 -0
- tools/forge_studio/generator/app_generator.py +584 -0
- tools/forge_studio/generator/complexity_detector.py +368 -0
- tools/forge_studio/generator/prompt_templates.py +104 -0
- tools/forge_studio/generator/spec_builder.py +192 -0
- tools/forge_studio/intake_bridge.py +898 -0
- tools/forge_studio/marketplace/__init__.py +0 -0
- tools/forge_studio/marketplace/component_hub.py +428 -0
- tools/forge_studio/models.py +369 -0
- tools/forge_studio/renderer/__init__.py +2 -0
- tools/forge_studio/renderer/json_render_engine.py +623 -0
- tools/forge_studio/renderer/layout_engine.py +214 -0
- tools/forge_studio/renderer/rn_component_map.py +182 -0
- tools/forge_studio/supabase/__init__.py +2 -0
- tools/forge_studio/supabase/auth_generator.py +283 -0
- tools/forge_studio/supabase/migration_generator.py +93 -0
- tools/forge_studio/supabase/schema_generator.py +281 -0
- tools/forge_studio/tenant_manager.py +387 -0
- tools/forge_studio/workflow/__init__.py +2 -0
- tools/forge_studio/workflow/bpmn_adapter.py +489 -0
- tools/govcon/draft_orchestrator.py +1151 -0
- tools/govcon/engine_enrichment.py +373 -0
- tools/govcon/knowledge_base.py +487 -0
- tools/govcon/knowledge_ingestion.py +510 -0
- tools/govcon/sam_scanner.py +754 -0
- tools/harness/__init__.py +6 -0
- tools/harness/exit_criteria_evaluator.py +231 -0
- tools/harness/maturity_assessor.py +347 -0
- tools/harness/scaffold_harness.py +416 -0
- tools/harness/trace_analyzer.py +281 -0
- tools/infra/__init__.py +1 -0
- tools/infra/ansible_generator.py +867 -0
- tools/infra/dockerfile_generator.py +359 -0
- tools/infra/infra_status.py +384 -0
- tools/infra/ironbank_metadata_generator.py +403 -0
- tools/infra/k8s_generator.py +1000 -0
- tools/infra/pipeline_generator.py +830 -0
- tools/infra/rollback.py +389 -0
- tools/infra/terraform_generator.py +1140 -0
- tools/infra/terraform_generator_azure.py +1252 -0
- tools/infra/terraform_generator_gcp.py +951 -0
- tools/infra/terraform_generator_ibm.py +359 -0
- tools/infra/terraform_generator_oci.py +918 -0
- tools/infra/terraform_generator_onprem.py +318 -0
- tools/knowledge/__init__.py +1 -0
- tools/knowledge/knowledge_ingest.py +281 -0
- tools/knowledge/pattern_detector.py +681 -0
- tools/knowledge/recommendation_engine.py +449 -0
- tools/knowledge/self_heal_analyzer.py +492 -0
- tools/knowledge_graph/__init__.py +2 -0
- tools/knowledge_graph/graph_rag.py +498 -0
- tools/knowledge_graph/ingester.py +406 -0
- tools/knowledge_graph/insight_generator.py +369 -0
- tools/knowledge_graph/text_network.py +832 -0
- tools/llm/__init__.py +72 -0
- tools/llm/anthropic_provider.py +170 -0
- tools/llm/azure_openai_provider.py +338 -0
- tools/llm/bedrock_provider.py +315 -0
- tools/llm/embedding_provider.py +438 -0
- tools/llm/gemini_provider.py +381 -0
- tools/llm/ibm_watsonx_provider.py +231 -0
- tools/llm/oci_genai_provider.py +462 -0
- tools/llm/ollama_provider.py +350 -0
- tools/llm/openai_provider.py +225 -0
- tools/llm/prompt_registry.py +447 -0
- tools/llm/provider.py +355 -0
- tools/llm/provider_sdk.py +175 -0
- tools/llm/router.py +1124 -0
- tools/llm/semantic_cache.py +394 -0
- tools/llm/vertex_ai_provider.py +374 -0
- tools/maintenance/__init__.py +2 -0
- tools/maintenance/dependency_scanner.py +1016 -0
- tools/maintenance/maintenance_auditor.py +804 -0
- tools/maintenance/remediation_engine.py +957 -0
- tools/maintenance/vulnerability_checker.py +978 -0
- tools/manifest.md +1066 -0
- tools/marketplace/asset_installer.py +639 -0
- tools/marketplace/feedback_validator.py +359 -0
- tools/marketplace/license_client.py +458 -0
- tools/marketplace/module_crypto.py +544 -0
- tools/marketplace/module_runtime.py +236 -0
- tools/marketplace/token_store.py +264 -0
- tools/mbse/__init__.py +3 -0
- tools/mbse/des_assessor.py +1173 -0
- tools/mbse/des_report_generator.py +787 -0
- tools/mbse/diagram_extractor.py +792 -0
- tools/mbse/digital_thread.py +1650 -0
- tools/mbse/model_code_generator.py +1115 -0
- tools/mbse/model_control_mapper.py +410 -0
- tools/mbse/pi_model_tracker.py +1079 -0
- tools/mbse/reqif_parser.py +1468 -0
- tools/mbse/sync_engine.py +1789 -0
- tools/mbse/thread_heatmap.py +445 -0
- tools/mbse/xmi_parser.py +1558 -0
- tools/mcp/builder_server.py +64 -0
- tools/mcp/compliance_server.py +64 -0
- tools/mcp/connector_forge_server.py +155 -0
- tools/mcp/core_server.py +64 -0
- tools/mcp/devsecops_server.py +11 -0
- tools/mcp/devsecops_zta_server.py +64 -0
- tools/mcp/knowledge_server.py +64 -0
- tools/mcp/monitor_server.py +64 -0
- tools/mcp/ops_server.py +300 -0
- tools/mcp/requirements_analyst_server.py +64 -0
- tools/mcp/requirements_server.py +11 -0
- tools/mcp/security_server.py +64 -0
- tools/mcp/simulation_server.py +64 -0
- tools/mcp/supply_chain_server.py +64 -0
- tools/mcp/tool_registry.py +299 -0
- tools/memory/__init__.py +2 -0
- tools/memory/auto_capture.py +346 -0
- tools/memory/embed_memory.py +157 -0
- tools/memory/history_compressor.py +334 -0
- tools/memory/hybrid_search.py +235 -0
- tools/memory/maintenance_cron.py +288 -0
- tools/memory/memory_consolidation.py +439 -0
- tools/memory/memory_db.py +132 -0
- tools/memory/memory_read.py +101 -0
- tools/memory/memory_write.py +221 -0
- tools/memory/semantic_search.py +138 -0
- tools/memory/time_decay.py +434 -0
- tools/missions/__init__.py +2 -0
- tools/missions/mission_engine.py +459 -0
- tools/monitor/__init__.py +1 -0
- tools/monitor/alert_correlator.py +486 -0
- tools/monitor/auto_resolver.py +603 -0
- tools/monitor/health_checker.py +507 -0
- tools/monitor/heartbeat_daemon.py +779 -0
- tools/monitor/log_analyzer.py +507 -0
- tools/monitor/metric_collector.py +484 -0
- tools/mosa/__init__.py +10 -0
- tools/mosa/icd_generator.py +358 -0
- tools/mosa/modular_design_analyzer.py +682 -0
- tools/mosa/mosa_code_enforcer.py +348 -0
- tools/mosa/tsp_generator.py +265 -0
- tools/observability/__init__.py +100 -0
- tools/observability/genai_attributes.py +88 -0
- tools/observability/instrumentation.py +140 -0
- tools/observability/mlflow_exporter.py +193 -0
- tools/observability/otel_tracer.py +168 -0
- tools/observability/provenance/__init__.py +3 -0
- tools/observability/provenance/prov_recorder.py +322 -0
- tools/observability/shap/__init__.py +3 -0
- tools/observability/shap/agent_shap.py +274 -0
- tools/observability/sqlite_tracer.py +360 -0
- tools/observability/trace_context.py +205 -0
- tools/observability/tracer.py +230 -0
- tools/orchestration/__init__.py +1 -0
- tools/orchestration/peer_channels.py +254 -0
- tools/orchestration/saga_coordinator.py +390 -0
- tools/project/__init__.py +1 -0
- tools/project/manifest_loader.py +418 -0
- tools/project/project_create.py +350 -0
- tools/project/project_list.py +171 -0
- tools/project/project_scaffold.py +1715 -0
- tools/project/project_status.py +478 -0
- tools/project/session_context_builder.py +752 -0
- tools/project/validate_manifest.py +54 -0
- tools/rag/corrective_rag.py +582 -0
- tools/rag/source_registry.py +482 -0
- tools/requirements/__init__.py +1 -0
- tools/requirements/ai_governance_scorer.py +207 -0
- tools/requirements/boundary_analyzer.py +1281 -0
- tools/requirements/clarification_engine.py +605 -0
- tools/requirements/complexity_scorer.py +369 -0
- tools/requirements/consistency_analyzer.py +789 -0
- tools/requirements/constitution_manager.py +592 -0
- tools/requirements/decomposition_engine.py +764 -0
- tools/requirements/document_extractor.py +1002 -0
- tools/requirements/elicitation_techniques.py +508 -0
- tools/requirements/gap_detector.py +260 -0
- tools/requirements/intake_engine.py +2175 -0
- tools/requirements/prd_generator.py +839 -0
- tools/requirements/prd_validator.py +584 -0
- tools/requirements/readiness_scorer.py +302 -0
- tools/requirements/spec_organizer.py +1015 -0
- tools/requirements/spec_quality_checker.py +1083 -0
- tools/requirements/traceability_builder.py +566 -0
- tools/research/__init__.py +3 -0
- tools/research/academic_scanner.py +130 -0
- tools/research/build_buy_analyzer.py +229 -0
- tools/research/challenge_scorer.py +280 -0
- tools/research/community_scanner.py +174 -0
- tools/research/cross_engine_bridge.py +124 -0
- tools/research/dossier_generator.py +305 -0
- tools/research/landscape_scanner.py +315 -0
- tools/research/regulatory_scanner.py +248 -0
- tools/research/research_manager.py +469 -0
- tools/research/source_scanner.py +150 -0
- tools/research/vertical_loader.py +118 -0
- tools/saas/__init__.py +0 -0
- tools/saas/licensing/__init__.py +0 -0
- tools/saas/licensing/license_validator.py +345 -0
- tools/scaffold/__init__.py +2 -0
- tools/scaffold/golden_path.py +504 -0
- tools/security/__init__.py +1 -0
- tools/security/agent_output_validator.py +330 -0
- tools/security/agent_trust_scorer.py +652 -0
- tools/security/ai_bom_generator.py +718 -0
- tools/security/ai_telemetry_logger.py +469 -0
- tools/security/atlas_red_team.py +541 -0
- tools/security/code_pattern_scanner.py +382 -0
- tools/security/confabulation_detector.py +265 -0
- tools/security/container_scanner.py +489 -0
- tools/security/dependency_auditor.py +942 -0
- tools/security/endpoint_security_scanner.py +626 -0
- tools/security/mcp_tool_authorizer.py +242 -0
- tools/security/output_verifier.py +427 -0
- tools/security/prompt_injection_detector.py +737 -0
- tools/security/sast_runner.py +946 -0
- tools/security/secret_detector.py +376 -0
- tools/security/threat_modeler.py +678 -0
- tools/security/tool_chain_validator.py +357 -0
- tools/security/vuln_scanner.py +536 -0
- tools/simulation/__init__.py +2 -0
- tools/simulation/ato_simulator.py +517 -0
- tools/simulation/coa_generator.py +1539 -0
- tools/simulation/monte_carlo.py +745 -0
- tools/simulation/scenario_manager.py +1060 -0
- tools/simulation/simulation_engine.py +1091 -0
- tools/simulator/__init__.py +2 -0
- tools/simulator/sim_runner.py +272 -0
- tools/supply_chain/__init__.py +2 -0
- tools/supply_chain/cve_triager.py +690 -0
- tools/supply_chain/dependency_graph.py +630 -0
- tools/supply_chain/isa_manager.py +526 -0
- tools/supply_chain/scrm_assessor.py +531 -0
- tools/supply_chain/slsa_verifier.py +473 -0
- tools/testing/__init__.py +2 -0
- tools/testing/acceptance_validator.py +411 -0
- tools/testing/api_surface_extractor.py +749 -0
- tools/testing/claude_dir_validator.py +831 -0
- tools/testing/data_types.py +199 -0
- tools/testing/e2e_runner.py +715 -0
- tools/testing/fuzz_cli.py +306 -0
- tools/testing/health_check.py +483 -0
- tools/testing/platform_check.py +143 -0
- tools/testing/production_audit.py +1836 -0
- tools/testing/production_remediate.py +803 -0
- tools/testing/screenshot_validator.py +538 -0
- tools/testing/smoke_test.py +283 -0
- tools/testing/test_agent_models.py +117 -0
- tools/testing/test_orchestrator.py +957 -0
- tools/testing/utils.py +229 -0
- tools/writeguard/__init__.py +1 -0
- tools/writeguard/main.py +1 -0
- tools/writing/__init__.py +7 -0
- tools/writing/ai_content_detector.py +316 -0
- tools/writing/analysis_engine.py +454 -0
- tools/writing/batch_analyzer.py +276 -0
- tools/writing/coherence_analyzer.py +221 -0
- tools/writing/govcon_bridge.py +509 -0
- tools/writing/grammar_checker.py +270 -0
- tools/writing/plagiarism_detector.py +106 -0
- tools/writing/readability_scorer.py +201 -0
- tools/writing/rewriter.py +96 -0
- tools/writing/signal_registrar.py +167 -0
- tools/writing/snippet_manager.py +276 -0
- tools/writing/style_enforcer.py +220 -0
- tools/writing/style_guide_manager.py +438 -0
- tools/writing/tone_profiler.py +168 -0
goals/golden_path.md
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# CUI // SP-CTI
|
|
2
|
+
|
|
3
|
+
# F9: Golden Path Scaffolder
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Generate new project scaffolds from opinionated, compliance-ready templates ("golden paths"). Each template embeds security controls, CI/CD pipelines, NIST mappings, and coding standards so every new project starts compliant by default.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
- `data/icdev.db` initialized with project tables
|
|
12
|
+
- Template catalog populated (built-in templates available at first run)
|
|
13
|
+
|
|
14
|
+
## Workflow Steps
|
|
15
|
+
|
|
16
|
+
### 1. List Templates
|
|
17
|
+
```bash
|
|
18
|
+
python tools/scaffold/golden_path.py --list --json
|
|
19
|
+
```
|
|
20
|
+
**Expected output:** JSON array of available templates with name, description, language, framework, compliance level, and included controls.
|
|
21
|
+
|
|
22
|
+
### 2. Scaffold Project
|
|
23
|
+
```bash
|
|
24
|
+
python tools/scaffold/golden_path.py --scaffold --template "python-fastapi-il4" --project-name "my-service" --output-dir /path/to/output --json
|
|
25
|
+
```
|
|
26
|
+
**Expected output:** JSON with generated file manifest, directory structure, applied controls, CI/CD pipeline path, and post-scaffold instructions.
|
|
27
|
+
|
|
28
|
+
### 3. Validate Output
|
|
29
|
+
```bash
|
|
30
|
+
python tools/scaffold/golden_path.py --validate --project-dir /path/to/output --json
|
|
31
|
+
```
|
|
32
|
+
**Expected output:** JSON with validation results: file completeness check, control presence verification, CI/CD pipeline syntax check, and pass/fail status.
|
|
33
|
+
|
|
34
|
+
### 4. Show Template Details
|
|
35
|
+
```bash
|
|
36
|
+
python tools/scaffold/golden_path.py --details --template "python-fastapi-il4" --json
|
|
37
|
+
```
|
|
38
|
+
**Expected output:** JSON with full template specification including file list, variable placeholders, embedded controls, and customization options.
|
|
39
|
+
|
|
40
|
+
### 5. Register Custom Template
|
|
41
|
+
```bash
|
|
42
|
+
python tools/scaffold/golden_path.py --register --template-dir /path/to/custom-template --name "custom-flask-il2" --json
|
|
43
|
+
```
|
|
44
|
+
**Expected output:** JSON with registration status, template ID, and validation results.
|
|
45
|
+
|
|
46
|
+
## Decision Reference
|
|
47
|
+
|
|
48
|
+
| Decision | Description |
|
|
49
|
+
|----------|-------------|
|
|
50
|
+
| D-INV-33 | Templates use Jinja2 with string-replacement fallback -- air-gap safe |
|
|
51
|
+
| D-INV-34 | Built-in templates: python-fastapi-il4, python-flask-il2, node-express-il2, rust-axum-il4 |
|
|
52
|
+
| D-INV-35 | Compliance bootstrap embeds control stubs, CUI headers, and .gitignore for secrets |
|
|
53
|
+
| D-INV-36 | Validation checks structural completeness -- does not compile or execute generated code |
|
|
54
|
+
|
|
55
|
+
## Edge Cases
|
|
56
|
+
|
|
57
|
+
- Unknown template name returns available templates list with suggestions
|
|
58
|
+
- Output directory already exists returns error unless `--force` flag provided
|
|
59
|
+
- Template with missing variables uses defaults and logs warnings
|
|
60
|
+
- Validation of non-scaffolded project checks against closest matching template
|
|
61
|
+
|
|
62
|
+
## Tier Gating
|
|
63
|
+
|
|
64
|
+
| Capability | Community | Pro |
|
|
65
|
+
|------------|-----------|-----|
|
|
66
|
+
| List built-in templates | Yes | Yes |
|
|
67
|
+
| Scaffold from built-in | Yes | Yes |
|
|
68
|
+
| Validate output | Yes | Yes |
|
|
69
|
+
| Register custom templates | No | Yes |
|
|
70
|
+
| Compliance bootstrap (NIST controls) | No | Yes |
|
|
71
|
+
|
|
72
|
+
## Security
|
|
73
|
+
|
|
74
|
+
- Scaffold operations logged to audit trail
|
|
75
|
+
- Generated projects include .gitignore excluding secrets and .env files
|
|
76
|
+
- CUI markings applied to all generated source files at IL4+
|
|
77
|
+
- No secrets or credentials embedded in templates -- placeholder references only
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# CUI // SP-CTI
|
|
2
|
+
# Harness Engineering — AI Agent Orchestration Scaffolding
|
|
3
|
+
|
|
4
|
+
## Purpose
|
|
5
|
+
Ensure AI agents operate reliably through structured constraints, feedback loops,
|
|
6
|
+
progress tracking, and self-correcting middleware. Harness engineering is the
|
|
7
|
+
discipline of building the system around the model — not the model itself.
|
|
8
|
+
|
|
9
|
+
## References
|
|
10
|
+
- Anthropic: "Effective Harnesses for Long-Running Agents"
|
|
11
|
+
- OpenAI: "Harness Engineering"
|
|
12
|
+
- LangChain: "Improving Deep Agents with Harness Engineering"
|
|
13
|
+
- Mitchell Hashimoto: Harness Engineering adoption path
|
|
14
|
+
|
|
15
|
+
## Architecture Decisions
|
|
16
|
+
- D-HARNESS-1: Loop state in .tmp/sessions/ JSON (ephemeral, not DB)
|
|
17
|
+
- D-HARNESS-2: Loop detection is soft-signal only (stderr, exit 0)
|
|
18
|
+
- D-HARNESS-3: Progress file is JSON (models handle structured data better)
|
|
19
|
+
- D-HARNESS-4: Exit criteria in args/ YAML (GOTCHA separation)
|
|
20
|
+
- D-HARNESS-5: Trace analyzer scanner-tier only (zero Claude tokens)
|
|
21
|
+
- D-HARNESS-6: Maturity assessor read-only, advisory-only
|
|
22
|
+
- D-HARNESS-7: Scaffolder generates 3 hooks (minimal), not all 7
|
|
23
|
+
- D-HARNESS-8: One new append-only DB table (harness_trace_recommendations)
|
|
24
|
+
|
|
25
|
+
## Maturity Levels
|
|
26
|
+
| Level | Name | Description |
|
|
27
|
+
|-------|------|-------------|
|
|
28
|
+
| 0 | None | Raw model calls, no structure |
|
|
29
|
+
| 1 | Initial | Fixed pipeline with stable prompts |
|
|
30
|
+
| 2 | Managed | Token budgets, input/output validation |
|
|
31
|
+
| 3 | Defined | Exit criteria the agent evaluates itself |
|
|
32
|
+
| 4 | Optimized | Harness as infrastructure — versioned, monitored, rollback-able |
|
|
33
|
+
|
|
34
|
+
## Components
|
|
35
|
+
|
|
36
|
+
### 1. Loop Detection Middleware
|
|
37
|
+
- **Where:** .claude/hooks/post_tool_use.py
|
|
38
|
+
- **What:** Tracks (tool_name, file_path) edits per session
|
|
39
|
+
- **Config:** args/harness_config.yaml → loop_detection block
|
|
40
|
+
- **Behavior:** Warn at threshold (default 5), escalate at 2x (default 10)
|
|
41
|
+
- **Output:** stderr warnings (soft signal, never blocks)
|
|
42
|
+
|
|
43
|
+
### 2. Progress Tracking
|
|
44
|
+
- **Where:** .claude/hooks/post_tool_use.py + stop.py
|
|
45
|
+
- **What:** Appends significant events to .tmp/sessions/{session_id}/progress.json
|
|
46
|
+
- **Tracks:** files_modified, files_created, tests_run/passed/failed, events
|
|
47
|
+
- **Config:** args/harness_config.yaml → progress_tracking block
|
|
48
|
+
|
|
49
|
+
### 3. Exit Criteria Registry
|
|
50
|
+
- **Where:** args/exit_criteria.yaml
|
|
51
|
+
- **What:** Machine-readable exit conditions per workflow type
|
|
52
|
+
- **Workflows:** build, test, deploy, comply, secure, review
|
|
53
|
+
- **Evaluator:** tools/harness/exit_criteria_evaluator.py
|
|
54
|
+
|
|
55
|
+
### 4. Trace-Driven Improvement
|
|
56
|
+
- **Where:** tools/harness/trace_analyzer.py
|
|
57
|
+
- **What:** Analyzes hook_events for patterns, suggests improvements
|
|
58
|
+
- **Detects:** Repetitive edits, long sessions, loop state triggers
|
|
59
|
+
- **Stores:** harness_trace_recommendations table (append-only)
|
|
60
|
+
|
|
61
|
+
### 5. Maturity Assessor
|
|
62
|
+
- **Where:** tools/harness/maturity_assessor.py
|
|
63
|
+
- **What:** Scores project 0-4 across 6 dimensions
|
|
64
|
+
- **Dimensions:** hooks, gates, exit criteria, tracing, loop detection, progress
|
|
65
|
+
- **Read-only:** Never modifies files
|
|
66
|
+
|
|
67
|
+
### 6. Harness Scaffolder
|
|
68
|
+
- **Where:** tools/harness/scaffold_harness.py
|
|
69
|
+
- **What:** Generates baseline harness for child apps
|
|
70
|
+
- **Output:** 3 hooks, harness_config.yaml, exit_criteria.yaml, security_gates.yaml
|
|
71
|
+
- **Impact-level:** IL4+ gets stricter gates
|
|
72
|
+
|
|
73
|
+
## Workflow
|
|
74
|
+
|
|
75
|
+
1. **Assess** — Run maturity assessor on project: `python tools/harness/maturity_assessor.py --project-dir . --json`
|
|
76
|
+
2. **Scaffold** — If missing, generate baseline: `python tools/harness/scaffold_harness.py --output-dir . --json`
|
|
77
|
+
3. **Configure** — Tune args/harness_config.yaml thresholds for project needs
|
|
78
|
+
4. **Monitor** — Loop detection + progress tracking run automatically via hooks
|
|
79
|
+
5. **Analyze** — Periodically run trace analyzer: `python tools/harness/trace_analyzer.py --last-n 5 --json`
|
|
80
|
+
6. **Evaluate** — Before declaring done, check exit criteria: `python tools/harness/exit_criteria_evaluator.py --workflow build --json`
|
|
81
|
+
|
|
82
|
+
## Security Gate
|
|
83
|
+
```yaml
|
|
84
|
+
harness:
|
|
85
|
+
blocking:
|
|
86
|
+
- loop_detection_threshold_exceeded_critical
|
|
87
|
+
warning:
|
|
88
|
+
- loop_detection_escalation_triggered
|
|
89
|
+
- exit_criteria_not_defined
|
|
90
|
+
- harness_maturity_below_managed
|
|
91
|
+
```
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Goal: Integration Testing (Phase 13)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Validate the complete SPARKPILOT system through multi-layer testing: unit tests (pytest), BDD tests (behave/Gherkin), E2E browser tests (Playwright MCP), security gate evaluation, and compliance gate evaluation — with automatic retry and failure resolution.
|
|
5
|
+
|
|
6
|
+
## Trigger
|
|
7
|
+
- `/sparkpilot-test` skill invoked
|
|
8
|
+
- Post-build validation in ATLAS workflow
|
|
9
|
+
- Pre-merge gate check
|
|
10
|
+
- Pre-deployment validation
|
|
11
|
+
|
|
12
|
+
## Inputs
|
|
13
|
+
- Project directory path
|
|
14
|
+
- Project UUID (optional, for compliance gates)
|
|
15
|
+
- Test orchestrator config (`args/project_defaults.yaml`)
|
|
16
|
+
- E2E test specs (`.claude/commands/e2e/*.md`)
|
|
17
|
+
- Playwright MCP config (`playwright-mcp-config.json`)
|
|
18
|
+
|
|
19
|
+
## Testing Architecture (Adapted from ADW)
|
|
20
|
+
|
|
21
|
+
### Test Layers
|
|
22
|
+
| Layer | Framework | Config | Purpose |
|
|
23
|
+
|-------|-----------|--------|---------|
|
|
24
|
+
| Unit | pytest | tests/ | Function-level correctness |
|
|
25
|
+
| BDD | behave (Gherkin) | features/ | Business requirement validation |
|
|
26
|
+
| E2E (native) | Playwright CLI | tests/e2e/*.spec.ts | Browser-based UI validation (preferred) |
|
|
27
|
+
| E2E (MCP) | Playwright MCP | .claude/commands/e2e/*.md | Browser-based UI validation (fallback) |
|
|
28
|
+
| Security | SPARKPILOT security tools | security_gates.yaml | Vulnerability assessment |
|
|
29
|
+
| Compliance | SPARKPILOT compliance tools | project_defaults.yaml | NIST 800-53 gate evaluation |
|
|
30
|
+
|
|
31
|
+
### Key ADW Patterns Adopted
|
|
32
|
+
1. **Pydantic data types** — TestResult, E2ETestResult, CheckResult (structured, validated)
|
|
33
|
+
2. **parse_json()** — Handles markdown-wrapped JSON output from Claude Code
|
|
34
|
+
3. **Retry with resolution** — Max 4 unit retries, max 2 E2E retries, stop if no progress
|
|
35
|
+
4. **Fail-fast E2E** — Stop on first E2E failure (sequential execution)
|
|
36
|
+
5. **Health check gating** — Validate environment before test execution
|
|
37
|
+
6. **Dual logging** — File (DEBUG) + console (INFO)
|
|
38
|
+
7. **Safe subprocess env** — Filter environment variables for subprocess security
|
|
39
|
+
8. **Playwright MCP** — Chromium headless, 1920x1080, video recording, screenshot capture
|
|
40
|
+
9. **stdin=DEVNULL** — Prevent Claude Code hanging in subprocess (E2B sandbox lesson)
|
|
41
|
+
|
|
42
|
+
## Process
|
|
43
|
+
|
|
44
|
+
### Step 1: Health Check
|
|
45
|
+
**Tool:** `tools/testing/health_check.py`
|
|
46
|
+
- Validate environment variables
|
|
47
|
+
- Check database connectivity (28 tables)
|
|
48
|
+
- Verify Python dependencies
|
|
49
|
+
- Check tool availability
|
|
50
|
+
- Validate MCP server configs
|
|
51
|
+
- Test Claude Code CLI
|
|
52
|
+
|
|
53
|
+
### Step 2: Unit Tests (pytest)
|
|
54
|
+
**Tool:** `tools/testing/test_orchestrator.py` → `run_pytest()`
|
|
55
|
+
- Run pytest with verbose output and coverage
|
|
56
|
+
- Parse results into `TestResult` objects
|
|
57
|
+
- Record results in audit trail
|
|
58
|
+
- **Gate:** All tests must pass
|
|
59
|
+
|
|
60
|
+
### Step 3: BDD Tests (behave)
|
|
61
|
+
**Tool:** `tools/testing/test_orchestrator.py` → `run_behave()`
|
|
62
|
+
- Run behave with JSON output
|
|
63
|
+
- Parse Gherkin scenario results
|
|
64
|
+
- Map to `TestResult` objects with `test_type="bdd"`
|
|
65
|
+
- **Gate:** All scenarios must pass
|
|
66
|
+
|
|
67
|
+
### Step 4: Retry Logic
|
|
68
|
+
**Tool:** `tools/testing/test_orchestrator.py` → `run_tests_with_resolution()`
|
|
69
|
+
- If failures detected, log failure details
|
|
70
|
+
- Retry up to `MAX_TEST_RETRY_ATTEMPTS` (4)
|
|
71
|
+
- Stop early if no progress between retries
|
|
72
|
+
- Each retry re-runs full suite
|
|
73
|
+
|
|
74
|
+
### Step 5: E2E Tests (Playwright Native + MCP Fallback)
|
|
75
|
+
**Tool:** `tools/testing/e2e_runner.py`
|
|
76
|
+
- **Native mode (preferred):** Run `tests/e2e/*.spec.ts` via `npx playwright test`
|
|
77
|
+
- Auto-detected when Playwright CLI installed and `.spec.ts` files exist
|
|
78
|
+
- JSON reporter output parsed into E2ETestResult objects
|
|
79
|
+
- Supports Chromium, Firefox, WebKit (configurable via `--project`)
|
|
80
|
+
- Config: `playwright.config.ts`
|
|
81
|
+
- **MCP mode (fallback):** Discover `.claude/commands/e2e/*.md` specs
|
|
82
|
+
- Executed via Claude Code CLI + Playwright MCP
|
|
83
|
+
- Used when native Playwright not installed
|
|
84
|
+
- Capture screenshots to `.tmp/test_runs/{run_id}/screenshots/`
|
|
85
|
+
- Record video per `playwright.config.ts` (native) or `playwright-mcp-config.json` (MCP)
|
|
86
|
+
- **Fail-fast:** Stop on first E2E failure
|
|
87
|
+
- Retry up to `MAX_E2E_TEST_RETRY_ATTEMPTS` (2)
|
|
88
|
+
- **CUI verification:** Check CUI banners on every page
|
|
89
|
+
|
|
90
|
+
### Step 6: Security Gate
|
|
91
|
+
**Tool:** `tools/testing/test_orchestrator.py` → `evaluate_security_gate()`
|
|
92
|
+
- Run SAST (bandit)
|
|
93
|
+
- Run secret detection
|
|
94
|
+
- Evaluate against security_gates.yaml thresholds
|
|
95
|
+
- **Gate:** 0 HIGH SAST findings, 0 secrets detected
|
|
96
|
+
|
|
97
|
+
### Step 7: Compliance Gate
|
|
98
|
+
**Tool:** `tools/testing/test_orchestrator.py` → `evaluate_compliance_gate()`
|
|
99
|
+
- Check CUI markings on all source files
|
|
100
|
+
- Verify STIG findings (0 CAT1)
|
|
101
|
+
- Verify SBOM currency
|
|
102
|
+
- **Gate:** All blocking gates must pass
|
|
103
|
+
|
|
104
|
+
### Step 8: Summary Report
|
|
105
|
+
Generate CUI-marked test report:
|
|
106
|
+
- Unit test results (pass/fail per test)
|
|
107
|
+
- BDD test results (pass/fail per scenario)
|
|
108
|
+
- E2E test results (pass/fail per spec, with screenshots)
|
|
109
|
+
- Security gate result
|
|
110
|
+
- Compliance gate result
|
|
111
|
+
- Overall pass/fail
|
|
112
|
+
- Save to `.tmp/test_runs/{run_id}/summary.md`
|
|
113
|
+
|
|
114
|
+
### Step 9: Audit Trail
|
|
115
|
+
**Tool:** `tools/audit/audit_logger.py`
|
|
116
|
+
- Record: event_type=test.complete
|
|
117
|
+
- Include: all counts, gate results, run_id
|
|
118
|
+
- **NIST Controls:** SA-11, SA-15, CM-3
|
|
119
|
+
|
|
120
|
+
## Testing Tools
|
|
121
|
+
|
|
122
|
+
| Tool | File | Purpose |
|
|
123
|
+
|------|------|---------|
|
|
124
|
+
| Data Types | tools/testing/data_types.py | Pydantic models for test results |
|
|
125
|
+
| Utilities | tools/testing/utils.py | JSON parsing, logging, safe env |
|
|
126
|
+
| Health Check | tools/testing/health_check.py | System validation (7 checks) |
|
|
127
|
+
| Test Orchestrator | tools/testing/test_orchestrator.py | Full test pipeline with retry |
|
|
128
|
+
| E2E Runner | tools/testing/e2e_runner.py | Native Playwright + MCP test execution |
|
|
129
|
+
| Playwright Config | playwright.config.ts | Playwright test runner configuration |
|
|
130
|
+
| E2E Specs | tests/e2e/*.spec.ts | Native Playwright test specifications |
|
|
131
|
+
|
|
132
|
+
## Configuration
|
|
133
|
+
|
|
134
|
+
### Playwright Native (playwright.config.ts)
|
|
135
|
+
```typescript
|
|
136
|
+
// Sequential execution for audit traceability, JSON + HTML reporters
|
|
137
|
+
// Supports chromium, firefox, webkit projects
|
|
138
|
+
// Screenshots on, video on, 1920x1080 viewport
|
|
139
|
+
// Output: .tmp/test_runs/playwright-results.json, .tmp/test_runs/playwright-report/
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Playwright MCP (playwright-mcp-config.json — fallback)
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"browser": {"browserName": "chromium", "launchOptions": {"headless": true}},
|
|
146
|
+
"contextOptions": {
|
|
147
|
+
"recordVideo": {"dir": "./videos", "size": {"width": 1920, "height": 1080}},
|
|
148
|
+
"viewport": {"width": 1920, "height": 1080}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### MCP Server (.mcp.json — for MCP fallback mode)
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"playwright": {
|
|
157
|
+
"command": "npx",
|
|
158
|
+
"args": ["@playwright/mcp@latest", "--isolated", "--config", "./playwright-mcp-config.json"]
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Outputs
|
|
164
|
+
- Test run state: `.tmp/test_runs/{run_id}/state.json`
|
|
165
|
+
- Summary report: `.tmp/test_runs/{run_id}/summary.md`
|
|
166
|
+
- Execution log: `.tmp/test_runs/{run_id}/test_orchestrator/execution.log`
|
|
167
|
+
- Screenshots: `.tmp/test_runs/{run_id}/screenshots/`
|
|
168
|
+
- Videos: `.tmp/test_runs/playwright-artifacts/` (native) or `./videos/` (MCP)
|
|
169
|
+
- Playwright JSON: `.tmp/test_runs/{run_id}/playwright-results.json`
|
|
170
|
+
- Playwright HTML Report: `.tmp/test_runs/playwright-report/`
|
|
171
|
+
- pytest XML: `{project_dir}/test-results.xml`
|
|
172
|
+
- behave JSON: `{project_dir}/behave-results.json`
|
|
173
|
+
- Audit trail entry
|
|
174
|
+
|
|
175
|
+
## Edge Cases
|
|
176
|
+
- No tests found: report "no tests" and PASS (testing framework works, project needs tests)
|
|
177
|
+
- pytest not installed: skip unit tests with warning, continue to BDD/E2E
|
|
178
|
+
- behave not installed: skip BDD tests with warning, continue to E2E
|
|
179
|
+
- Playwright not installed: skip E2E with warning, continue to gates
|
|
180
|
+
- Native tests exist but Playwright CLI missing: fall back to MCP mode
|
|
181
|
+
- Health check fails: warn but continue (non-blocking)
|
|
182
|
+
- All retries exhausted: report final state, exit with failure code
|
|
183
|
+
- Claude Code not available: E2E runs in validation-only mode
|
|
184
|
+
|
|
185
|
+
## Related Goals
|
|
186
|
+
- `tdd_workflow.md` — TDD test generation (RED phase creates tests this goal runs)
|
|
187
|
+
- `code_review.md` — Uses gate results for merge decisions
|
|
188
|
+
- `security_scan.md` — Security tools invoked during security gate
|
|
189
|
+
- `compliance_workflow.md` — Compliance tools invoked during compliance gate
|
goals/knowledge_graph.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# CUI // SP-CTI
|
|
2
|
+
# Knowledge Graph Engine — GOTCHA Goal
|
|
3
|
+
|
|
4
|
+
## Purpose
|
|
5
|
+
InfraNodus-style text network analysis integrated with ICDEV's RAG pipeline.
|
|
6
|
+
Converts text from any source into interactive co-occurrence knowledge graphs,
|
|
7
|
+
detects topic clusters, identifies structural gaps (blind spots), and generates
|
|
8
|
+
AI-powered research questions to bridge disconnected concepts.
|
|
9
|
+
|
|
10
|
+
## Architecture Decisions
|
|
11
|
+
- D-KG-1: Pure Python stdlib + minimal deps (air-gap safe)
|
|
12
|
+
- D-KG-2: SQL adjacency list storage (matches D27 pattern)
|
|
13
|
+
- D-KG-3: Louvain community detection (deterministic, no LLM in critical path)
|
|
14
|
+
- D-KG-4: 4-gram sliding window for co-occurrence (InfraNodus standard)
|
|
15
|
+
- D-KG-5: Structural gap = high-distance cross-cluster node pairs
|
|
16
|
+
- D-KG-6: stdlib urllib + html.parser for web scraping (air-gap safe)
|
|
17
|
+
- D-KG-7: Pluggable source adapters (add new types without modifying core)
|
|
18
|
+
- D-KG-8: GraphRAG enhances (not replaces) existing corrective_rag.py
|
|
19
|
+
- D-KG-9: Query expansion via graph neighborhood traversal (BFS depth=2)
|
|
20
|
+
- D-KG-10: Scoring = 0.4 * relevance + 0.3 * centrality + 0.3 * proximity
|
|
21
|
+
- D-KG-11: Scanner-tier LLM routing (qwen3.5 local, zero Claude tokens)
|
|
22
|
+
- D-KG-12: Deterministic gap detection first, LLM enrichment second
|
|
23
|
+
- D-KG-13: All AI outputs are advisory-only (never modifies graph)
|
|
24
|
+
- D-KG-14: Portable for child apps — no ICDEV-specific dependencies in core engine
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
### 1. Ingest Source
|
|
29
|
+
- **Tool**: `tools/knowledge_graph/ingester.py`
|
|
30
|
+
- **Sources**: text, file (TXT/MD/CSV/JSON/code), URL, YouTube, database, code directory
|
|
31
|
+
- **Output**: Extracted text string
|
|
32
|
+
|
|
33
|
+
### 2. Build Text Network
|
|
34
|
+
- **Tool**: `tools/knowledge_graph/text_network.py`
|
|
35
|
+
- **Steps**:
|
|
36
|
+
1. Tokenize (lowercase, stop removal, rule-based lemmatization)
|
|
37
|
+
2. Build co-occurrence graph (4-gram sliding window)
|
|
38
|
+
3. Compute betweenness centrality (Brandes algorithm, O(VE))
|
|
39
|
+
4. Detect communities (Louvain modularity optimization)
|
|
40
|
+
5. Find structural gaps (cross-cluster edge density analysis)
|
|
41
|
+
- **Output**: Nodes + edges + communities + gaps + stats
|
|
42
|
+
|
|
43
|
+
### 3. Persist to Database
|
|
44
|
+
- **Tables**: `kg_graphs`, `kg_nodes`, `kg_edges`, `kg_gaps`, `kg_ingestions`
|
|
45
|
+
- **Pattern**: SQL adjacency list (matches D27)
|
|
46
|
+
- **Incremental**: `append_to_graph()` merges new text into existing graphs
|
|
47
|
+
|
|
48
|
+
### 4. GraphRAG Retrieval
|
|
49
|
+
- **Tool**: `tools/knowledge_graph/graph_rag.py`
|
|
50
|
+
- **Steps**:
|
|
51
|
+
1. Tokenize query → seed nodes
|
|
52
|
+
2. Match to graph nodes (exact + partial)
|
|
53
|
+
3. BFS neighborhood expansion (depth=2)
|
|
54
|
+
4. Score: 0.4 * relevance + 0.3 * centrality + 0.3 * proximity
|
|
55
|
+
5. Include community context + structural gap context
|
|
56
|
+
- **Integration**: Enriches existing corrective_rag.py, doesn't replace it
|
|
57
|
+
|
|
58
|
+
### 5. AI Insight Generation
|
|
59
|
+
- **Tool**: `tools/knowledge_graph/insight_generator.py`
|
|
60
|
+
- **Capabilities**:
|
|
61
|
+
- Research question generation (template-based + LLM)
|
|
62
|
+
- Community summarization (label + description)
|
|
63
|
+
- Deep gap analysis (bridge candidates + narrative)
|
|
64
|
+
- Layer peeling (remove top nodes → reveal hidden concepts)
|
|
65
|
+
- **LLM Tier**: Scanner (qwen3.5 local, zero Claude tokens)
|
|
66
|
+
|
|
67
|
+
### 6. Visualization
|
|
68
|
+
- **Dashboard**: `/knowledge-graph` route
|
|
69
|
+
- **Features**:
|
|
70
|
+
- Force Atlas / Circular / Grid layouts
|
|
71
|
+
- Node sizing by centrality / degree / occurrences
|
|
72
|
+
- Community color coding (12-color palette)
|
|
73
|
+
- Interactive: drag, pan, zoom, hover tooltips
|
|
74
|
+
- Structural gap display panel
|
|
75
|
+
- GraphRAG chat panel (queries codebase/infrastructure/frameworks)
|
|
76
|
+
|
|
77
|
+
## Edge Cases
|
|
78
|
+
- Empty or very short text → return error with token count
|
|
79
|
+
- Single-word text → insufficient for co-occurrence → error
|
|
80
|
+
- Very large text (>100K tokens) → cap at max_nodes/max_edges config
|
|
81
|
+
- No captions on YouTube video → graceful error message
|
|
82
|
+
- Database source with empty table → error with row count
|
|
83
|
+
- LLM unavailable → deterministic-only mode (all features work without LLM)
|
|
84
|
+
|
|
85
|
+
## Portability (Child Apps)
|
|
86
|
+
- Core engine (`text_network.py`) has zero ICDEV-specific imports
|
|
87
|
+
- Ingester sources are pluggable — child apps register their own
|
|
88
|
+
- Dashboard template extends `base.html` (works with any Flask app)
|
|
89
|
+
- Database tables are self-contained (no FK to other ICDEV tables)
|
|
90
|
+
- Config in `args/knowledge_graph_config.yaml` (GOTCHA args layer)
|
|
91
|
+
- RAG source registry entries are additive (child apps can add more)
|
|
92
|
+
|
|
93
|
+
## Testing
|
|
94
|
+
- Unit tests: tokenization, co-occurrence, centrality, Louvain, gap detection
|
|
95
|
+
- Integration: full pipeline from text → graph → query → insights
|
|
96
|
+
- E2E: dashboard loads, analyze text, view graph, use chat
|
|
97
|
+
- Edge cases: empty text, unicode, very large input, missing LLM
|
|
98
|
+
|
|
99
|
+
## CLI Commands
|
|
100
|
+
```bash
|
|
101
|
+
# Analyze text
|
|
102
|
+
python tools/knowledge_graph/text_network.py --text "your text" --save --json
|
|
103
|
+
|
|
104
|
+
# Ingest from URL
|
|
105
|
+
python tools/knowledge_graph/ingester.py --url "https://example.com" --name "Article" --json
|
|
106
|
+
|
|
107
|
+
# Ingest from YouTube
|
|
108
|
+
python tools/knowledge_graph/ingester.py --youtube "https://youtube.com/watch?v=xxx" --json
|
|
109
|
+
|
|
110
|
+
# Ingest from ICDEV database
|
|
111
|
+
python tools/knowledge_graph/ingester.py --db-source compliance_controls --json
|
|
112
|
+
|
|
113
|
+
# Ingest codebase
|
|
114
|
+
python tools/knowledge_graph/ingester.py --code-dir tools/ --name "ICDEV Codebase" --json
|
|
115
|
+
|
|
116
|
+
# Append to existing graph
|
|
117
|
+
python tools/knowledge_graph/ingester.py --text "more text" --graph-id <id> --json
|
|
118
|
+
|
|
119
|
+
# GraphRAG query
|
|
120
|
+
python tools/knowledge_graph/graph_rag.py --query "zero trust architecture" --json
|
|
121
|
+
|
|
122
|
+
# AI insights
|
|
123
|
+
python tools/knowledge_graph/insight_generator.py --graph-id <id> --questions --json
|
|
124
|
+
python tools/knowledge_graph/insight_generator.py --graph-id <id> --layer-peel --json
|
|
125
|
+
|
|
126
|
+
# List saved graphs
|
|
127
|
+
python tools/knowledge_graph/text_network.py --list --json
|
|
128
|
+
```
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# Goal: Maintenance Audit Workflow
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
Continuously assess and remediate project dependencies to maintain security, compliance, and governance posture. This workflow detects outdated dependencies, checks for known vulnerabilities, enforces remediation SLAs, and auto-implements fixes.
|
|
5
|
+
|
|
6
|
+
**Standards:**
|
|
7
|
+
- NIST 800-53 SI-2 (Flaw Remediation)
|
|
8
|
+
- NIST 800-53 SA-22 (Unsupported System Components)
|
|
9
|
+
- NIST 800-53 CM-3 (Configuration Change Control)
|
|
10
|
+
- CISA SbD Commitment 4 (Security Patches)
|
|
11
|
+
|
|
12
|
+
**Why this matters:** Outdated dependencies are the #1 attack vector. This workflow ensures continuous compliance and reduces exposure window through automated detection and remediation with SLA enforcement.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
- [ ] Project initialized (`goals/init_project.md` completed)
|
|
18
|
+
- [ ] Project has dependency files (requirements.txt, package.json, pom.xml, go.mod, Cargo.toml, *.csproj)
|
|
19
|
+
- [ ] SBOM generated (`goals/compliance_workflow.md`)
|
|
20
|
+
- [ ] Security scans completed (`goals/security_scan.md`)
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Process
|
|
25
|
+
|
|
26
|
+
### Step 1: Scan Dependencies
|
|
27
|
+
**Tool:** `python tools/maintenance/dependency_scanner.py --project-id <id>`
|
|
28
|
+
|
|
29
|
+
Inventories all dependencies across detected languages. Checks package registries for latest versions. Calculates staleness (days behind latest).
|
|
30
|
+
|
|
31
|
+
**Outputs:**
|
|
32
|
+
- Dependency inventory stored in `project_dependencies` table
|
|
33
|
+
- Per-language summary (total deps, outdated count, avg staleness)
|
|
34
|
+
- Staleness flags: current (0d), minor (1-30d), moderate (31-90d), major (91-180d), critical (>180d)
|
|
35
|
+
|
|
36
|
+
**Air-gapped mode:** Use `--offline` flag. Dependencies inventoried from manifest files but latest versions unknown. Staleness set to -1 (unknown).
|
|
37
|
+
|
|
38
|
+
### Step 2: Check Vulnerabilities
|
|
39
|
+
**Tool:** `python tools/maintenance/vulnerability_checker.py --project-id <id>`
|
|
40
|
+
|
|
41
|
+
Runs language-native audit tools (pip-audit, npm audit, cargo-audit, etc.). Maps findings to SLA deadlines. Stores in `dependency_vulnerabilities` table.
|
|
42
|
+
|
|
43
|
+
**SLA Mapping:**
|
|
44
|
+
| Severity | Deadline | Auto-remediate |
|
|
45
|
+
|----------|----------|---------------|
|
|
46
|
+
| Critical | 48 hours | No (manual approval) |
|
|
47
|
+
| High | 7 days | No (manual approval) |
|
|
48
|
+
| Medium | 30 days | Yes |
|
|
49
|
+
| Low | 90 days | Yes |
|
|
50
|
+
|
|
51
|
+
**Outputs:**
|
|
52
|
+
- Vulnerability records with CVE IDs, CVSS scores, affected versions
|
|
53
|
+
- SLA deadline assignments based on severity
|
|
54
|
+
- Fix availability status (fix_available, no_fix, workaround)
|
|
55
|
+
|
|
56
|
+
### Step 3: Run Maintenance Audit
|
|
57
|
+
**Tool:** `python tools/maintenance/maintenance_auditor.py --project-id <id>`
|
|
58
|
+
|
|
59
|
+
Orchestrates full audit: scoring, SLA compliance, trend analysis, CUI-marked report generation.
|
|
60
|
+
|
|
61
|
+
**Scoring Formula:**
|
|
62
|
+
```
|
|
63
|
+
Start at 100 points
|
|
64
|
+
- Each overdue critical SLA: -20 points
|
|
65
|
+
- Each overdue high SLA: -10 points
|
|
66
|
+
- Each overdue medium SLA: -5 points
|
|
67
|
+
- Each overdue low SLA: -2 points
|
|
68
|
+
- Each critical staleness dep (>180d): -3 points
|
|
69
|
+
- Each major staleness dep (91-180d): -1 point
|
|
70
|
+
Floor at 0, cap at 100
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Gate Evaluation:**
|
|
74
|
+
- Score >= 80: PASS (healthy)
|
|
75
|
+
- Score 50-79: WARN (at_risk, non-blocking)
|
|
76
|
+
- Score < 50: FAIL (critical, blocks deployment)
|
|
77
|
+
|
|
78
|
+
**Outputs:**
|
|
79
|
+
- Maintenance score (0-100)
|
|
80
|
+
- SLA compliance percentage
|
|
81
|
+
- Trend analysis (vs. previous audit)
|
|
82
|
+
- CUI-marked markdown report at `reports/<project>/maintenance_audit_YYYY-MM-DD.md`
|
|
83
|
+
|
|
84
|
+
### Step 4: Remediate
|
|
85
|
+
**Tool:** `python tools/maintenance/remediation_engine.py --project-id <id> --auto`
|
|
86
|
+
|
|
87
|
+
Auto-updates dependency files, creates remediation branches, runs tests, tracks actions.
|
|
88
|
+
|
|
89
|
+
**Auto-remediation rules:**
|
|
90
|
+
- Medium and low severity: auto-fixed (bump to patched version)
|
|
91
|
+
- Critical and high severity: generate fix plan, require manual approval
|
|
92
|
+
- Dry-run mode: preview all changes without applying
|
|
93
|
+
|
|
94
|
+
**Process:**
|
|
95
|
+
1. Identify eligible vulnerabilities (medium/low with fix_available)
|
|
96
|
+
2. Generate updated dependency file (requirements.txt, package.json, etc.)
|
|
97
|
+
3. Create git branch `remediate/<project-id>/<date>`
|
|
98
|
+
4. Run test suite to verify no breakage
|
|
99
|
+
5. If tests pass: commit changes, record action
|
|
100
|
+
6. If tests fail: rollback, flag for manual review
|
|
101
|
+
|
|
102
|
+
**Outputs:**
|
|
103
|
+
- Remediation action records (what changed, test results, branch name)
|
|
104
|
+
- Updated dependency files (if not dry-run)
|
|
105
|
+
- Rollback log for any failed remediations
|
|
106
|
+
|
|
107
|
+
### Step 5: Verify
|
|
108
|
+
Re-run security scan and test suite to confirm fixes don't break anything.
|
|
109
|
+
|
|
110
|
+
**Tool:** `python tools/security/dependency_auditor.py --project-dir <path>`
|
|
111
|
+
|
|
112
|
+
Verify:
|
|
113
|
+
- [ ] No new vulnerabilities introduced
|
|
114
|
+
- [ ] All tests still pass
|
|
115
|
+
- [ ] SBOM updated to reflect new versions
|
|
116
|
+
|
|
117
|
+
### Step 6: Log to Audit Trail
|
|
118
|
+
**Tool:** `python tools/audit/audit_logger.py --event-type "maintenance.audit" --actor "maintenance-agent" --action "Maintenance audit complete" --project-id <id>`
|
|
119
|
+
|
|
120
|
+
Record:
|
|
121
|
+
- Audit timestamp and score
|
|
122
|
+
- Vulnerabilities found and remediated
|
|
123
|
+
- SLA compliance status
|
|
124
|
+
- Gate evaluation result
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Success Criteria
|
|
129
|
+
- [ ] All dependencies inventoried across all detected languages
|
|
130
|
+
- [ ] Vulnerability check completed against advisory databases
|
|
131
|
+
- [ ] Maintenance score computed (target: >= 70)
|
|
132
|
+
- [ ] SLA deadlines set for all open vulnerabilities
|
|
133
|
+
- [ ] No overdue critical or high SLAs
|
|
134
|
+
- [ ] Remediation actions tracked for all fixes
|
|
135
|
+
- [ ] CUI-marked audit report generated
|
|
136
|
+
- [ ] Audit trail entries logged
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Schedule
|
|
141
|
+
- **On every build:** Quick dependency scan (cached versions)
|
|
142
|
+
- **Weekly:** Full maintenance audit with registry checks
|
|
143
|
+
- **On new CVE disclosure:** Immediate vulnerability check
|
|
144
|
+
- **Before deployment:** Gate evaluation (blocking if score < 50)
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## SLA Thresholds
|
|
149
|
+
| Severity | Deadline | Auto-remediate | Escalation |
|
|
150
|
+
|----------|----------|---------------|------------|
|
|
151
|
+
| Critical | 48 hours | No (manual) | Immediate notification to security team |
|
|
152
|
+
| High | 7 days | No (manual) | Daily reminder after day 3 |
|
|
153
|
+
| Medium | 30 days | Yes | Weekly summary |
|
|
154
|
+
| Low | 90 days | Yes | Monthly summary |
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Edge Cases & Notes
|
|
159
|
+
1. **Air-gapped environments:** Use --offline flag. Dependencies inventoried but latest versions unknown. Staleness set to -1. Vulnerability checks use local advisory database snapshot.
|
|
160
|
+
2. **Transitive dependencies:** SBOM includes transitives but scanner focuses on direct deps. Transitive vuln fixes require updating the direct dep that pulls them in.
|
|
161
|
+
3. **Version pinning:** Some projects intentionally pin old versions. Use `risk_accept` status in `dependency_vulnerabilities` to document accepted risk with justification.
|
|
162
|
+
4. **Multi-language projects:** Scanner detects all languages automatically. Each gets its own audit tool chain (pip-audit for Python, npm audit for Node.js, cargo-audit for Rust, etc.).
|
|
163
|
+
5. **Feeds SbD:** Maintenance audit results feed SbD-05 (patch cadence) and SbD-22 (vulnerability scanning) assessments.
|
|
164
|
+
6. **Remediation conflicts:** If two vulnerabilities require conflicting version bumps, flag for manual resolution and document in POAM.
|
|
165
|
+
7. **EOL dependencies:** Dependencies with no maintainer activity >1 year flagged as unsupported per NIST SA-22. Recommend replacement.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## GOTCHA Layer Mapping
|
|
170
|
+
| Step | GOTCHA Layer | Component |
|
|
171
|
+
|------|-------------|-----------|
|
|
172
|
+
| Dependency scan | Tools | dependency_scanner.py |
|
|
173
|
+
| Vulnerability check | Tools | vulnerability_checker.py |
|
|
174
|
+
| Maintenance audit | Tools | maintenance_auditor.py |
|
|
175
|
+
| Remediation | Tools | remediation_engine.py |
|
|
176
|
+
| Sequence decisions | Orchestration | AI (you) |
|
|
177
|
+
| SLA thresholds | Args | maintenance_config.yaml |
|
|
178
|
+
| Gate thresholds | Args | security_gates.yaml |
|
|
179
|
+
| Assessment template | Hard Prompts | maintenance_assessment.md |
|
|
180
|
+
| NIST standards | Context | NIST 800-53 SI-2, SA-22, CM-3 |
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Related Files
|
|
185
|
+
- **Tools:** `tools/maintenance/dependency_scanner.py`, `tools/maintenance/vulnerability_checker.py`, `tools/maintenance/maintenance_auditor.py`, `tools/maintenance/remediation_engine.py`
|
|
186
|
+
- **MCP Server:** `tools/mcp/maintenance_server.py`
|
|
187
|
+
- **Skill:** `.claude/skills/sparkpilot-maintain/SKILL.md`
|
|
188
|
+
- **Hard Prompt:** `hardprompts/maintenance/maintenance_assessment.md`
|
|
189
|
+
- **Args:** `args/maintenance_config.yaml`, `args/security_gates.yaml`
|
|
190
|
+
- **Feeds from:** `goals/security_scan.md` (SAST/dep findings), `goals/compliance_workflow.md` (SBOM)
|
|
191
|
+
- **Feeds into:** `goals/sbd_ivv_workflow.md` (SbD-05, SbD-22), `goals/deploy_workflow.md` (deployment gate)
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Changelog
|
|
196
|
+
- 2026-02-15: Initial creation (Phase 16H)
|