From 020ecbb3798c2bb5a21577b844e340eb3a9c6721 Mon Sep 17 00:00:00 2001 From: dawn <90008@klbr.net> Date: Mon, 5 Oct 2026 23:55:19 +0300 Subject: [PATCH] [beads] close hydrant-5ja, hydrant-qoo, hydrant-jti, hydrant-aym, hydrant-96w --- .beads/interactions.jsonl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.beads/interactions.jsonl b/.beads/interactions.jsonl index 3e34f93..34a85ba 100644 --- a/.beads/interactions.jsonl +++ b/.beads/interactions.jsonl @@ -105,3 +105,9 @@ {"id":"int-c8391b2cba97c73d6fbfceb33fc984f6","kind":"field_change","created_at":"2026-09-30T06:55:28.287477Z","actor":"dawn","issue_id":"hydrant-642","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"done: process_did_sparse now runs against a mock pds serving built getRecord proofs (real AppState, repo metadata, filter). honest proof imports; a forged mst node (claims the signed tree's cid, maps the record elsewhere, carries that record's real body) is rejected with verify_cids and imported without it; a forged record body is rejected either way by put_record's rehash, which had no test before. mutants: parse_commit_car(proof.body, false) fails only the forged-node test; dropping put_record's cid check fails only the forged-body test. mock pds plumbing shared (spawn_car_server takes the xrpc method, public_client replaces three inline copies)."}} {"id":"int-7ccfc85975d69ca16f9d95bebcbda917","kind":"field_change","created_at":"2026-09-30T07:49:25.993075Z","actor":"dawn","issue_id":"hydrant-4xb","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"done: put_record takes &crate::car::CarBlock, whose bytes are reachable only through CarBlock::verify() -> VerifiedBlock. car blocks now come as car::Blocks (map + cids_checked), set only by a verifying parse; Blocks::extend ANDs the flag, Default (empty) is checked, and nothing else constructs one outside tests. with verify_cids on, verify() is free; off, it hashes like put_record used to. pfrazee.com full backfill (215,747 records), per-record storage check: m5 20 ms -> 1-2 ms, zen3 55 ms -> 3-5 ms; unchanged with verify_cids off. 6 soundness mutants in car.rs each fail tests; getBlocks fill of records missing from a sparse proof now tested; txn test restored as unchecked_block_with_a_forged_cid_is_rejected. repo_sync_integrity passes for atproto.com and pfrazee.com."}} {"id":"int-97b612e02e1aba03f89e2682db706a5d","kind":"field_change","created_at":"2026-09-30T10:55:51.409278Z","actor":"dawn","issue_id":"hydrant-pwu","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"done: benches/repo.rs covers compute_cid, parse_car/parse_commit_car (verify/trust), mst_leaves, sparse_scan, record_check and backfill_cpu on atproto.com / jay.bsky.team / pfrazee.com. gate: nu tests/bench.nu compare-ref builds both sides (ref in a worktree, own target dir) and runs each benchmark ref, tree, tree, ref (ABBA), judging the geometric mean of both comparisons at the low end of its 95% ci, default threshold 10%. evidence on the m5: identical code passes all 27 (max |change| 6.3%); verify-always-hashes mutant fails exactly the 6 verify benches (+26..+35% backfill_cpu, +7000..+31000% record_check), trust unchanged; an mst decode slowdown fails all 6 mst_leaves/sparse_scan benches (+13.8..+40.9%). found on the way: back-to-back runs of identical binaries differ 10-15% by order (hence ABBA), and env!(CARGO_MANIFEST_DIR) put the checkout path in the binary, shifting all code 8 bytes between checkouts and making parse_commit_car/trust 40% slower with no code change (fixed: sections now byte-identical)."}} +{"id":"int-4b2b44d347154fb6234e5429cc5fbccd","kind":"field_change","created_at":"2026-10-03T18:08:52.486963Z","actor":"dawn","issue_id":"hydrant-5ja","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"requestCrawl is routed in every mode now, with a router-level test"}} +{"id":"int-dfbe79a63408255f6faeaa452fcf1623","kind":"field_change","created_at":"2026-10-03T18:44:13.284193Z","actor":"dawn","issue_id":"hydrant-qoo","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"a PDS admitted via requestCrawl, or seeded from a relay already listed to the end once, gets one listRepos walk through the signal checker; queued with the source row, resumable, dropped on ban or removal"}} +{"id":"int-23d5c49f0e8952f97b833bd39c3bf83c","kind":"field_change","created_at":"2026-10-03T18:52:30.146109Z","actor":"dawn","issue_id":"hydrant-jti","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"Closed"}} +{"id":"int-d5de2aa41c3755dfaf3dc40910fa0ba2","kind":"field_change","created_at":"2026-10-05T10:45:54.50661Z","actor":"dawn","issue_id":"hydrant-aym","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"committed: getLatestCommit + getBlocks fallback when the probe has no proof, plus the commit did check"}} +{"id":"int-767ed42a4884d9efdc4adc064abb8458","kind":"field_change","created_at":"2026-10-05T10:46:07.089503Z","actor":"dawn","issue_id":"hydrant-96w","extra":{"field":"status","new_value":"in_progress","old_value":"open"}} +{"id":"int-c31fc7f3d150c1cbd50df53183c5acb8","kind":"field_change","created_at":"2026-10-05T13:05:27.520219Z","actor":"dawn","issue_id":"hydrant-96w","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"committed b5ec633: chunked CarStream + FilteredCar keeping commit, wanted records and nodes that can reach a wanted range"}} -- 2.51.2