<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/tests/sync/bootstrap.rs, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/atom?h=master</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/'/>
<updated>2025-12-18T16:58:58+00:00</updated>
<entry>
<title>refactor: rename bootstrap.rs to historic_sync.rs for clarity</title>
<updated>2025-12-18T16:58:58+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-18T16:58:58+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=c93ffaf30ae43cdaf1cf59684318970beca65979'/>
<id>urn:sha1:c93ffaf30ae43cdaf1cf59684318970beca65979</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sync: turn off negentropy and fix some tests</title>
<updated>2025-12-18T16:46:53+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-18T16:46:53+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=6ad7136027c56c3a523278d90ade3da018e39273'/>
<id>urn:sha1:6ad7136027c56c3a523278d90ade3da018e39273</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: resolve all fmt and clippy warnings</title>
<updated>2025-12-11T16:53:03+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-11T16:53:03+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=2a9160836bb87fdea3ae891563b0169c68d1c2ab'/>
<id>urn:sha1:2a9160836bb87fdea3ae891563b0169c68d1c2ab</id>
<content type='text'>
Main lib (src/):
- Add #[allow(dead_code)] for build_info field (stored to prevent Prometheus unregistration)
- Add #[allow(dead_code)] for first_seen field (reserved for future rate limiting)
- Replace .or_insert_with(RelaySyncNeeds::default) with .or_default()
- Replace manual div_ceil implementations with .div_ceil(100)

Test code (tests/):
- Replace .expect(&amp;format!(...)) with .unwrap_or_else(|_| panic!(...))
- Remove needless borrows in fetch_metrics() calls
- Add #[allow(dead_code)] and #[allow(unused_imports)] to test helpers module

grasp-audit:
- Apply cargo fmt to fix formatting
</content>
</entry>
<entry>
<title>sync: test sync works without negentropy and add disable option in sync</title>
<updated>2025-12-11T16:46:01+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-11T16:45:34+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=52489d3b1a7d79e164b4cc901b53fd06c05ce1b1'/>
<id>urn:sha1:52489d3b1a7d79e164b4cc901b53fd06c05ce1b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test(sync): add wait_for_sync_connection helper for improved reliability</title>
<updated>2025-12-10T17:11:52+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-10T17:11:52+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=b6c908599c1e63852b8d3b4b20caae344e37a34a'/>
<id>urn:sha1:b6c908599c1e63852b8d3b4b20caae344e37a34a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test(sync): add rejection test for announcements without clone tags</title>
<updated>2025-12-10T17:03:29+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-10T17:03:29+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=6c6d677f35756445ccc7a1ce06d231e567254f58'/>
<id>urn:sha1:6c6d677f35756445ccc7a1ce06d231e567254f58</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(tests): extract shared create_repo_announcement helper</title>
<updated>2025-12-10T16:59:09+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-10T16:59:09+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=cbed48d5a20b646a5bcc23e907d6163a3a8d36c5'/>
<id>urn:sha1:cbed48d5a20b646a5bcc23e907d6163a3a8d36c5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Phase 5: Migrate bootstrap and discovery tests</title>
<updated>2025-12-10T16:13:51+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-10T16:13:51+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=d08878d0b9a8738e57e457a916677d2061775cbd'/>
<id>urn:sha1:d08878d0b9a8738e57e457a916677d2061775cbd</id>
<content type='text'>
Create organized test structure for proactive sync:

tests/common/sync_helpers.rs (from Phase 4):
- TestClient with retry logic for connect/send
- Event builders: build_layer2_issue_event, build_layer3_comment_event
- Tag variants (a/A/q for Layer 2, e/E/q for Layer 3)
- wait_for_event_on_relay() assertion helper
- repo_coord() utility function
- Unit tests for all builders

tests/sync/mod.rs:
- Module organization for sync tests
- Documentation of test categories

tests/sync.rs:
- Main test harness including common and sync modules

tests/sync/bootstrap.rs:
- test_bootstrap_syncs_existing_layer2_events (Test 1)
- test_relay_replays_events_after_restart (Test 4)

tests/sync/discovery.rs:
- test_discovers_layer3_via_layer2 (Test 2)
- test_layer2_discovery_with_chain (Test 3 - simplified)

All 14 tests pass: cargo test --test sync
</content>
</entry>
</feed>
