You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(fetch_artifacts): surface not-found identifiers instead of dropping them
_build_artifacts_xml skipped artifacts with no content (`if content is None:
continue`), so when the backend could not resolve some requested identifiers
the tool returned only the found ones with no signal — the agent never noticed
the gap and answered without the missing article.
Now collect the misses (graceful degradation: prefer the backend `found` flag,
fall back to `content is None`) plus a backstop over the requested identifiers
the backend never echoed, and emit a `<not_found count=N>` block listing each
concrete identifier with a hint telling the agent to re-check those exact ids
and retry fetch for the problematic ones. Found-but-empty renders as a normal
artifact. XML attributes (identifier, summary, data_source) are now escaped to
neutralize injection via attacker-influenced values.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ Once connected, you'll have access to these powerful tools:
28
28
1.**`get_data_sources`** - List your indexed repositories and workspaces
29
29
2.**`semantic_search`** - Canonical semantic search across indexed artifacts
30
30
3.**`grep_search`** - Exact literal or regex text search inside file content, plus literal file-name/path matching (returns files like `Form.xml` even when their content never mentions the name), with line-level previews for content matches
31
-
4.**`fetch_artifacts`** - Load the full source for relevant search hits
31
+
4.**`fetch_artifacts`** - Load the full source for relevant search hits (missing or inaccessible identifiers are reported back in a `<not_found>` block, not silently dropped)
32
32
5.**`get_artifact_relationships`** - Expand call graph, inheritance, and reference relationships for one artifact
33
33
6.**`chat`** - Slower synthesized codebase Q&A, typically only after search
34
34
7.**`codebase_search`** - Deprecated legacy semantic search alias kept for backward compatibility
0 commit comments