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

2026-06-27T12:52:13.657096Z [info     ] pipeline_start                           [venruk.pipeline.pipeline] root_path=/home/mnvgowda/MNVProjects/codeCTO/docs/platform_qualification/fixtures/monorepo-mixed stages=['discovery', 'scanning', 'correlation', 'graph', 'enrichment', 'risk']
2026-06-27T12:52:13.658598Z [info     ] project_discovered                       [venruk.core.discovery] files=14 frameworks=[] languages=['python'] lines=6 package_managers=['pip/poetry/pdm']
2026-06-27T12:52:13.680042Z [info     ] cache_hit                                [venruk.stages.discovery] cached_findings=3 unchanged_files=6
2026-06-27T12:52:13.680213Z [info     ] all_files_cached                         [venruk.stages.discovery]
2026-06-27T12:52:13.723915Z [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:13.724674Z [info     ] scanner_complete                         [venruk.stages.scanning] duration=0.00s findings=0 scanner=secrets
2026-06-27T12:52:13.725178Z [info     ] scanner_complete                         [venruk.stages.scanning] duration=0.00s findings=0 scanner=quality
2026-06-27T12:52:13.728299Z [info     ] rulepack_load_complete                   [venruk.scanners.rulepack.loader] elapsed_ms=2.88 new_rules=18 packs=8 rules=18
2026-06-27T12:52:13.728513Z [info     ] scanner_complete                         [venruk.stages.scanning] duration=0.00s findings=0 scanner=sast
2026-06-27T12:52:13.729676Z [info     ] scanner_complete                         [venruk.stages.scanning] duration=0.00s findings=0 scanner=dependencies
2026-06-27T12:52:13.737830Z [info     ] correlation_start                        [_venruk_scan_finding_correlation] total_raw_findings=3
2026-06-27T12:52:13.738054Z [info     ] correlation_complete                     [_venruk_scan_finding_correlation] final_count=3 root_causes_created=0
2026-06-27T12:52:13.738260Z [info     ] correlation_stage_complete               [venruk.stages.correlation] dedup_removed=0 final=3 ignored=0 raw=3 root_causes=0
2026-06-27T12:52:13.746277Z [info     ] building_knowledge_graph                 [venruk.stages.graph]
2026-06-27T12:52:13.746805Z [info     ] parsing_source_ast                       [venruk.stages.graph]
2026-06-27T12:52:13.749497Z [info     ] graph_stage_complete                     [venruk.stages.graph] aliases_added=0 edges=3 findings_injected=3 nodes=7
2026-06-27T12:52:13.755064Z [info     ] Resolving ownership for 3 findings...    [venruk.intelligence.ownership]
2026-06-27T12:52:13.837099Z [info     ] risk_stage_entrypoints                   [venruk.stages.risk] count=0
2026-06-27T12:52:13.837518Z [info     ] risk_stage_reachability                  [venruk.stages.risk] attack_paths_raw=0 findings_analyzed=1 reachable=0 unknown=1 unreachable=0
2026-06-27T12:52:13.837717Z [info     ] risk_stage_attack_paths                  [venruk.stages.risk] reachable_findings=0 total_paths=0
2026-06-27T12:52:13.843796Z [info     ] risk_stage_attribution                   [venruk.stages.risk] owners=1 records=3
2026-06-27T12:52:13.843987Z [info     ] pipeline_complete                        [venruk.pipeline.pipeline] elapsed_s=0.187 errors=0 stages=['discovery', 'scanning', 'correlation', 'graph', 'enrichment', 'risk']
2026-06-27T12:52:13.844134Z [info     ] Running Tech Debt Predictor...           [venruk.app.scan_service]
2026-06-27T12:52:13.844464Z [info     ] Running Ownership Engine (post-pipeline pass, %d tech-debt findings)... [venruk.app.scan_service] positional_args=(3,)
2026-06-27T12:52:13.844746Z [info     ] Resolving ownership for 3 findings...    [venruk.intelligence.ownership]
2026-06-27T12:52:13.912309Z [info     ] Running Risk Attribution Engine...       [venruk.app.scan_service]
2026-06-27T12:52:13.912652Z [info     ] knowledge_graph_complete                 [venruk.app.scan_service] attack_paths=0 edges=7 nodes=8
2026-06-27T12:52:13.912894Z [info     ] scores_calculated                        [venruk.scoring.engine] findings_count=6 grade=A overall=86.0 quality=100.0 security=76.0
2026-06-27T12:52:13.978196Z [info     ] scan_complete                            [venruk.app.scan_service] duration=0.26s findings=6 grade=A pipeline_timings={'discovery': 0.023, 'scanning': 0.0562, 'correlation': 0.0018, 'graph': 0.0113, 'enrichment': 0.0746, 'risk': 0.0195, '_pipeline_total': 0.1867} score=86.0
Scanning: 
/home/mnvgowda/MNVProjects/codeCTO/docs/platform_qualification/fixtures/monorepo
-mixed
Languages: python (100%)
Files: 6 · Lines: 6

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

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

🔴 CRITICAL (3)
  ARCH-CHOKE-file:packages/worker/app.py  High-Risk Chokepoint: 
file:packages/worker/app.py  file:packages/worker/app.py:1 Owner: Unknown
  ARCH-CHOKE-file:packages/shared/app.py  High-Risk Chokepoint: 
file:packages/shared/app.py  file:packages/shared/app.py:1 Owner: Unknown
  ARCH-CHOKE-file:packages/api/app.py  High-Risk Chokepoint: 
file:packages/api/app.py  file:packages/api/app.py:1 Owner: Unknown

🟠 HIGH (3)
  CC-CRY-001  Hardcoded Credential — variable `API_KEY`  
packages/worker/app.py:2 Owner: Unknown
  CC-CRY-001  Hardcoded Credential — variable `API_KEY`  
packages/shared/app.py:2 Owner: Unknown
  CC-CRY-001  Hardcoded Credential — variable `API_KEY`  packages/api/app.py:2 
Owner: Unknown

Total: 6 findings (3 critical · 3 high) · Scan time: 0.3s

