Skip to content

fix(knowledge-registry): surface incomplete scans and untracked discovery (AGT-3490) - #717

Merged
unohee merged 2 commits into
mainfrom
heewonoh/agt-3490-coverage-signal
Sep 20, 2026
Merged

unohee merged 2 commits into
mainfrom
heewonoh/agt-3490-coverage-signal

Conversation

@unohee

@unohee unohee commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator

Closes AGT-3490.

What

  • getRecentlyChangedFiles now also enumerates untracked files (git ls-files --others --exclude-standard -z), so incremental graph refresh discovers newly created files that no commit has seen yet.
  • scanRepository (entity scanner) and BS detector report an explicit incomplete flag + incompleteReasons[] when depth limits, scan timeouts, the file cap, or the size-based file exclusion truncate coverage — the omission is a result, not silence.
  • entityWarnings GraphQL query enforces a request-wide result budget of 200 (offset+limit window must fit), and the store clamps offset on warning/tag queries so a huge offset can no longer bypass the page cap.
  • Regression tests for each behavior; full src/registry+src/knowledge suite green (93 tests), typecheck clean.

DoD mapping

  • New untracked source files are discovered by incremental refresh (src/knowledge/untrackedDiscovery.test.ts)
  • Scan results explicitly indicate incompleteness caused by depth or size limits (src/registry/incompleteCoverage.test.ts)
  • Regression coverage verifies both omission classes (oversized file, depth limit)
  • entityWarnings obey a total request-wide result budget (src/registry/entityWarningsBudget.test.ts)

Verification

  • npm run typecheck — 0 errors
  • vitest src/registry + src/knowledge — 10 files, 93 passed
  • oxlint on touched files — 0 warnings

@unohee
unohee merged commit 66a8de2 into main Sep 20, 2026
7 checks passed
@unohee
unohee deleted the heewonoh/agt-3490-coverage-signal branch September 20, 2026 06:14
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