New REES local analyzer (named in the #1499 epic 'Uncaught-rejection / floating-promise' idea) that flags newly-added async calls whose returned promise is neither awaited, returned, nor .catch()-chained on the same statement — a common silent-failure bug. Structural heuristic over added TS/JS lines, precision-first, no network. Scoped narrowly (single-statement expression call to a known-async/await-adjacent identifier) to keep false positives low.
Deliverables
References
review-enrichment/src/analyzers/redos.ts (precision-first structural local analyzer)
review-enrichment/src/analyzers/registry.ts:158-175
gh issue 1499 lists 'Uncaught-rejection / floating-promise + error-swallow analyzer' as a speculative idea
Part of #1499.
size: S · gittensor:feature
New REES local analyzer (named in the #1499 epic 'Uncaught-rejection / floating-promise' idea) that flags newly-added async calls whose returned promise is neither awaited, returned, nor .catch()-chained on the same statement — a common silent-failure bug. Structural heuristic over added TS/JS lines, precision-first, no network. Scoped narrowly (single-statement expression call to a known-async/
await-adjacent identifier) to keep false positives low.Deliverables
FloatingPromiseFinding({ file, line, call: string }) +floatingPromise?key to review-enrichment/src/types.ts (call name truncated, no full expression)foo.thenable()/somePromiseFn()) with no leading await/return and no trailing .catch/.then; conservative allowlist of promise-shaped call sites; cap with maxFindingsReferences
review-enrichment/src/analyzers/redos.ts (precision-first structural local analyzer)review-enrichment/src/analyzers/registry.ts:158-175gh issue 1499 lists 'Uncaught-rejection / floating-promise + error-swallow analyzer' as a speculative ideaPart of #1499.
size: S · gittensor:feature