Release Notes
Internal code-health release: cleared 8 of the 16 genuine-duplication
items from the §11 backlog of docs/specs/duplication_quality_gate.md,
and shipped a fifth quality gate (cargo-dupes 0.2.1) that blocks new
duplicate code at PR time. No public-API or behaviour change; existing
indexes remain valid.
- Refactor(parser): Extracted shared helpers that collapse 8 pairs of
near-identical functions into single implementations.parser/utils.rs
gainedconvert_call_intents_to_reference_intents,
collect_recursive_call_intents,find_node_value_recursive;
extractor/captures.rsgainedpromote_captured_entity;gradle.rs
gainedextract_gradle_property(key);utils/mod.rsgained
setup_logging_subscriberandformat_output_with_handlers;
calls.rslookup_fqn_by_fqnnow delegates tolookup_fqn. Affected
call-sites: Java, Kotlin, C++, TypeScript, JavaScript, Gradle,
CSS/SCSS/HTML captures, ingest FQN lookup, CLI output formatting. - Feat(quality): Added
cargo-dupesduplication quality gate.
dupes.tomldefines a ratcheted baseline (max_exact_duplicates = 8,
max_near_duplicates = 9,min_lines = 10,exclude = tests/ + benches/ + tests.rs) so the gate is green on the current tree and may
only ever be lowered..dupes-ignore.tomldocuments 5 known false
positives (3 Cypher query builders indb/graph/query.rs, 2
rust-mcp-sdkTool::toolschema declarations).Makefileadds
make check(fmt + clippy + test + dupes) andmake dupes-cleanup
targets..github/workflows/ci.ymland.github/workflows/release.yml
cache, install, runcargo dupes check, and surface stale ignores via
cargo dupes cleanup --dry-runinside the existingtest-unitjob. - Docs: Added
docs/specs/duplication_quality_gate.md(full design
spec, measured curves, Phase 2 backlog);AGENTS.mddocuments the gate
and the duplicate-suppression policy next to the#[expect(..., reason)]
rule;CONTRIBUTING.mdadds the gate to the contributor checklist and
the install one-liner to prerequisites;README.mddocuments the gate
in the development section.
Install knot 1.9.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/raultov/knot/releases/download/v1.9.1/knot-installer.sh | shDownload knot 1.9.1
| File | Platform | Checksum |
|---|---|---|
| knot-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| knot-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |