v0.41.50: module evidence for qualified references, one argument contract, one extraction census #574
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!574
Loading…
Reference in a new issue
No description provided.
Delete branch "integration-1111"
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.50. Seven lanes, each reviewed from its diff and re-run by the lead, integrated on
integration-1111.What changes for a user
invalid_argument_valuereplaces ten older codes; the four malformed-argument codes share one field set. Every other error body is unchanged and nineteen are compared with bodies recorded from the last release. Reference:docs/mcp-arguments.md, checked against the schema both ways.project_overview,resolution_gaps,index_coverage,list_filesandevidence_gaps; host refusals are counted; non-UTF-8 source files are recorded ascontent_refused.read_codewithrevfor a path whose directory is gone (#568);application/jsonon every JSON resource (#569);code-index queryon an invalid configuration prints the refusal and exits 1;search_texton a permanently excluded literal path says so (#521); installer check reports acode-indexelsewhere onPATH, and the release notes' build line names the run's tag (#572).Behaviour changes to call out
invalid_max_depth,invalid_token_budget,invalid_direction,invalid_role_filter,invalid_ref_kind,invalid_resolution,invalid_response_format,empty_seeds,too_many_seedsorinvalid_argumentsneedinvalid_argument_value.code-index querywith an invalid.code-index.toml: exit 1 with a JSON refusal (was exit 2, no output).Evidence
reachability_anchorcannot disambiguate a pool.tools/list59,167 bytes (ceiling 59,311), skill resource 3,949 tokens (ceiling 4,000); no ceiling was raised.Qualification
One full gate run on
05ea92f9(empty package store), 43 steps: 40 green at once, three red, each attributed, fixed in its own commit and its step re-run green.agent_bench713b1423) emptiedchange_impact'stest_role_filesatlimit: 0; the benchmark's which-tests questions use that call. Recall 1.000 → 0.974 (rust-ripgrep), 0.970 (python-flask).3339b685restores the release behaviour and keepswitness_paths_total. Mutation run red, restored green. Recall 38/38 and 33/33.tier37db6ebbebless with the account as reason; green without the bless flag.pkg_javascript_fullunbound-by-scope42, measured 41 on js-express. One site left the set:test/app.request.js:12:19, a write the builtin bound to an unrelated local; the host now refuses it, the package never bound it. Other three declared counts unchanged.f4d07dbbdeclares 41. The file is a test declaration, not in the package or its digest. Full JavaScript leg green.After the fixes:
code-index-mcpsuite 1,082 passed on each leg (snapshot and daemon), fast gates 519 passed, fmt, clippy and docs exit 0. The whole workspace was not re-run after the three commits; they touch one MCP source file, one MCP test, one test declaration and one record.CI round 1 (
f4d07dbb): Windows 3 failed of 5,404, Linux 1 failed of 5,632mcp_smoke::revision_read_survives_removed_parent(Windows)/outside-every-root/lib.rs, which is not absolute on Windows; the product'spath_outside_rootthere is correct.b4f7b0b4: the path comes from a second temp directory.store_repair_e2e::a_running_daemon_stops_serving_a_publisher_whose_key_was_withdrawn(Windows)ProjectExtractors::claimsre-acquired the slot read lock it held; with an activation writer queued in between,path_claimsnever returns. That it caused this run's failure is a hypothesis (128 s fits the 120 s RPC timeout).0a658f8d:claimsanswers from one snapshot; Linux test fails without it; the e2e now fails on the first RPC error and prints the daemon's exit record and log tail.argument_reference_e2e::frozen_legacy_acceptance_matches_the_installed_baseline(Windows)whole_wordliteral, server alive and silent for 30 s. Stack samples on Linux with longer literals put the time in SQLite'sfts5ParseTokenize, which reallocates the phrase every eight tokens; the Windows allocator copies the block each time. Pre-existing in the product (#575). My round-1 attribution to the regex compile was wrong; that change is reverted (f1cfa9db).b28850b0: the case uses the shortest literal the regex engine refuses (40,000 xι, limit 31,208), same refusal body as the installed release, a tenth of the FTS tokens.4ef10253: the replay names the case and prints server stderr on a stall.query_cli::two_one_shot_queries_at_once_start_one_daemon(Linux)readyand answeredsymbol_not_foundover a reconciling index.ff266d0a: that snapshot staysreconciling, so the existing handoff qualifies the answer.After these:
code-index-cli,code-index-daemonandcode-index-mcpsuites green on both legs locally, fmt, clippy (host andx86_64-pc-windows-gnu) exit 0. CI round 2 (ff266d0a): Windows 5,406 of 5,407 (only the replay above); the store-repair and path tests pass. CI round 3 (f1cfa9db, the final head): all four workflows green; Linux 5,634 passed, Windows 5,406 passed. Windows behaviour is verified by CI only.Not in this train
limiton the diff tools, the registry for configuration keys, environment variables and CLI flags.search_textliteral (found in CI round 2, pre-existing).🤖 Generated with Claude Code
https://claude.ai/code/session_014XLNPtTbPwnHBYfKMb3f1W
a7ce9603481ddbe9aaOne site left the set: test/app.request.js:12:19, `querystring` in `app.request.querystring = function () { … }`. The builtin bound that write to an unrelated local in lib/request.js (tier1q_pass1); the host now refuses a foreign qualified bind at a script write (#566), so both sides leave it unbound and the scope verdict has nothing to refuse. The package side is unchanged (its account row was unbound before and after). scope-verdict 3425, declared-local 1392 and rebound-by-local 70 are measured unchanged. The file is a test declaration and is not part of the packed package or its digest. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014XLNPtTbPwnHBYfKMb3f1W