Engineering Gap
48+ instances of any type across backend and frontend bypassing TypeScript type safety. Concentrated in error handlers, Prisma interactions, guard implementations, and onchain adapter. @typescript-eslint/no-explicit-any globally disabled in .eslintrc.js line 15.
Codebase Evidence
.eslintrc.js line 15: @typescript-eslint/no-explicit-any: off — globally disabled
app/backend/src/common/filters/http-exception.filter.ts: 6 instances (exception: any, details: any, etc.)
app/backend/src/onchain/soroban.adapter.ts: 5 instances (result: any, scv: any, receipt: any, status: any)
app/backend/src/common/guards/adaptive-rate-limit.guard.ts: 2 instances (request: any)
app/backend/src/onchain/interfaces/onchain-job.interface.ts: params: any in core job type
app/frontend/src/components/ActivityCenter.tsx, useActivity.ts: any in callback signatures
Risk Profile
Current Risk
Runtime type errors in production. Reduced IDE support. Hidden bugs from unchecked property access. Refactoring breaks silently.
Business Impact
Higher bug rate. Slower development velocity. Reduced code review effectiveness. Production incidents from type coercion errors.
Remediation Strategy
Prioritize safety-critical paths first (onchain adapter, error handlers, guards). Define proper interfaces. Enable @typescript-eslint/no-explicit-any as warn, then error, with targeted suppressions. Add to CI lint gate.
Success Conditions
Change Surface
Files: 20+ across backend and frontend source
Security Review
Type safety reduces injection and coercion vulnerabilities. Net positive.
Completion Checklist
Engineering Gap
48+ instances of
anytype across backend and frontend bypassing TypeScript type safety. Concentrated in error handlers, Prisma interactions, guard implementations, and onchain adapter.@typescript-eslint/no-explicit-anyglobally disabled in.eslintrc.jsline 15.Codebase Evidence
.eslintrc.jsline 15:@typescript-eslint/no-explicit-any: off— globally disabledapp/backend/src/common/filters/http-exception.filter.ts: 6 instances (exception: any, details: any, etc.)app/backend/src/onchain/soroban.adapter.ts: 5 instances (result: any, scv: any, receipt: any, status: any)app/backend/src/common/guards/adaptive-rate-limit.guard.ts: 2 instances (request: any)app/backend/src/onchain/interfaces/onchain-job.interface.ts:params: anyin core job typeapp/frontend/src/components/ActivityCenter.tsx,useActivity.ts: any in callback signaturesRisk Profile
Current Risk
Runtime type errors in production. Reduced IDE support. Hidden bugs from unchecked property access. Refactoring breaks silently.
Business Impact
Higher bug rate. Slower development velocity. Reduced code review effectiveness. Production incidents from type coercion errors.
Remediation Strategy
Prioritize safety-critical paths first (onchain adapter, error handlers, guards). Define proper interfaces. Enable
@typescript-eslint/no-explicit-anyas warn, then error, with targeted suppressions. Add to CI lint gate.Success Conditions
anytypes in onchain, auth, and guards replacedno-explicit-anyenabled as error with justified suppressionsChange Surface
Files: 20+ across backend and frontend source
Security Review
Type safety reduces injection and coercion vulnerabilities. Net positive.
Completion Checklist