v0.41.51: bounded text arguments, truthful path and startup answers, review grading by effective visibility #580
No reviewers
Labels
No labels
code-review
correctness
dos
performance
security
severity/high
severity/low
severity/medium
tech-debt
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
h-dv/code-index!580
Loading…
Reference in a new issue
No description provided.
Delete branch "integration-1112"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Release train for v0.41.51. Four lanes, each reviewed from its diff and re-run by the lead, integrated on
integration-1112.What changes for a user
invalid_argument_valuebefore any work. This removes the quadratic FTS5 cost of a very longsearch_textliteral. A measured inventory of every text argument up to 1,048,576 characters found no other superlinear path.internal_errorfrom caller text. The name-token fallback ofsearch_symbolsconsiders at most 512 tokens and discloses the rest; longpath_glob/langvalues and unrepresentable paths get structured answers. A test walks every string argument of the published tool list at the limit (113 arguments, 464 calls, no skips).read_codeon a missing file in a missing directory answersfile_not_readable(waspath_outside_root). Containment is decided on the deepest existing ancestor after symlink resolution;..and absolute components are refused lexically before that.summary.changed_filesunderpath_globcounts the matched files, so the paging invariant holds with and without a filter.index_coverageand three other replies advise a retry while the index is starting; restart advice remains for a degraded index.docs/configuration.md(every.code-index.tomlkey and every environment variable the release binaries read, with a two-way key test); 32 false statements corrected inREADME.md,CONTRIBUTING.mdanddocs/.Behaviour changes to call out
whole_word_needle_unsupportedcan no longer be reached through MCP.review_diffwithpath_glob:summary.changed_filesis the matched-file count.visibilityinchanged_symbols/review_diffis the effective visibility.read_codeon a dangling symbolic link answerspath_outside_root(the last release answeredfile_not_readablefor a dangling last component).Lead review
visibilityto the member's own value; restored to the effective value the release reports for locals and destructors, extended to the new rule (d507b67b, mutation run red).../absolute/prefix components precedes the ancestor walk, an existing leaf is fully canonicalized, and the symlink cases have tests with a lexical-only mutation.#[test]graded as untested production) was investigated and is not fixable in the host: packages do not emit attributes. Left open with the analysis.Qualification
One full gate run on the integrated tree (
5d31f4d9, 44 steps, 15:33–18:27): formatting, fast gates, clippy for the host and forx86_64-pc-windows-gnu, rustdoc with warnings denied, the workspace suite and its timing profile, doctests, the MCP suite on the daemon leg and its timing profile,precision_gate(7/7, populations printed), the corpus suites as CI runs them, the eleven package legs, scale and tier-3 corpus, the packages-only and shipped-shape acceptance runs, and the nightly-only cost and benchmark steps.tests/corpus/*.json,tests/bench/ratchet.jsonand the package parity files are unchanged.every_wall_clock_bound_runs_alone(fast gates and workspace): the new length-refusal test asserts a wall-clock bound and was missing from the nextest timing profile (8c2c374b). Re-run: the registry test passes, the default profile lists 15 fewer MCP tests, and the test passes under the timing profile on both legs.no_resolved_edge_crosses_an_undeclared_crate_boundary(workspace): the new configuration reference test used a type parameterV, andV::Valuewas bound to a function-localstruct Vincrates/mcp-server/src/server.rs. This is a resolver defect the last release already has, filed as #579. The test's type parameter is renamed (5c2c347a); the resolver is unchanged. Re-run: the layering test passes.safe_resolve: it skipped any componentcanonicalizereported as missing or unrepresentable, which includes a dangling link and a link chain that musl or macOSrealpathrefuses to expand while the kernel follows it. It now skips only components thatsymlink_metadataproves absent (fb6f6026). Not reproducible with this machine's glibc; fixed because the release ships a musl build. Tests: 4 unit and 152 e2e on each leg, clippy for both targets, mutation red on the unit test and onworking_tree_symlink_escapes_stay_private.Not in this train
🤖 Generated with Claude Code
https://claude.ai/code/session_014XLNPtTbPwnHBYfKMb3f1W