Skip to main content
ArcSight

← Homepage

Impact analysis example

What breaks when you change NocoDB (packages/nocodb)?

Real arc impact output on NocoDB (packages/nocodb) — same structure as the homepage demo. Know blast radius before you merge.

Project: NocoDB (packages/nocodb) · Score: 95.7/100 (Excellent architecture) · 1,095 modules · 489 edges

Engineering decision simulation

Validation procedure 01 · merge vs. hold before output

Before arc impact

You plan a change to a high fan-in module in NocoDB (packages/nocodb). Would you merge without knowing blast radius?

Typical answer: hold — need dependency context.

After arc impact

Structured output below: score, hotspots, corridors, and high-risk modules — same field schema as the homepage proof.

Decision: confirm hold, narrow change, or inspect paths first.

Published as part of the validation record. Run locally: arc impact <file-you-are-changing>

Architectural Risk Map

Where risk accumulates by control surface — drill down Surface → Substrate → Mechanism → Evidence.

See control surfaces →

Dependency evidence

Architecture visualization

Diagrams are generated from ArcSight analysis data. Dependency graph and risk map show key modules; subsystem view shows high-level structure.

Dependency graph
Dependency graph for this codebase
Subsystem architecture
Subsystem architecture for this codebase
Risk map
Risk map for this codebase

Architecture score & metrics

Score: 95.7/100 · Stability: 64/100 · Status: healthy · Confidence: 100%

  • Dependency cycles: 1
  • Duplicate authorities: 65

Modules to inspect

One row per module. Fan-in is direct dependents. Blast radius is downstream modules reachable from that file.

Fan-in, direct dependents
  • src/db/field-handler/handlers/decimal/decimal.general.handler7 dependents
  • src/db/util/Debug6 dependents
  • src/db/util/Result6 dependents
  • src/services/api-docs/swagger/getSwaggerColumnMetas6 dependents
  • src/services/api-docs/swaggerV2/getSwaggerColumnMetas6 dependents
  • src/services/api-docs/swaggerV3/getSwaggerColumnMetasV36 dependents
  • src/db/field-handler/handlers/number/number.general.handler5 dependents
  • src/types/nc-plugin/lib/XcPlugin5 dependents
Blast radius, downstream modules
  • src/db/field-handler/handlers/decimal/decimal.general.handler20 modules
  • src/db/field-handler/field-handler.interface10 modules
  • src/db/util/Debug9 modules
  • src/db/util/Result9 modules
  • src/services/api-docs/swagger/getSwaggerColumnMetas7 modules
  • src/services/api-docs/swaggerV2/getSwaggerColumnMetas7 modules
  • src/services/api-docs/swaggerV3/getSwaggerColumnMetasV37 modules
  • src/db/field-handler/handlers/number/number.general.handler5 modules
ModuleFan-inBlastRisk
src/db/field-handler/handlers/decimal/decimal.general.handler720LOW
src/db/field-handler/field-handler.interface410HIGH
src/db/util/Debug69HIGH
src/db/util/Result69HIGH
src/services/api-docs/swagger/getSwaggerColumnMetas67HIGH
src/services/api-docs/swaggerV2/getSwaggerColumnMetas67HIGH
src/services/api-docs/swaggerV3/getSwaggerColumnMetasV367HIGH
src/db/field-handler/handlers/number/number.general.handler55HIGH
src/types/nc-plugin/lib/XcPlugin55HIGH
src/db/sql-client/lib/KnexClient24HIGH
src/modules/jobs/jobs/at-import/engine/mockResponses14HIGH
src/db/field-handler/handlers/rating/rating.general.handler33HIGH
src/helpers/ncError23HIGH
src/db/sql-migrator/lib/KnexMigratorv213HIGH
src/modules/jobs/jobs/at-import/engine/mock13HIGH
src/db/CustomKnex4LOW
src/db/IBaseModelSqlV24LOW
src/db/cte-generator1LOW
src/db/field-handler/utils/handlerUtils1LOW

CLI workflow

Scan → Fix → Finish → Watch. Nothing else required.

  • arc scanFind issues
  • arc fixApply fixes
  • arc finishResolve remaining
  • arc watchKeep clean

More commands (explain, impact, guard…) →

Key takeaways

  • •Architecture score 95.7/100 indicates a healthy structure with room to reduce cycles and violations.
  • •Structural scan reports dependency cycles — inspect impact paths before refactors that cross module boundaries.
  • •High fan-in modules are change-risk zones; run arc explain <path> before refactoring.
  • •Run the full workflow (analyze, hotspots, explain, impact, snapshot, drift) in your repo for deterministic architecture insights.

Run ArcSight on your repo

Install the CLI and run analyze, then hotspots and explain for the same workflow.

npm install -g arcsight
arc analyze
Install ArcSight →

This case study is generated from ArcSight analysis data. View short analysis. View all analyses