From d92739e7c862b12fc84691d7d744ddbc920a7d5b Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 5 Nov 2026 00:10:49 +0000 Subject: [PATCH 1/2] fix(idris-dependents): give ready_mock() the responses field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ready_mock()` in tests/scan_tests.rs predates the `responses` field on `Mock`, so the test crate failed to compile (E0063) and the `build · test · clippy (idris-dependents)` job has been red on main since #628, and on every PR since. The field is initialised empty, as the other two Mock literals in the file already do. All idris-dependents tests pass; clippy -D warnings and fmt are clean. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B --- idris-dependents/tests/scan_tests.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/idris-dependents/tests/scan_tests.rs b/idris-dependents/tests/scan_tests.rs index 81958f19..12b3fe60 100644 --- a/idris-dependents/tests/scan_tests.rs +++ b/idris-dependents/tests/scan_tests.rs @@ -352,6 +352,7 @@ fn ready_mock() -> Mock { Mock { searches: BTreeMap::new(), contents: BTreeMap::new(), + responses: BTreeMap::new(), limited_once: true, logs: vec![], gets: 0, From 49e4d560467c55b790b01c101838124fab20001d Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 5 Nov 2026 00:11:45 +0000 Subject: [PATCH 2/2] test(idris-dependents): align edge tests with the documented skip contract With scan_tests compiling again, two tests in scan_edge_tests.rs fail. (The previous commit said all tests pass; that was wrong: those two were cut from the output I checked.) Both encode behaviour from before raw files returning HTTP 404/410/451 became skipped URLs, which the README, the `get_file` doc comment and scan_tests' `unavailable_files_are_logged_reported_and_skipped_in_both_raw_fetch_paths` all specify: - raw_content_fetches_retry_rate_limits_and_propagate_hard_failures expected a raw 404 to fail the run. A 404 is now skipped, so the hard failure case uses HTTP 500, which still propagates. The 404 skip stays covered by scan_tests. - report_json_keeps_public_field_names_and_confidence_spelling now includes the public `skippedUrls` field. All 79 idris-dependents tests across every test binary pass; clippy -D warnings and fmt are clean. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B --- idris-dependents/tests/scan_edge_tests.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/idris-dependents/tests/scan_edge_tests.rs b/idris-dependents/tests/scan_edge_tests.rs index 587bbc37..9f2d68c3 100644 --- a/idris-dependents/tests/scan_edge_tests.rs +++ b/idris-dependents/tests/scan_edge_tests.rs @@ -387,9 +387,9 @@ fn raw_content_fetches_retry_rate_limits_and_propagate_hard_failures() { false, vec![item("alice/app", "a.ipkg", "contents/a")], ); - io.respond("contents/a", true, Ok(response(404, &[], ""))); + io.respond("contents/a", true, Ok(response(500, &[], ""))); let error = run(&options(), &mut io).unwrap_err().to_string(); - assert!(error.contains("HTTP 404 for contents/a"), "{error}"); + assert!(error.contains("HTTP 500 for contents/a"), "{error}"); io.done(); } @@ -440,6 +440,7 @@ fn report_json_keeps_public_field_names_and_confidence_spelling() { "confidence": "MEDIUM", }], "incompleteQueries": [], + "skippedUrls": [], }) ); io.done();