<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/grasp-audit/src/specs/nip01_smoke.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-11-05T20:25:38+00:00</updated>
<entry>
<title>restructure grasp01 audit tests and add event acceptance</title>
<updated>2025-11-05T20:25:38+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-05T20:13:22+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=396da002fefeeb4549e11ff51abf824e91a6ed88'/>
<id>urn:sha1:396da002fefeeb4549e11ff51abf824e91a6ed88</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor: abstract announcement event creation into AuditClient helper</title>
<updated>2025-11-05T12:50:03+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-05T12:50:03+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=64a86de9fc5ded51a1b5405223fc5dce16839fef'/>
<id>urn:sha1:64a86de9fc5ded51a1b5405223fc5dce16839fef</id>
<content type='text'>
- Add create_repo_announcement() method to AuditClient
- Remove duplicate code from nip01_smoke.rs
- Update grasp01_nostr_relay.rs to use centralized helper
- All tests passing (GRASP-01: 4/18, NIP-01: 6/6)
</content>
</entry>
<entry>
<title>refactor(smoke): abstract NIP-34 announcement creation for ngit-relay compatibility</title>
<updated>2025-11-05T12:31:21+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-05T12:31:21+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=6b78ed707a69e22e5fadd5bd0999c16a0931bbaa'/>
<id>urn:sha1:6b78ed707a69e22e5fadd5bd0999c16a0931bbaa</id>
<content type='text'>
- Add create_announcement_event() helper to create properly formatted
  NIP-34 repository announcements that are accepted by GRASP relays
- Update test_send_receive_event to use the helper (removes duplication)
- Update test_create_subscription to use NIP-34 announcements instead
  of kind 1 TextNote events

ngit-relay only accepts events that reference the relay in clone/relays
tags. Kind 1 messages don't have these tags, so they're rejected. Using
NIP-34 announcements ensures all smoke tests work against ngit-relay.
</content>
</entry>
<entry>
<title>fix: NIP-01 smoke test now sends NIP-34 repo announcement for GRASP compliance</title>
<updated>2025-11-05T07:42:36+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-05T07:42:36+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=64e607dd67f3777aa596596d74ee16e1bf9f4f27'/>
<id>urn:sha1:64e607dd67f3777aa596596d74ee16e1bf9f4f27</id>
<content type='text'>
- Modified test_send_receive_event to send kind 30617 (repo announcement)
- Added required tags: d, name, description, clone, relays
- Clone and relays tags now properly reference the GRASP server
- All 6 NIP-01 smoke tests now pass (100%)
</content>
</entry>
<entry>
<title>test: improve test script with unique names and random ports</title>
<updated>2025-11-05T07:17:47+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-05T07:09:41+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=cb466fbc02b83c5788def5fef73f93573f5c1f70'/>
<id>urn:sha1:cb466fbc02b83c5788def5fef73f93573f5c1f70</id>
<content type='text'>
- Remove python3 dependency for port selection
- Use RANDOM for port selection in range 20000-30000
- Use unique container names based on PID: grasp-audit-run-294183
- Use unique temp directories: grasp-audit-run-XXXXXXXXXX
- Ensures parallel test runs don't conflict
</content>
</entry>
<entry>
<title>test: add ngit-relay integration testing instructions</title>
<updated>2025-11-05T07:03:04+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-05T07:03:04+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=74c7b090a6ec7f749a3a79dcb0c9a0a6bc198702'/>
<id>urn:sha1:74c7b090a6ec7f749a3a79dcb0c9a0a6bc198702</id>
<content type='text'>
- Add RELAY_URL environment variable support to tests
- Document expected behavior when testing against ngit-relay
- Add test-ngit-relay.sh script for automated testing
- Clarify that ngit-relay only accepts Git events (NIP-34)
- Note that 4/6 NIP-01 smoke tests passing is expected
- Key validation tests (invalid signature/ID) pass correctly
- Add instructions for testing against general-purpose relays

The validation tests passing confirms ngit-relay implements NIP-01
correctly, even though it has restrictive acceptance policies.
</content>
</entry>
<entry>
<title>Fix audit system tag filtering and event validation</title>
<updated>2025-11-04T07:45:56+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-04T07:45:56+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=8190a3a1b4541e86692d5e1210f955fc8c8351a8'/>
<id>urn:sha1:8190a3a1b4541e86692d5e1210f955fc8c8351a8</id>
<content type='text'>
- Changed from multi-letter custom tags to single-letter tags (g, r, c)
  for compatibility with Nostr Filter API
- Added validation check in send_event() to detect relay rejections
  by checking output.success and output.failed
- Improved connection stability with retry loop
- Added debug output for troubleshooting query issues
- All tests now pass: 12/12 unit tests, 6/6 integration tests
- CLI verified working with Docker relay

Fixes issues discovered during Path 1 integration testing.
</content>
</entry>
<entry>
<title>Upgrade to nostr-sdk 0.43 (from 0.35)</title>
<updated>2025-11-04T07:04:03+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-04T07:04:03+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=5f053c46622ab21275d5ec881fd509cc0808cf8f'/>
<id>urn:sha1:5f053c46622ab21275d5ec881fd509cc0808cf8f</id>
<content type='text'>
Major upgrade of nostr-sdk dependency from 0.35 to 0.43 (8 minor versions).
All breaking API changes fixed, all tests passing.

Breaking Changes Fixed:
- EventBuilder::new() - Removed tags parameter, use .tags() method
- EventBuilder::to_event() → sign_with_keys() - Renamed signing method
- Client::new() - Takes ownership of keys (clone instead of reference)
- Relay::is_connected() - No longer async
- Client::get_events_of() → fetch_events() - Complete API redesign
- EventSource - Removed entirely
- Filter::custom_tag() - Takes single value instead of array
- Client::send_event() - Takes reference instead of ownership
- Multiple filters - Loop and combine instead of vec parameter
- Events type - New return type, convert with .into_iter().collect()

Files Modified:
- Cargo.toml: nostr-sdk = "0.43"
- src/audit.rs: EventBuilder API changes
- src/client.rs: Client, query, and filter API changes
- src/specs/nip01_smoke.rs: Event building changes

Documentation:
- NOSTR_SDK_0.43_UPGRADE.md: Comprehensive upgrade guide
- COMPILATION_FIXES.md: Marked as obsolete (0.35 fixes)
- SESSION_2025_11_04_SUMMARY.md: Session summary
- NEXT_SESSION_QUICKSTART.md: Updated status

Test Results:
✅ All 12 unit tests passing
✅ CLI builds successfully
✅ Examples build successfully
✅ Clean build with no warnings

Benefits:
- Latest stable nostr-sdk version
- Cleaner, more intuitive APIs
- Better performance (reference passing, sync operations)
- 8 versions of bug fixes and improvements
- Future compatibility
</content>
</entry>
<entry>
<title>created POC grasp-auditor</title>
<updated>2025-11-04T06:17:55+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-04T06:17:55+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=001ca45e385c05b0eaa36d9879e051853aaff107'/>
<id>urn:sha1:001ca45e385c05b0eaa36d9879e051853aaff107</id>
<content type='text'>
</content>
</entry>
</feed>
