Tool · OpenHands · OpenHands
glob
What matters here1 of 3 invariants hold · 2 unverified
- Announces truncationinvariantholdssrcall 18 hold
- Gitignorevaries by backend: yes under ripgrep, no under the Python fallbacksrconly one of 18
The facts the registry marks decision-changing, with how the other implementations answered. An invariant may be shown as pass/fail; a design choice never is, however unusual it looks.
How this differs from most implementations
- Glob syntaxripgrep -g, or Python glob with an implicit **/vs ripgrep --glob in 4 of 7
- Searches hidden filesnovs yes in 7 of 13
Derived by comparing every recorded value against the other implementations of the same capability. Differing is not a defect unless the row is marked an invariant.
Description, as the model sees it
Not recorded yet — the verbatim description has not been captured for this tool.
Registered schema
Not recorded yet — the schema as registered has not been captured for this tool.
Observed · Code search
compare all →| Fact | This tool | Across all implementations |
|---|---|---|
| Shape | 3 of 3 recorded | |
| What it searches | by-namesrc | like 9 of 20by-content ×9 · both ×1 +1 |
| Tools per harness | two toolssrc | like 18 of 20no search tool ×1 · one tool ×1 |
| Search engine | ripgrep --files, else Python globsrc | only one of 19bundled ripgrep ×6 · ripgrep ×2 +101 unverified |
| Query language | 1 of 2 recorded | |
| Glob syntax | ripgrep -g, or Python glob with an implicit **/src The fallback rewrites a pattern without ** to **/<pattern> so it recurses the way ripgrep's -g does. | only one of 8ripgrep --glob ×4 · fd --glob ×1 +22 unverified |
| Case sensitivity | ? | 6 others recordedsensitive, model can ask ×3 · always insensitive, not configurable ×2 +113 unverified |
| Result shape | 3 of 3 recorded | |
| Result cap | 100 filessrc | like 4 of 20100 matches ×3 · 100 matches or 30KB ×2 +10 |
| Announces truncationinvariant | holdssrc "[Results truncated to first 100 files. Consider using a more specific pattern.]" | all 18 hold1 unverified |
| How "no matches" reads | sentencesrc "No files found matching pattern the pattern and directory named". | like 16 of 17empty stdout ×13 unverified |
| Scope | 2 of 2 recorded | |
| Respects .gitignore | varies by backend: yes under ripgrep, no under the Python fallbacksrc | only one of 18yes ×8 · no, deliberately ×2 +52 unverified |
| Ordering | 1 of 1 recorded | |
| Result ordering | modification time, newest firstsrc --sortr=modified; the fallback sorts by getmtime. | like 5 of 16ripgrep traversal order ×5 · bounded discovery order; newest-first on request ×1 +54 unverified |