╔══════════════════════════════════════════════════════════════════════════════╗
║  🛡️  Venruk v0.1.0                                                           ║
║  CTO-in-a-Box · Code Auditor                                                 ║
╚══════════════════════════════════════════════════════════════════════════════╝

2026-06-27T12:52:03.138222Z [info     ] pipeline_start                           [venruk.pipeline.pipeline] root_path=/home/mnvgowda/MNVProjects/codeCTO/docs/platform_qualification/fixtures/medium-python-app stages=['discovery', 'scanning', 'correlation', 'graph', 'enrichment', 'risk']
2026-06-27T12:52:03.148424Z [info     ] project_discovered                       [venruk.core.discovery] files=128 frameworks=[] languages=['python'] lines=360 package_managers=['pip/poetry/pdm']
2026-06-27T12:52:03.196875Z [info     ] cache_hit                                [venruk.stages.discovery] cached_findings=120 unchanged_files=120
2026-06-27T12:52:03.197267Z [info     ] all_files_cached                         [venruk.stages.discovery]
2026-06-27T12:52:03.257330Z [info     ] plugin_discovery_complete                [venruk.plugins.loader] loaded=11 plugins=['architecture', 'config_audit', 'dependencies', 'docker', 'external', 'kubernetes', 'quality', 'sast', 'sbom', 'secrets', 'terraform']
2026-06-27T12:52:03.258488Z [info     ] scanner_complete                         [venruk.stages.scanning] duration=0.00s findings=0 scanner=secrets
2026-06-27T12:52:03.259263Z [info     ] scanner_complete                         [venruk.stages.scanning] duration=0.00s findings=0 scanner=quality
2026-06-27T12:52:03.265326Z [info     ] rulepack_load_complete                   [venruk.scanners.rulepack.loader] elapsed_ms=5.65 new_rules=18 packs=8 rules=18
2026-06-27T12:52:03.265634Z [info     ] scanner_complete                         [venruk.stages.scanning] duration=0.01s findings=0 scanner=sast
2026-06-27T12:52:03.267014Z [info     ] scanner_complete                         [venruk.stages.scanning] duration=0.01s findings=0 scanner=dependencies
2026-06-27T12:52:03.306897Z [info     ] correlation_start                        [_venruk_scan_finding_correlation] total_raw_findings=120
2026-06-27T12:52:03.307577Z [info     ] correlation_complete                     [_venruk_scan_finding_correlation] final_count=1 root_causes_created=1
2026-06-27T12:52:03.307988Z [info     ] correlation_stage_complete               [venruk.stages.correlation] dedup_removed=0 final=1 ignored=0 raw=120 root_causes=1
2026-06-27T12:52:03.320441Z [info     ] building_knowledge_graph                 [venruk.stages.graph]
2026-06-27T12:52:03.321131Z [info     ] parsing_source_ast                       [venruk.stages.graph]
2026-06-27T12:52:03.366416Z [info     ] graph_stage_complete                     [venruk.stages.graph] aliases_added=0 edges=121 findings_injected=1 nodes=242
2026-06-27T12:52:03.373575Z [info     ] Resolving ownership for 1 findings...    [venruk.intelligence.ownership]
2026-06-27T12:52:03.434411Z [info     ] risk_stage_entrypoints                   [venruk.stages.risk] count=0
2026-06-27T12:52:03.436258Z [info     ] risk_stage_reachability                  [venruk.stages.risk] attack_paths_raw=0 findings_analyzed=1 reachable=0 unknown=1 unreachable=0
2026-06-27T12:52:03.436703Z [info     ] risk_stage_attack_paths                  [venruk.stages.risk] reachable_findings=0 total_paths=0
2026-06-27T12:52:03.449295Z [info     ] risk_stage_attribution                   [venruk.stages.risk] owners=1 records=1
2026-06-27T12:52:03.449648Z [info     ] pipeline_complete                        [venruk.pipeline.pipeline] elapsed_s=0.311 errors=0 stages=['discovery', 'scanning', 'correlation', 'graph', 'enrichment', 'risk']
2026-06-27T12:52:03.449911Z [info     ] Running Tech Debt Predictor...           [venruk.app.scan_service]
2026-06-27T12:52:03.454948Z [info     ] Running Ownership Engine (post-pipeline pass, %d tech-debt findings)... [venruk.app.scan_service] positional_args=(1,)
2026-06-27T12:52:03.455462Z [info     ] Resolving ownership for 1 findings...    [venruk.intelligence.ownership]
2026-06-27T12:52:03.487652Z [info     ] Running Risk Attribution Engine...       [venruk.app.scan_service]
2026-06-27T12:52:03.488211Z [info     ] knowledge_graph_complete                 [venruk.app.scan_service] attack_paths=0 edges=123 nodes=243
2026-06-27T12:52:03.488502Z [info     ] scores_calculated                        [venruk.scoring.engine] findings_count=2 grade=A+ overall=96.5 quality=100.0 security=100.0
2026-06-27T12:52:03.599186Z [info     ] scan_complete                            [venruk.app.scan_service] duration=0.35s findings=2 grade=A+ pipeline_timings={'discovery': 0.0592, 'scanning': 0.0965, 'correlation': 0.0139, 'graph': 0.0584, 'enrichment': 0.0421, 'risk': 0.0407, '_pipeline_total': 0.3111} score=96.5
Scanning: 
/home/mnvgowda/MNVProjects/codeCTO/docs/platform_qualification/fixtures/medium-p
ython-app
Languages: python (100%)
Files: 120 · Lines: 360

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃  📊 CTO Score: 96/100 (A+)                                                   ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

╭─────────────────┬────────┬────────╮
│ Category        │  Score │ Grade  │
├─────────────────┼────────┼────────┤
│ Security        │    100 │   A+   │
│ Quality         │    100 │   A+   │
│ Maintainability │    100 │   A+   │
│ Architecture    │     77 │   B    │
│ Compliance      │    100 │   A+   │
╰─────────────────┴────────┴────────╯

🔴 CRITICAL (1)
  ARCH-CHOKE-file:Multiple Files  High-Risk Chokepoint: file:Multiple Files  
file:Multiple Files:1 Owner: Unknown

🟠 HIGH (1)
  2ea19893  Root Cause: Architectural Flaw 'CC-CRY-001'  Multiple Files:1 Owner:
Unknown

Total: 2 findings (1 critical · 1 high) · Scan time: 0.3s

