GitNexus/gitnexus/test/unit
henry201605 2f15c1ece1
feat(group): add Kotlin Spring WebClient long-form HTTP consumer extraction (#1884)
* feat(group): add Kotlin Spring WebClient long-form HTTP consumer extraction

Follow-up to #1855. Extends `kotlin.ts` with the long-form WebClient
fluent chain that #1855 explicitly deferred:

  webClient.method(HttpMethod.GET).uri("/x").retrieve().awaitBody<T>()

This pattern remains common in Kotlin Spring 4 → 5 migrations and in
codebases that prefer the fluent verb-as-enum style. The short form
(`webClient.get().uri("/x")`) was already supported in #1855.

Approach:
  - Single deeper tree-sitter query (`WEB_CLIENT_LONG_PATTERNS`) that
    matches the full chain structurally — both `.method(HttpMethod.X)`
    and `.uri("...")` in one pattern. Verb is captured as the
    `simple_identifier` of the `HttpMethod.X` field access.
  - Verb is whitelisted to GET/POST/PUT/DELETE/PATCH (consistent with
    the short-form's `WEB_CLIENT_SHORT_TO_HTTP` map).
  - Receiver constraint `(#eq? @obj "webClient")` mirrors the short
    form and Java plugin heuristic.

Out of scope (intentional):
  - Variable-bound verbs: `val verb = HttpMethod.PATCH; webClient.method(verb)...`
    Source-scan can't follow the binding without graph context.
    Pinned by an anti-overreach test.
  - HEAD/OPTIONS/TRACE: not in `WEB_CLIENT_SHORT_TO_HTTP` either —
    keeps polyglot symmetry with java.ts and the short form.

Tests: 4 new cases under `consumer extraction — fetch patterns`,
gated by tree-sitter-kotlin grammar availability.

  positive (3)
   - long form GET
   - long form POST / PUT / DELETE / PATCH (4 verbs in 1 fixture)
   - no double-emit pin (long-form chain produces exactly one
     consumer, not one from each query)
  anti-regression (1)
   - variable-bound verb does NOT match (graph-aware concern)

The previous `'does NOT match Kotlin WebClient long form (deferred
to follow-up)'` test from #1855 is replaced by these — the deferred
state is now resolved.

Reverse-validated: temporarily disabling the long-form emit makes
exactly the 3 positive tests fail; the variable-bound-verb anti-
regression test continues to pass (it pins behavior independent
of the emit being on or off).

Local validation:
  - test/unit/group/http-route-extractor.test.ts: 66/66 
  - test/unit/group: 546/546 
  - npx prettier --check (changed files): clean 

* test(group): address Claude review findings F1 and F2 on PR #1884

Two minor follow-ups from the production-readiness review:

F1 — Stale block comment at the top of the Kotlin consumer suite
(was: "Three consumer flavors covered here ... long-form deferred
to a follow-up"). Updated to "Four consumer flavors" and removed
the deferred sentence — the deferral is resolved by this PR. The
kotlin.ts file header was already updated; this brings the test
file comment in sync. Per DoD §2.3 (no stale comments).

F2 — Replaced `expect(wcConsumers.length).toBeGreaterThanOrEqual(4)`
with `expect(wcConsumers).toHaveLength(4)` in the multi-verb test.
The fixture is fully deterministic — exactly 4 long-form calls,
no other consumer types — so an exact count assertion is the right
shape per DoD §2.7 ("use toBe / toEqual for exact expectations").
Added a comment explaining what the assertion catches that the
existing per-verb toBeDefined() checks would miss (accidental 5th
consumer from a duplicate query firing or a regressed receiver
constraint).

F3 (HEAD/OPTIONS/TRACE negative test) is intentionally not added
in this PR — same precedent as #1855 where HEAD/OPTIONS/TRACE on
the short form are also implicitly excluded without a pinning
test. Happy to add one in a separate PR if maintainers want
explicit pinning across both forms.

F4 (CI on pre-merge SHA) is the maintainer's call — the merge from
main is theirs to re-trigger CI on. The merge brings only Java
consumer changes (PR #1872) and Go provider changes (PR #1886),
both in entirely separate files from this PR's Kotlin work.

Local validation:
  - test/unit/group/http-route-extractor.test.ts: 73/73 
    (66 from this PR pre-merge + 7 from PR #1872 merged via main)
  - npx prettier --check (changed files): clean 

* refactor(group): hoist Kotlin WebClient long-form verb regex to module scope

Address @magyargergo's review request on PR #1884:

  > Can you please extract the regexp from the for loop? 🙏
    (kotlin.ts:510)

Compiles the verb whitelist `^(GET|POST|PUT|DELETE|PATCH)$` once at
module load instead of every iteration of the long-form scan loop.
Mirrors the placement and JSDoc style of the sibling
`WEB_CLIENT_SHORT_TO_HTTP` constant.

Behavior is unchanged — same verb whitelist, same exclusion of
HEAD/OPTIONS/TRACE for symmetry with the short form. The 4
itKotlinConsumer long-form tests added in this PR continue to
pass, and the variable-bound-verb anti-overreach test continues
to pin the deliberate non-match.

Local validation:
  - test/unit/group/http-route-extractor.test.ts: 77/77 
  - test/unit/group: 557/557 
  - npx prettier --check (changed file): clean 

---------

Co-authored-by: henry <zhangwei2017@unipus.cn>
Co-authored-by: Gergő Magyar <gergomagyar@icloud.com>
2026-05-29 09:27:54 +01:00
..
call-routing feat(ingestion): language-agnostic heritage extractor with config+factory pattern (#890) 2026-04-17 17:51:17 +01:00
group feat(group): add Kotlin Spring WebClient long-form HTTP consumer extraction (#1884) 2026-05-29 09:27:54 +01:00
import-resolution feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
integrations feat: shared resilient-fetch (retries + circuit breaker) (#1448) 2026-05-09 15:18:09 +01:00
mcp fix(search): surface warning when FTS indexes are missing (#1418) 2026-05-08 17:05:18 +01:00
model perf(scope-resolution): use owner-keyed lookup for Step 2 member resolution (#1657) 2026-05-18 13:14:27 +01:00
named-bindings refactor: SICP-informed LanguageProvider architecture (#488) 2026-03-24 13:42:39 +00:00
scope-resolution feat(cpp): rank user-defined conversions (#1829) 2026-05-27 06:36:23 +01:00
shadow chore(shared): apply Ring 2 SHARED review follow-ups in one diff (#964) 2026-04-18 18:40:29 +01:00
workers fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
ai-context.test.ts fix(cli): apply --no-stats to keep-marker stats line (#1706) (#1765) 2026-05-22 07:03:40 +01:00
analyze-api.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
analyze-community-skills-gate.test.ts feat(cli): add --skip-skills and --index-only flags to analyze (resubmit of #742) (#1485) 2026-05-11 15:00:58 +01:00
analyze-embeddings-limit.test.ts feat(core): adopt pino structured logger (#1336) 2026-05-07 20:56:25 +01:00
analyze-heap-respawn.test.ts fix(analyze): prevent cache-hit native workers from aborting (#1751) 2026-05-21 16:17:02 +01:00
analyze-job.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
analyze-lbug-checkpoint-threshold.test.ts fix(lbug): add WAL checkpoint-threshold control (#1772) 2026-05-22 14:46:49 +01:00
analyze-no-stats-bridge.test.ts feat: Add analyze --repair-fts, enforce FTS verification, and harden repair safeguards (#1720) 2026-05-20 13:37:04 +01:00
analyze-respawn-progress-terminal.test.ts fix(analyze): prevent cache-hit native workers from aborting (#1751) 2026-05-21 16:17:02 +01:00
analyze-wal-error.test.ts fix(lbug): add WAL checkpoint-threshold control (#1772) 2026-05-22 14:46:49 +01:00
analyze-worker-pool-size.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
analyze-worker-timeout.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
api-file-route.test.ts fix(server): close js/path-injection cluster — /api/file + docker-server.mjs (U2) (#1322) 2026-05-04 12:28:02 +01:00
api-graph-streaming.test.ts [codex] fix large repository graph loading (#732) 2026-04-09 17:40:24 +01:00
api-query-readonly-wiring.test.ts fix: Use Ladybug native read-only enforcement and prepared statement execution for Cypher query paths (#1655) 2026-05-18 06:54:24 +01:00
api-readonly-wiring.test.ts fix(api): open lbug read-only for /api/graph, /api/search, /api/grep (#1686) 2026-05-18 19:57:35 +01:00
ast-cache.test.ts fix: guard createASTCache against zero maxSize to prevent LRU cache crash 2026-03-02 08:47:20 +00:00
ast-utils.test.ts fix(windows): 32767-char tree-sitter crash + VECTOR extension SIGSEGV (#1433) 2026-05-10 16:00:36 +01:00
binding-accumulator.test.ts refactor(pipeline): DAG-based phase architecture + container-logic extraction to LanguageProvider (#809) 2026-04-13 20:31:05 +01:00
blade-template-routes.test.ts fix(php): avoid Blade templates entering PHP analysis (#1790) 2026-05-23 23:37:40 +01:00
bm25-search.test.ts feat: Add analyze --repair-fts, enforce FTS verification, and harden repair safeguards (#1720) 2026-05-20 13:37:04 +01:00
call-attribution-issue-1166.test.ts fix(typescript): name HOC-wrapped const declarations (forwardRef / memo / useCallback / useMemo / observer) (#1261) 2026-05-03 13:58:09 +01:00
call-extraction.test.ts feat(ingestion): language-agnostic call extractor with config+factory pattern (#877) 2026-04-16 11:45:30 +01:00
call-form.test.ts Extract registries into model/ module with SemanticModel interface (#786) 2026-04-12 01:06:55 +01:00
call-processor.test.ts feat(java): add Java to MIGRATED_LANGUAGES with 100% scope-resolution parity (#1805) 2026-05-24 14:29:26 +01:00
calltool-dispatch.test.ts feat(impact): per-symbol processes field on byDepth items (#1867) 2026-05-28 16:15:37 +01:00
chunker.test.ts feat(embeddings): structural chunking with data-driven CHUNKING_RULES dispatch (#987) 2026-04-20 08:25:31 +01:00
cli-commands.test.ts fix(install): materialize vendored grammars to fix Windows EPERM (#1728) (#1729) 2026-05-21 16:47:22 +01:00
cli-i18n.test.ts feat(i18n): make web and CLI language-aware (#1748) 2026-05-23 06:14:24 +01:00
cli-index-help.test.ts feat(wiki): support local Claude and Codex providers (#1769) 2026-05-25 12:59:48 +01:00
cli-message.test.ts feat(i18n): make web and CLI language-aware (#1748) 2026-05-23 06:14:24 +01:00
cobol-copy-expander.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
cobol-preprocessor.test.ts feat: configure eslint with unused import removal (#564) 2026-03-28 15:28:09 +00:00
cohesion-consistency.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
community-processor.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
compatible-stdio-transport.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
cors.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
cpp-ue-preprocessor.test.ts feat(extractors): strip Unreal Engine reflection macros before C++ parsing (#1439) 2026-05-09 12:28:32 +01:00
cross-file-impl.test.ts fix: resolve cross-file type propagation stall on large repos (#1626) 2026-05-16 10:02:40 +01:00
cross-file.test.ts refactor(pipeline): DAG-based phase architecture + container-logic extraction to LanguageProvider (#809) 2026-04-13 20:31:05 +01:00
csv-escaping.test.ts refactor: migrate from KuzuDB to LadybugDB v0.15 (#275) 2026-03-15 15:53:01 +00:00
cursor-hook.test.ts fix(hooks): cap concurrent augment subprocesses (#1486) (#1510) 2026-05-13 08:56:27 +01:00
dart-import-resolver.test.ts refactor(ingestion): split ImportSemantics into per-strategy hooks (Strategies 1-4) (#886) 2026-04-16 19:31:44 +01:00
dart-type-extractor.test.ts feat: configure eslint with unused import removal (#564) 2026-03-28 15:28:09 +00:00
deferred-resolution-profile-wiring.test.ts feat(ingestion): log deferred resolution progress when verbose (#1741) (#1773) 2026-05-22 12:37:30 +01:00
deferred-resolution-profile.test.ts feat(ingestion): log deferred resolution progress when verbose (#1741) (#1773) 2026-05-22 12:37:30 +01:00
detect-changes-worktree.test.ts fix(detect-changes): guard resolveWorktreeCwd against overriding a separately-indexed worktree (#1691) 2026-05-20 06:46:16 +01:00
doctor-format.test.ts feat(i18n): make web and CLI language-aware (#1748) 2026-05-23 06:14:24 +01:00
embedder.test.ts test: add test suite with vitest (unit + integration + fixtures) 2026-03-01 20:07:02 +05:30
embedding-chunking.test.ts feat(embeddings): structural chunking with data-driven CHUNKING_RULES dispatch (#987) 2026-04-20 08:25:31 +01:00
embedding-config.test.ts fix: add platform-aware semantic fallback (#1150) 2026-04-28 12:21:25 +01:00
embedding-pipeline.test.ts fix: add platform-aware semantic fallback (#1150) 2026-04-28 12:21:25 +01:00
entry-point-scoring.test.ts refactor(ingestion): consolidate per-language patterns into LanguageProvider (#1279) 2026-05-03 10:34:00 +01:00
env.test.ts feat(ingestion): log deferred resolution progress when verbose (#1741) (#1773) 2026-05-22 12:37:30 +01:00
esm-extension-resolution.test.ts fix: apply ESM .js extension fallback to tsconfig path alias resolution (#1530) 2026-05-14 16:15:17 +01:00
eval-formatters.test.ts feat(i18n): make web and CLI language-aware (#1748) 2026-05-23 06:14:24 +01:00
eval-server-bind-restriction.test.ts test(cli): stabilize eval-server host checks (#1786) 2026-05-23 16:45:35 +01:00
exact-search.test.ts fix: add platform-aware semantic fallback (#1150) 2026-04-28 12:21:25 +01:00
expo-routes.test.ts feat: add Expo Router file-based route detection (#503) 2026-03-25 11:05:55 +00:00
extract-element-type-from-string.test.ts feat: Phase 6 type resolution — for-loop Tier 1c, pattern matching, container descriptors, 10-language coverage (#318) 2026-03-17 17:10:22 +00:00
extract-generic-type-args.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
fastapi-router-bindings.test.ts feat(ingestion): resolve FastAPI include_router(prefix=...) cross-file routes (#1877) 2026-05-28 19:04:19 +01:00
fetch-reason-parsing.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
field-extraction.test.ts Extract registries into model/ module with SemanticModel interface (#786) 2026-04-12 01:06:55 +01:00
format-elapsed.test.ts feat(progress): add per-language progress reporting to scope-resolution phase (#1813) 2026-05-25 11:53:54 +01:00
framework-detection.test.ts refactor(ingestion): consolidate per-language patterns into LanguageProvider (#1279) 2026-05-03 10:34:00 +01:00
git-clone.test.ts fix(server): sanitize repo name to prevent argument injection (#1305) 2026-05-11 09:38:07 +01:00
git-utils.test.ts fix(git): suppress stderr leak in getCurrentCommit and getGitRoot (#1172) (#1341) 2026-05-05 14:29:42 +01:00
git.test.ts fix(windows): pass windowsHide:true to every child_process spawn-family call (#1794) 2026-05-24 09:51:21 +01:00
graph.test.ts feat(python): scope-based call resolution + registry-primary flip + perf + generalization (RFC #909 Ring 3) (#980) 2026-04-21 15:50:00 +01:00
group-service-not-found.test.ts fix(group): surface friendly error when group name not found (#903 regression test) (#989) 2026-04-21 15:52:36 +01:00
has-method.test.ts feat: MethodExtractor configs for Python, PHP, Swift, Dart, Rust, Ruby (#624) 2026-04-03 16:11:31 +01:00
heritage-extraction.test.ts feat(ingestion): language-agnostic heritage extractor with config+factory pattern (#890) 2026-04-17 17:51:17 +01:00
heritage-map.test.ts Extract registries into model/ module with SemanticModel interface (#786) 2026-04-12 01:06:55 +01:00
heritage-processor.test.ts Extract registries into model/ module with SemanticModel interface (#786) 2026-04-12 01:06:55 +01:00
hf-env.test.ts feat: shared resilient-fetch (retries + circuit breaker) (#1448) 2026-05-09 15:18:09 +01:00
hooks.test.ts feat(setup): implement antigravity integration setup and hook adapter… (#1730) 2026-05-25 14:46:17 +01:00
http-embedder.test.ts feat(embeddings): forward dimensions param in HTTP embedding requests (#1498) 2026-05-11 13:56:10 +01:00
hybrid-search.test.ts fix(search): guard against undefined bm25Results when FTS unavailable (#1489) (#1540) 2026-05-13 12:30:21 +01:00
ignore-service.test.ts fix(worker): analyze native worker aborts (#1833) 2026-05-26 17:28:39 +01:00
impact-batching-grouping.test.ts feat(impact): per-symbol processes field on byDepth items (#1867) 2026-05-28 16:15:37 +01:00
impact-confidence.test.ts feat: METHOD_IMPLEMENTS edges, overload disambiguation, MethodExtractor unification (#574) (#642) 2026-04-04 18:41:47 +01:00
impact-pagination.test.ts feat(mcp): add limit/offset/summaryOnly pagination to impact tool (#1818) 2026-05-26 08:48:24 +01:00
import-processor.test.ts Extract registries into model/ module with SemanticModel interface (#786) 2026-04-12 01:06:55 +01:00
import-resolver-factory.test.ts fix(python): avoid local matches for external dotted imports (#899) 2026-04-17 11:35:59 +01:00
incremental-file-hash.test.ts feat(analyze): incremental indexing (parse cache + DB writeback + scope-res short-circuit) (#1479) 2026-05-12 13:14:56 +01:00
incremental-orchestration.test.ts feat(analyze): incremental indexing (parse cache + DB writeback + scope-res short-circuit) (#1479) 2026-05-12 13:14:56 +01:00
incremental-parse-cache.test.ts feat(ingestion): resolve FastAPI include_router(prefix=...) cross-file routes (#1877) 2026-05-28 19:04:19 +01:00
incremental-shadow-candidates.test.ts feat(analyze): incremental indexing (parse cache + DB writeback + scope-res short-circuit) (#1479) 2026-05-12 13:14:56 +01:00
incremental-subgraph-extract.test.ts feat(analyze): incremental indexing (parse cache + DB writeback + scope-res short-circuit) (#1479) 2026-05-12 13:14:56 +01:00
index-repo-command.test.ts fix(cli): keep GitNexus ignores inside .gitnexus (#1248) 2026-05-01 16:46:05 +01:00
ingestion-utils.test.ts fix(php): avoid Blade templates entering PHP analysis (#1790) 2026-05-23 23:37:40 +01:00
jcl-parser.test.ts feat: configure eslint with unused import removal (#564) 2026-03-28 15:28:09 +00:00
kotlin-scope-captures.test.ts feat(ingestion): add Kotlin scope resolver (#1727) 2026-05-21 08:52:23 +01:00
kotlin-static-marker.test.ts feat(lang-kotlin): flip Kotlin to MIGRATED_LANGUAGES + close #1756 / #1757 (refs #1746) (#1782) 2026-05-23 07:24:35 +01:00
language-skip.test.ts fix(swift): use official prebuilt parser runtime (#1130) 2026-04-28 09:57:42 +01:00
laravel-route-extraction.test.ts fix(php): avoid Blade templates entering PHP analysis (#1790) 2026-05-23 23:37:40 +01:00
lazy-action.test.ts Improve MCP startup compatibility and lazy-load CLI commands (#207) 2026-03-07 07:47:09 +00:00
lbug-adapter-wal-schema.test.ts fix(lbug): keep serve stable when sidecars are missing (#1747) 2026-05-21 12:35:43 +01:00
lbug-checkpoint-lifecycle.test.ts fix: Use Ladybug native read-only enforcement and prepared statement execution for Cypher query paths (#1655) 2026-05-18 06:54:24 +01:00
lbug-checkpoint.test.ts fix(lbug): add WAL checkpoint-threshold control (#1772) 2026-05-22 14:46:49 +01:00
lbug-config-wal.test.ts fix(lbug): add WAL checkpoint-threshold control (#1772) 2026-05-22 14:46:49 +01:00
lbug-embedding-hashes.test.ts feat(embeddings): AST-aware chunking with offset-based splitting (#889) 2026-04-16 22:55:04 +01:00
lbug-extension-loader.test.ts fix(deps): upgrade @ladybugdb/core to 0.16.0 to resolve native segfaults (#1235) 2026-04-30 17:40:39 +01:00
lbug-native-check.test.ts fix(cli): detect missing LadybugDB native binary at startup with actionable guidance (#835) (#1837) 2026-05-26 17:10:08 +01:00
lbug-native-safe-path.test.ts fix(lbug): resolve non-ASCII paths for KuzuDB on Windows (#1811) (#1817) 2026-05-25 21:28:12 +01:00
lbug-pool-win-fts-probe.test.ts fix(lbug): resolve non-ASCII paths for KuzuDB on Windows (#1811) (#1817) 2026-05-25 21:28:12 +01:00
lbug-readonly-error.test.ts fix(hook): resolve canonical repo root + guard read-only FTS ensure (#1226) 2026-04-30 18:12:03 +01:00
local-backend-maxbuffer.test.ts fix: ENOBUFS in detect_changes by setting maxBuffer on git/rg execFileSync (#957) 2026-04-18 15:58:31 +01:00
local-cli-subprocess.test.ts feat(wiki): support local Claude and Codex providers (#1769) 2026-05-25 12:59:48 +01:00
logger.test.ts feat(core): adopt pino structured logger (#1336) 2026-05-07 20:56:25 +01:00
max-file-size.test.ts feat(core): adopt pino structured logger (#1336) 2026-05-07 20:56:25 +01:00
mcp-stdout-sentinel.test.ts fix(mcp): close MCP server timeout — stdout discipline + cold-start friction (#1383) 2026-05-07 09:14:33 +01:00
mcp-wal-feedback.test.ts fix: Use Ladybug native read-only enforcement and prepared statement execution for Cypher query paths (#1655) 2026-05-18 06:54:24 +01:00
method-extraction.test.ts fix(swift): use official prebuilt parser runtime (#1130) 2026-04-28 09:57:42 +01:00
method-props.test.ts feat: same-arity overload disambiguation via type-hash suffix (#651) (#658) 2026-04-05 21:51:55 +01:00
mro-processor.test.ts perf(mro): replace O(n³) C3 merge loop with O(n²) head-pointer algorithm (#1316) 2026-05-04 10:49:24 +01:00
noise-filter.test.ts refactor: split global BUILT_IN_NAMES into per-language provider fields (#523) 2026-03-26 12:15:29 +00:00
parse-diff-hunks.test.ts fix: map diff hunks to symbol line ranges in detect_changes (#779) 2026-04-11 11:29:52 +01:00
parse-impl-chunk-concurrency.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
parse-impl-deferred-extraction.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
parse-impl-e1-emission-shape.test.ts feat(ingestion): log deferred resolution progress when verbose (#1741) (#1773) 2026-05-22 12:37:30 +01:00
parse-impl-env-reads.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
parse-impl-fallback.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
parse-impl-progress-monotonic.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
parse-impl-worker-lazy-cache.test.ts feat(ingestion): resolve FastAPI include_router(prefix=...) cross-file routes (#1877) 2026-05-28 19:04:19 +01:00
parser-loader.test.ts fix(deps): pin tree-sitter-c/cpp to fix Windows segfault (#1242) (#1243) 2026-05-01 08:02:16 +01:00
parsing-worker-fallback.test.ts feat(ingestion): Link object literal methods to exported bindings (#1718) 2026-05-21 17:18:27 +01:00
phase-timer.test.ts feat(search): per-phase timing instrumentation for the query pipeline (#953) 2026-04-18 16:30:07 +01:00
php-namespace-extraction.test.ts fix(php): reduce memory during deferred-call accumulation and scope-resolution (#1800) 2026-05-24 15:53:20 +01:00
php-template-scope.test.ts fix(php): avoid Blade templates entering PHP analysis (#1790) 2026-05-23 23:37:40 +01:00
pipeline-exports.test.ts test: add test suite with vitest (unit + integration + fixtures) 2026-03-01 20:07:02 +05:30
pipeline-runner.test.ts refactor(pipeline): DAG-based phase architecture + container-logic extraction to LanguageProvider (#809) 2026-04-13 20:31:05 +01:00
platform-capabilities.test.ts fix: add platform-aware semantic fallback (#1150) 2026-04-28 12:21:25 +01:00
pool-wal-recovery.test.ts fix(lbug): resolve non-ASCII paths for KuzuDB on Windows (#1811) (#1817) 2026-05-25 21:28:12 +01:00
process-processor.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
publish.test.ts feat(cli): add gitnexus publish for opt-in understand-quickly registry (#1425) 2026-05-09 09:52:26 +01:00
query-fts-parameterization.test.ts fix: Use Ladybug native read-only enforcement and prepared statement execution for Cypher query paths (#1655) 2026-05-18 06:54:24 +01:00
query-params.test.ts fix: Use Ladybug native read-only enforcement and prepared statement execution for Cypher query paths (#1655) 2026-05-18 06:54:24 +01:00
rate-limit.test.ts feat(wiki): support local Claude and Codex providers (#1769) 2026-05-25 12:59:48 +01:00
receiver-extraction.test.ts Fix HTTP client vs Express route detection and Spring interface attribution (#780) 2026-04-11 11:24:47 +01:00
registry-primary-flag.test.ts feat(ruby): migrate Ruby to scope-based resolution (RFC #909 Ring 3) (#1831) 2026-05-26 16:16:49 +01:00
rel-csv-split.test.ts test(gitnexus): stabilize rel-csv-split stream teardown on Windows (expect.poll) (#1052) 2026-04-23 20:11:54 +01:00
repo-manager-ensure-ignore-readonly.test.ts fix(cli): tolerate read-only workspace in ensureGitNexusIgnored (#1549) (#1550) 2026-05-14 17:26:34 +01:00
repo-manager-finalize-invariant.test.ts fix(cli): surface silent finalize-skips so analyze cannot exit 0 without persisting (#1169) (#1237) 2026-04-30 21:36:28 +01:00
repo-manager.test.ts fix(cli): tolerate read-only workspace in ensureGitNexusIgnored (#1549) (#1550) 2026-05-14 17:26:34 +01:00
resolve-enclosing-owner.test.ts feat(ingestion): language-agnostic heritage extractor with config+factory pattern (#890) 2026-04-17 17:51:17 +01:00
resources.test.ts feat: cross-repo impact analysis (#794) — @repo MCP routing + group resources (#984) 2026-04-20 11:55:07 +01:00
route-tool-detection.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
ruby-self-call.test.ts feat(ingestion): language-agnostic heritage extractor with config+factory pattern (#890) 2026-04-17 17:51:17 +01:00
run-analyze-fts-repair.test.ts feat: Add analyze --repair-fts, enforce FTS verification, and harden repair safeguards (#1720) 2026-05-20 13:37:04 +01:00
run-analyze.test.ts feat: add optional limit arg to --embeddings flag (closes #382) (#1375) 2026-05-06 16:31:28 +01:00
safe-parse.test.ts fix(windows): 32767-char tree-sitter crash + VECTOR extension SIGSEGV (#1433) 2026-05-10 16:00:36 +01:00
schema.test.ts fix(csharp): include generic typed properties in context and impact (#1399) 2026-05-09 09:07:24 +01:00
security.test.ts fix: Use Ladybug native read-only enforcement and prepared statement execution for Cypher query paths (#1655) 2026-05-18 06:54:24 +01:00
semantic-chunk-search.test.ts feat(embeddings): AST-aware chunking with offset-based splitting (#889) 2026-04-16 22:55:04 +01:00
sequential-language-availability.test.ts feat(core): adopt pino structured logger (#1336) 2026-05-07 20:56:25 +01:00
server-cors-stack.test.ts fix(server): restore gitnexus serve startup under Express 5 (#1749) 2026-05-21 10:18:09 +01:00
server-validation.test.ts fix(server): close critical type-confusion + add validation helper module (#1317) 2026-05-04 10:50:00 +01:00
server.test.ts feat(mcp): add tool safety annotations (#1127) 2026-05-03 09:06:41 +01:00
setup-antigravity.test.ts feat(setup): implement antigravity integration setup and hook adapter… (#1730) 2026-05-25 14:46:17 +01:00
setup-codex.test.ts fix(windows): pass windowsHide:true to every child_process spawn-family call (#1794) 2026-05-24 09:51:21 +01:00
setup-jsonc.test.ts fix(mcp): setup fallback on Windows when global gitnexus resolves to a non-spawnable shim (#1694) 2026-05-19 08:17:26 +01:00
setup.test.ts fix(mcp): setup fallback on Windows when global gitnexus resolves to a non-spawnable shim (#1694) 2026-05-19 08:17:26 +01:00
shape-check.test.ts fix: shape_check false positives — quoted keys, DOM leaks, errorKeys (#501) 2026-03-26 05:43:37 +00:00
shared-type-extractors.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
sibling-clone-drift.test.ts fix(mcp): avoid git from non-repo cwd in sibling cwd match (#1138) (#1293) 2026-05-03 09:17:12 +01:00
sidecar-recovery.test.ts fix(lbug): keep serve stable when sidecars are missing (#1747) 2026-05-21 12:35:43 +01:00
skill-gen.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
skip-git-cli.test.ts feat: Add analyze --repair-fts, enforce FTS verification, and harden repair safeguards (#1720) 2026-05-20 13:37:04 +01:00
staleness.test.ts perf(mcp): parallelize staleness checks in list_repos (#1416) 2026-05-08 10:36:20 +01:00
stdout-silence.test.ts fix(mcp): unify stdout silencing to prevent embedder/pool-adapter conflicts (#645) 2026-04-04 11:56:49 +01:00
structure-processor.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
suffix-index-ambiguity.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
symbol-resolver.test.ts refactor(pipeline): DAG-based phase architecture + container-logic extraction to LanguageProvider (#809) 2026-04-13 20:31:05 +01:00
symbol-table.test.ts feat(ingestion): language-agnostic heritage extractor with config+factory pattern (#890) 2026-04-17 17:51:17 +01:00
text-generator.test.ts feat(embeddings): structural chunking with data-driven CHUNKING_RULES dispatch (#987) 2026-04-20 08:25:31 +01:00
tool-direct-cli.test.ts feat(i18n): make web and CLI language-aware (#1748) 2026-05-23 06:14:24 +01:00
tool-process-linking.test.ts fix(mcp): project tool_map flows from handlers (#1113) 2026-04-27 17:13:02 +01:00
tools.test.ts fix: Use Ladybug native read-only enforcement and prepared statement execution for Cypher query paths (#1655) 2026-05-18 06:54:24 +01:00
topological-sort.test.ts refactor(pipeline): DAG-based phase architecture + container-logic extraction to LanguageProvider (#809) 2026-04-13 20:31:05 +01:00
transitive-include-closure.test.ts fix: resolve C/C++ cross-file calls through transitive #include chains (#816) 2026-04-14 09:39:17 +01:00
tree-sitter-queries.test.ts feat(ingestion): language-agnostic variable extractor with config+factory pattern (#878) 2026-04-16 13:57:25 +01:00
type-env.test.ts fix(swift): use official prebuilt parser runtime (#1130) 2026-04-28 09:57:42 +01:00
utils.test.ts feat: configure prettier with pre-commit hook (#563) 2026-03-28 14:58:04 +00:00
variable-extraction.test.ts feat(ingestion): language-agnostic variable extractor with config+factory pattern (#878) 2026-04-16 13:57:25 +01:00
vue-sfc-extractor.test.ts fix(security): close URL/regex/tag-filter sanitization cluster (U7) (#1330) 2026-05-08 07:11:29 +01:00
wal-checkpoint-driver.test.ts fix(lbug): add WAL checkpoint-threshold control (#1772) 2026-05-22 14:46:49 +01:00
web-ui-serving.test.ts fix(lbug): keep serve stable when sidecars are missing (#1747) 2026-05-21 12:35:43 +01:00
wiki-flags.test.ts feat(wiki): support local Claude and Codex providers (#1769) 2026-05-25 12:59:48 +01:00
wiki-grouping-batch.test.ts fix(wiki): add budget-aware grouping to prevent context overflow on large repos (#627) (#1832) 2026-05-26 12:32:07 +01:00
wiki-llm-client.test.ts fix(wiki): Remove the hidden 60s default timeout, validate gitnexus wiki timeout/retry flags, and surface timeout errors (#1651) 2026-05-17 12:03:54 +01:00
wiki-mermaid-sanitizer.test.ts fix(wiki): sanitize generated mermaid diagrams (#1539) 2026-05-13 11:53:09 +01:00
wildcard-synthesis.test.ts refactor(pipeline): DAG-based phase architecture + container-logic extraction to LanguageProvider (#809) 2026-04-13 20:31:05 +01:00
worker-pool-cumulative-timeout.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
worker-pool-options.test.ts fix: recover worker parse stalls (#1121) 2026-04-27 20:07:03 +01:00
worker-pool-resilience.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
worker-pool-slot-generation.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
worker-pool-timeout-retire.test.ts fix(worker): analyze native worker aborts (#1833) 2026-05-26 17:28:39 +01:00
worker-pool-transferlist.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00
worker-pool-windows-quarantine.test.ts fix(workers): resilient + zero-copy ingestion worker pool — prevent analyze hangs on TS-root-scale loads (#1693) 2026-05-20 20:39:35 +01:00