Skip to content

fix: harden TypeScript scanning and plan resolution - #721

Open
GDownes wants to merge 3 commits into
peteromallet:mainfrom
GDownes:fix/typescript-unused-project-config
Open

fix: harden TypeScript scanning and plan resolution#721
GDownes wants to merge 3 commits into
peteromallet:mainfrom
GDownes:fix/typescript-unused-project-config

Conversation

@GDownes

@GDownes GDownes commented Aug 24, 2026

Copy link
Copy Markdown

Problem

Four scanner/workflow edge cases surfaced in a TypeScript monorepo:

  • unused detection selected the repository-root tsconfig instead of the nearest config owning the scanned project;
  • async function body extraction treated object-shaped parameter and return types as executable bodies;
  • resolving one queued finding could auto-complete unrelated cluster steps, including steps whose triage refs were summary hashes rather than canonical issue IDs;
  • temporarily skipped subjective reassessment prompts still selected the assessment lifecycle phase, then disappeared from display and masked executable triaged findings behind an empty queue.

Fix

  • create the temporary unused-check config beside the nearest owning tsconfig;
  • scan balanced TypeScript signature delimiters before extracting the executable body;
  • evaluate step completion against the whole living plan and fail closed while an unmatched-ref cluster still has members;
  • remove skipped subjective items before phase resolution so queued implementation work remains executable.

Validation

  • 36 focused queue-snapshot tests passed for the latest fix; the earlier scanner and plan-resolution focused suites also pass.
  • Ruff checks and format checks passed for the original six changed files.
  • Full suite: 5,662 passed, 152 skipped; three pre-existing Bash source-directive tests fail in this environment.
  • Verified all fixes against the WorkOrderGuard services/api scan and living plan; the previously empty queue now exposes the eight triaged review findings and planned coverage work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant