Skip to content

Fix the Rust map, wiki checks, tests, and CI from the 3 Nov review - #5

Merged
IronAdamant merged 8 commits into
mainfrom
cursor/fix-wikifier-review-findings-097c
Nov 3, 2026
Merged

IronAdamant merged 8 commits into
mainfrom
cursor/fix-wikifier-review-findings-097c

Conversation

@IronAdamant

Copy link
Copy Markdown
Owner

The 3 Nov review's wikifier findings are fixed at the cause, after checking each one in this tree.

Rust imports

resolve_rust only kept mod and crate::, so use wikifier::... from src/main.rs and tests/*.rs never became an edge. The resolver now reads the root Cargo.toml package name and lib name (hyphens become underscores), and it resolves crate::, self::, and super:: from the file. crate:: stays inside that file's crate (tests/*.rs and src/bin/*.rs included). The package or lib name points at the library. Path expressions with the same shape count too.

A Cargo-layout fixture (src/lib.rs, src/main.rs, src/bin/, tests/) is part of accuracy_fixtures_match_frozen_edges. A dogfood test copies this repo, runs update_maps, and checks prepare_edit on src/api.rs. The dependents are src/lib.rs, src/mcp.rs, src/main.rs, tests/cli_surface.rs, tests/contract_gaps.rs, tests/protocol_v07.rs, tests/robustness.rs, and tests/skip_maps.rs.

README benchmark

The "Does it pay off?" section cited scripts/benchmark_lookup.py and numbers from the Python package. That script is not in this repo, so the section is gone. The performance table that remains already says those numbers are from the Python package.

Rust Green

mark-green now checks top-level Rust pub items: fn, struct, enum, trait, mod, type, const, static, and pub use names. pub(crate) and items inside impl are not in that set. A Rust file can be verified. Go, C/C++, C#, and Java stay unchecked. On this repo, verify-wikis checked 29 Green wikis with 0 failures. health --summary reports 16 verified, 9 unchecked, 0 red.

Behaviour tests

tests/behaviour_gaps.rs covers:

  • WIKIFIER_MCP_DEADLINE_S: a health call finishes, a blocking monitor call returns DeadlineExceeded with timed_out and may_still_complete, and 0 still waits at least one second.
  • WIKIFIER_CHECK_CHANGES_MAX: a cap of 1 sets truncated and names the variable. A larger cap and a non-numeric value do not.
  • sqlite import: a corrupt file warns sqlite_present_unread. When the sqlite3 CLI is on PATH, an empty cache imports files and edges with hash sha256:legacy, and a filled cache is left alone.
  • actionable_low_conf_edges: a conditional import is included at confidence 0.55 (conditional_guard). A dynamic import_module is not.

CI

.github/workflows/ci.yml and publish.yml pin dtolnay/rust-toolchain@1.83.0. Ubuntu, macOS, and Windows all run cargo test --locked. The Windows job is required. The sqlite import assertions run where sqlite3 is installed; the unread warning runs everywhere, so a Windows image without the CLI still exercises that path.

Tidy

Deleted tests/test_gap_closure.py.wiki.md. Cleared the clippy warnings (cargo clippy --all-targets -- -D warnings is clean), including the unused import in tests/parity.rs. Moved MODULARIZATION_PLAN.md and SIMPLIFICATION_PLAN_AND_LOG.md to Findings/archive/. Refreshed library.md (74 edges, map_complete true).

Measured here

  • cargo build: success
  • cargo test --locked: 47 passed, 0 failed, 0 ignored
  • cargo clippy --all-targets -- -D warnings: success
  • CI steps run locally: cargo test --locked, the empty-dependency awk check, and cargo run --quiet -- --version (wikifier 4.7.0)
  • verify-wikis: 29 checked, 0 failed
  • Windows and macOS GitHub runners were not executed on this machine
Open in Web Open in Cursor 

cursoragent and others added 8 commits November 3, 2026 05:23
use wikifier::... from src/main.rs and tests/*.rs was dropped because
resolve_rust only kept mod and crate::. Read the root Cargo.toml package
and lib names, resolve self:: and super:: from the file, and keep crate::
inside that file's crate. A Cargo-layout fixture and a prepare-edit
dogfood check on this repo's src/api.rs lock the dependent set.

Co-authored-by: Aron Amos <IronAdamant@users.noreply.github.com>
Co-authored-by: Aron Amos <IronAdamant@users.noreply.github.com>
The section cited scripts/benchmark_lookup.py and numbers from the
Python package. That script is not in this repo, so the figures cannot
be reproduced. The performance table that remains already says it
measured the Python package.

Co-authored-by: Aron Amos <IronAdamant@users.noreply.github.com>
mark-green now extracts pub fn, struct, enum, trait, mod, type, const,
static, and pub use names. pub(crate) and impl methods stay out of the
check, so a Rust file can be verified Green. Go, C, C#, and Java stay
unchecked. Char escapes such as '\u{1e}' no longer confuse the scan.

Co-authored-by: Aron Amos <IronAdamant@users.noreply.github.com>
…ce edges.

WIKIFIER_MCP_DEADLINE_S stops a blocking monitor call and still finishes
health. A cap of 1 truncates check-changes and names the env var. An
empty cache imports import_cache.sqlite, a filled cache does not, and a
corrupt sqlite file warns sqlite_present_unread. Conditional edges are
actionable; dynamic edges are not.

Co-authored-by: Aron Amos <IronAdamant@users.noreply.github.com>
Co-authored-by: Aron Amos <IronAdamant@users.noreply.github.com>
CI and the release workflow use dtolnay/rust-toolchain@1.83.0 instead
of @stable. Ubuntu, macOS, and Windows all run cargo test --locked,
and a Windows failure fails the workflow. The sqlite import assertions
still run wherever the sqlite3 CLI is installed; the unread warning
runs on every platform.

Co-authored-by: Aron Amos <IronAdamant@users.noreply.github.com>
Drop the dead list-paths loop and the clippy findings in the library
and the binary. Move the two Python-era plans to Findings/archive and
delete the wiki for the removed Python test. Refresh the dependency
map and mark the touched Rust wikis verified.

Co-authored-by: Aron Amos <IronAdamant@users.noreply.github.com>
@IronAdamant
IronAdamant merged commit 5239319 into main Nov 3, 2026
6 checks passed
@IronAdamant
IronAdamant deleted the cursor/fix-wikifier-review-findings-097c branch November 3, 2026 05:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants