Skip to content

[pull] main from DeusData:main - #140

Merged
pull[bot] merged 12 commits into
TKaxv-7S:mainfrom
DeusData:main
Sep 20, 2026
Merged

pull[bot] merged 12 commits into
TKaxv-7S:mainfrom
DeusData:main

Conversation

@pull

@pull pull Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

liuchong and others added 12 commits September 9, 2026 16:06
Indexing accepts whatever a repository contains. A tree carrying a vendored
monorepo, a generated dump, or a runaway build directory is discovered in
full, and the first sign of trouble is a host under memory pressure with
nothing that attributes it to indexing.

Add two opt-in limits evaluated during discovery against accepted source
files only: index_max_files and index_max_source_mb. Both default to off, so
nothing changes until an operator sets one. Crossing a limit fails the whole
attempt with a structured resource_limit_exceeded result naming the resource,
the observed value and the limit; no partial graph is published, and an
existing serving index keeps answering.

Limits are read from the CLI-managed _config.db and are not MCP request
arguments. A supervised parent replaces any caller-supplied policy before
spawning its worker, and the worker rejects a missing or incomplete contract,
so the CLI, the daemon and the supervised worker all enforce the same
decision.

Both keys reach an operator through the existing config get/set/list/reset
with no new subcommand. `set` suppresses its own generic message for them
because the policy writer names the precise reason -- so that writer speaks
on every failure it can return, including a validated value whose write then
fails on a database that cannot be written. Exiting non-zero in silence is
not an acceptable answer from a CLI.

The two shell regressions that hand-roll the supervisor's worker argv carry
that contract as well. Without it the worker exits before either guard can
observe anything, and the guard would go quietly vacuous.

Signed-off-by: 刘冲 <mail@liuchong.dev>
Signed-off-by: DavidHLP <144919470+DavidHLP@users.noreply.github.com>
Signed-off-by: DavidHLP <lysf15520112973@163.com>
Signed-off-by: DavidHLP <lysf15520112973@163.com>
The XML documents that make up a .NET repository project system were
absent from EXT_TABLE, so .csproj, .props, .targets, .resx, .plist,
.xaml and the app manifests were never indexed and their content was
unreachable through search_code. tree_sitter_xml is already wired up,
so these only needed rows in the table.

Fixes #2229

Signed-off-by: yasmoradi <msynk.dev@gmail.com>
#1787 landed correct production code and a test that cannot pass on today's
main. The test is the only thing wrong, and only in how it asks.

check_index_coverage answers in the compact table by default, where a field
name never appears:

    main.go main.go coverage_unavailable metadata_match read_source_and_reindex []

The test asserts on the JSON field spelling:

    strstr(response, "\"freshness\":\"metadata_match\"")

Both halves are right; they were simply written against different response
formats. The branch was cut on 2026-09-02, before that default changed, and
was never rebased -- its CI green is from a main that no longer exists. The
neighbouring coverage tests already pass "format":"json" for exactly this
reason; this one predates them.

So the request gains format=json and the assertions are untouched. Asserting
the field rather than a bare strstr for "metadata_match" is what keeps the
check exact: the value also appears in the table's recommended_action column
and would be matched by any other path's row.

Verified: build/c/test-runner mcp -> 318 passed, 0 failed, 4 skipped. Before
this change the same suite reported 317 passed, 1 failed on identical
production code.

What this is NOT: a production defect. coverage_path_freshness on main uses
cbm_path_info_utf8, exactly as #1787 intended, and the Windows second-vs-
nanosecond truncation it fixes is gone. I checked that by reading origin/main
rather than the local checkout, which was stale at 59a05eb and still carried
the old helper -- that misreading briefly convinced me the merge had dropped
the fix, and it had not.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
test(mcp): ask for JSON where the coverage test asserts a JSON field
fix(cli): handle trusted Linux system aliases during install activation
fix(discover): map MSBuild, resx, XAML and app-manifest files to XML
feat(index): add opt-in discovery resource limits
@pull pull Bot locked and limited conversation to collaborators Sep 20, 2026
@pull pull Bot added the ⤵️ pull label Sep 20, 2026
@pull
pull Bot merged commit 92abefa into TKaxv-7S:main Sep 20, 2026

This branch had an error being deployed

1 failed deployment
github-pages — 92abefa3 Deployed Sep 20, 2026 by pull[bot] via deploy #17
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants