Commit Graph
2328 Commits
Author SHA1 Message Date
Martin Vogel a3831c9795 Merge pull request #2017 from kobaz/feat/path-allow-broad-too-shallow-override
feat(workspace): add PATH_ALLOW_BROAD override for too-shallow roots
2026-10-29 07:53:11 +01:00
Martin Vogel 3be5a02708 Merge pull request #2601 from bline/fix/doc-link-missing-member
fix(doc-links): report a path::member reference to a missing member (#2587)
2026-10-29 04:47:39 +01:00
Martin Vogel 59d6b52679 Merge pull request #2421 from Fieldnote-Echo/fix/dotd-depinfo-sniff
fix(discover): keep make/cargo dep-info .d files out of the D grammar
2026-10-29 04:32:21 +01:00
Martin Vogel ba4122d3cc Merge pull request #2418 from Fieldnote-Echo/fix/sequential-definitions-retention
fix(pipeline): free trees and compact results in sequential definitions pass
2026-10-29 03:47:38 +01:00
Martin Vogel 2658a181b5 Merge pull request #2600 from bline/fix/snapshot-coherence
fix(mcp): verify content for freshness and snippets; expose store generation (#2585)
2026-10-29 03:27:46 +01:00
Martin Vogel 7b398de4e4 Merge pull request #2769 from gaurav0107/fix/2033-go-type-alias-alias-of-is-never-register
fix(go-lsp): follow a type alias declared in another file of the package
2026-10-29 02:32:34 +01:00
Martin Vogel c4e37c1239 Merge pull request #2290 from knewstimek/pr/windows-setenv-utf8
fix(windows): set UTF-8 environment values through wide CRT
2026-10-29 01:56:52 +01:00
Martin Vogel e1405eaeb7 Merge origin/main into fix/sequential-definitions-retention
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 23:27:16 +01:00
Martin Vogel 3bd645efd5 Merge origin/main into pr/windows-setenv-utf8
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 18:15:29 +01:00
Martin Vogel 95279bd74f Merge origin/main into fix/snapshot-coherence
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 18:15:21 +01:00
Martin Vogel ba246dad4f Merge origin/main into fix/2033-go-type-alias-alias-of-is-never-register
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 18:14:30 +01:00
Martin Vogel 9fe25c476f Merge origin/main into fix/doc-link-missing-member
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 18:14:22 +01:00
Martin Vogel 9ae55eb0b6 Merge origin/main into feat/path-allow-broad-too-shallow-override
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 18:13:51 +01:00
Martin Vogel eb76d04acf Merge origin/main into fix/dotd-depinfo-sniff
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 18:13:34 +01:00
Martin Vogel 1aeaf6f024 Merge origin/main into fix/2666-c-extraction-a-macro-argument-identifier
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 18:13:26 +01:00
Martin Vogel dca2a44ef0 Merge pull request #2807 from divakantpandey/fix/2787-pi-extension-string-enum
fix(cli): emit string enums as Type.String({ enum }) in Pi adapter (#2787)
2026-10-28 18:10:35 +01:00
Martin Vogel 635f8e3b63 Merge pull request #2309 from BumaldaOverTheWater94/fix/home-user-symlink-alias
fix(cli): trust root-owned per-user /home entries during activation walk
2026-10-28 18:08:15 +01:00
Martin Vogel 2796460efe Merge pull request #2305 from pcristin/fix/issue-2265-unresolved-call-coverage
fix(pipeline): expose unresolved call coverage
2026-10-28 18:07:59 +01:00
Martin Vogel ea892c5349 Merge pull request #2817 from DeusData/feat/drift-reminder-hook
feat(cli): note when a Claude Code session keeps searching without the graph
2026-10-28 18:07:44 +01:00
Divakant Pandey 323e88fa0b Merge branch 'main' into fix/2787-pi-extension-string-enum 2026-10-28 16:51:53 +05:30
Pcristin 8a2f718e1c Merge branch 'main' into fix/issue-2265-unresolved-call-coverage 2026-10-28 08:27:52 +00:00
Martin Vogel 820cd02307 Merge pull request #2161 from htarnacki/fix/discover-external-fast-mode
fix(discover): retain external source directories in fast mode (#2151)
2026-10-28 07:47:51 +01:00
Martin Vogel 1306c276f2 Merge origin/main into fix/2033-go-type-alias-alias-of-is-never-register
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 07:27:51 +01:00
Martin Vogel ee9dc48d1e Merge origin/main into fix/issue-2265-unresolved-call-coverage
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 07:07:50 +01:00
Martin Vogel 8aeee865e6 Merge origin/main into pr/windows-setenv-utf8
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 04:27:57 +01:00
Martin Vogel bd144c2544 Merge origin/main into fix/snapshot-coherence
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 04:07:48 +01:00
Martin Vogel b956413eb4 Merge pull request #2423 from harshitaajoshi/fix/2386-bm25-label-window
fix(mcp): apply search_graph label filter inside the BM25 candidate window (#2386)
2026-10-28 02:27:53 +01:00
Martin Vogel 406f6c7c71 Merge origin/main into fix/doc-link-missing-member
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 00:44:29 +01:00
Martin Vogel 69155bcf6c fix(incremental): re-resolve documents whose member rows name a changed file (#2587)
An unresolved `path::member` row (missing or ambiguous) leads to its
file by no edge, so an incremental run never re-resolved the document
when that file changed. Two edits then left a row where a full index
has an edge: a body edit that writes a missing member's name (no
definition added), and a same-named pair of methods shrinking to one
(the name stays, so no removed name reaches the rows).

The closure now also takes the files whose missing or ambiguous rows
with "::" name a changed or deleted file, matched by base name since a
reference may be written relative to the document or to the root. When
memory runs out, every such row's file is taken.

Test: doc_links_md_member_missing_incremental requires incremental ==
full on the closure-repair route for both edits and for dropping the
name again. Without the new closure rule the "member written" step
diverges; with it limited to missing rows the "group shrinks" step
does.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 00:43:16 +01:00
Martin Vogel 1a7239f52b fix(doc-links): a member the code file writes keeps its file edge (#2587)
A `path::member` reference became a missing row whenever the member
lookup found no definition node, but real documentation names members
the file has without a node the lookup binds: a call form
(`src/util.py::clamp()`), a C macro or a prototype in a header, a
TypeScript namespace, a Python enum member, an annotated class
attribute. Those lost their correct file edge and were counted as doc
rot.

A member now reads without a trailing call form, so `clamp()` binds
`clamp`. When no definition matches, the resolver reads the code file
and calls the member missing only when the file does not write its name
at all (a whole identifier, case-sensitive); a member the file writes
keeps the file edge it had before. A file that cannot be read whole
makes no claim. Ambiguous members are unchanged.

Test: doc_links_md_member_written_issue2587 indexes each shape under its
own heading, and two members that stay missing (Color::BLUE, which the
file writes only as LIGHT_BLUE and a lowercase "blue", and
no_such_function). On the previous head all seven shapes are missing
rows; without the call-form trim the call form is; without the
identifier boundary, or with a case-insensitive match, BLUE takes the
file edge.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-28 00:43:12 +01:00
Martin Vogel 7716153630 Merge origin/main into fix/home-user-symlink-alias
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 23:36:28 +01:00
Martin Vogel a0940ce152 Merge origin/main into fix/2666-c-extraction-a-macro-argument-identifier
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 20:03:12 +01:00
Martin Vogel df2c35f841 Merge origin/main into fix/discover-external-fast-mode
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 20:03:02 +01:00
Martin Vogel 3f4afec3ee Merge origin/main into fix/dotd-depinfo-sniff
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 20:02:57 +01:00
Martin Vogel 9c075722c8 Merge origin/main into fix/issue-2265-unresolved-call-coverage
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 19:30:40 +01:00
Martin Vogel 21d3550f5d Merge origin/main into pr/windows-setenv-utf8
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 19:17:07 +01:00
Martin Vogel cb3191fe4f Merge origin/main into feat/path-allow-broad-too-shallow-override
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 19:16:26 +01:00
Martin Vogel e897930388 Merge origin/main into fix/snapshot-coherence
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 19:16:10 +01:00
Martin Vogel a2feed881c Merge origin/main into fix/2033-go-type-alias-alias-of-is-never-register
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 19:15:54 +01:00
Martin Vogel cb0e6b5a2b Merge origin/main into fix/2386-bm25-label-window
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 19:15:17 +01:00
Martin Vogel 7ca765f69a Merge origin/main into fix/2276-incremental-reindex-root-path-stale
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 19:15:09 +01:00
Martin Vogel 83109dde52 Merge pull request #2802 from harshitaajoshi/fix/2797-relative-import-exact-path
fix(pipeline): never guess a same-named sibling for explicit ./ and ../ imports (#2797)
2026-10-27 19:12:29 +01:00
Martin Vogel e73eb9d6ae Merge pull request #2777 from gaurav0107/fix/1818-daemon-autoindex-skipped-omits-the-effec
fix(daemon): log the effective auto_index_limit in daemon.autoindex.skipped
2026-10-27 19:12:23 +01:00
Martin Vogel 4edc6b7b30 Merge pull request #2724 from tmonestudio/fix/java-skip-dirs-and-typed-calls
fix(discover): keep JVM packages named like build dirs (part of #2661)
2026-10-27 19:11:57 +01:00
Martin Vogel 69b26df9f0 Merge pull request #2372 from lorenzozanee/fix/search-code-cancellation-observability
fix(mcp): report request timing in mcp.request logs
2026-10-27 19:11:15 +01:00
Martin Vogel 402617555c feat(cli): note when a Claude Code session keeps searching without the graph
The search hook gives each Grep, Glob or Bash search the matching graph
symbols, but a session can keep searching text for questions the graph answers
in one call (#509). Once a session has run three searches with no
codebase-memory-mcp tool call, the next augmentation now adds one factual line
saying so. The next note comes after six searches, then twelve, and any graph
tool call resets the count.

- State: a per-session counter in the process that runs hook requests (the
  daemon), keyed by the payload's session_id, in a bounded 64-slot table that
  evicts the least recently used session, behind a spin lock. Only searches
  that reach the graph lookup count. A search without an augmentation still
  counts, and the note waits for the next augmentation.
- Reset: Claude's managed PostToolUse entry now matches
  "Read|mcp__.*codebase-memory-mcp__.*", covering plain and plugin server
  names. The previous Read-only entry, as installs up to v0.12 wrote it, is
  recognized as owned, so install replaces it in place and uninstall removes
  either.
- Scope: Claude Code only. Codex sends the same event payload with a turn_id
  but has no reset hook, so its sessions are not tracked, and payloads without
  a session_id are not tracked either.
- Cost: a graph tool call now runs one hook round-trip to the daemon for the
  reset, about 130 ms on a local build.

Refs #509

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-27 19:04:47 +01:00
Martin Vogel 129443a0b7 Merge pull request #2801 from DeusData/feat/copilot-posttooluse-hook
feat(cli): give Copilot searches graph context through a PostToolUse hook
2026-10-27 19:04:13 +01:00
Divakant Pandey 86320afa97 fix(cli): emit string enums as Type.String({ enum }) in Pi adapter (#2787)
Signed-off-by: Divakant Pandey <divakant01@gmail.com>
2026-10-26 16:06:49 +05:30
Pcristin 81820258ee Merge branch 'main' into fix/issue-2265-unresolved-call-coverage 2026-10-26 08:35:59 +00:00
Martin Vogel f13a13326d Merge origin/main into fix/snapshot-coherence
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-10-26 02:35:57 +01:00