<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/grasp-audit/src/specs/grasp01/event_acceptance_policy.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>2026-02-12T12:57:44+00:00</updated>
<entry>
<title>refactor(grasp-audit): split ValidRepo into Sent/Served, add tolerant purgatory</title>
<updated>2026-02-12T12:57:44+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-12T12:57:44+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=dcaaa0c44c46f963929ab0baa91f63759ec702dc'/>
<id>urn:sha1:dcaaa0c44c46f963929ab0baa91f63759ec702dc</id>
<content type='text'>
- Rename ValidRepo to ValidRepoSent (announcement sent, may be in purgatory)
- Add ValidRepoServed (announcement queryable after git data pushed)
- Add send_event_and_note_purgatory() for tolerant purgatory detection
- Update fixtures to use tolerant method instead of strict assertion
- Update event_acceptance_policy tests to use ValidRepoServed

This enables tests to pass regardless of purgatory implementation status
while still having explicit purgatory tests that verify the behavior.
</content>
</entry>
<entry>
<title>refactor(grasp-audit): introduce SpecRef enum for type-safe spec references</title>
<updated>2026-02-12T12:36:23+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-12T12:36:23+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=3fd6ce4149d567c67009b0332ca76c0cd6f51055'/>
<id>urn:sha1:3fd6ce4149d567c67009b0332ca76c0cd6f51055</id>
<content type='text'>
Replace string-based spec references with typed SpecRef enum for
compile-time validation and better IDE support. TestResult::new() now
accepts SpecRef enum plus a requirement description string for
test-specific context.
</content>
</entry>
<entry>
<title>refactor: replace hardcoded Kind constants with rust-nostr variants</title>
<updated>2026-01-08T11:23:28+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-08T11:20:35+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=5d02ad6b893f9059044914c115d77cf9d8e589c3'/>
<id>urn:sha1:5d02ad6b893f9059044914c115d77cf9d8e589c3</id>
<content type='text'>
- Replace KIND_REPOSITORY_ANNOUNCEMENT with Kind::GitRepoAnnouncement
- Replace KIND_REPOSITORY_STATE with Kind::RepoState
- Replace KIND_PR with Kind::GitPullRequest
- Replace KIND_PR_UPDATE with Kind::GitPullRequestUpdate
- Replace KIND_USER_GRASP_LIST with Kind::GitUserGraspList
- Replace KIND_PATCH with Kind::GitPatch
- Replace KIND_ISSUE with Kind::GitIssue
- Replace KIND_COMMENT with Kind::Comment
- Replace all Kind::Custom(30617|30618|1617|1618|1619|1621|1111|10317) patterns
- Remove all hardcoded KIND_* constants from events.rs
- Update all match statements to use Kind enum directly
- Update all filter builders to use Kind variants
- Update all test helpers and assertions

Benefits:
- Type safety: compiler prevents wrong kind numbers
- Readability: Kind::GitRepoAnnouncement is self-documenting
- Maintainability: single source of truth (rust-nostr)
- IDE support: full autocompletion and refactoring
- Standards: aligns with rust-nostr best practices

Files modified: 21
Constants removed: 9
Patterns replaced: 100+
Tests passing: 222/222
</content>
</entry>
<entry>
<title>test: remove test covered elsewhere</title>
<updated>2025-12-23T14:00:50+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-23T14:00:50+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=ea3f90d3952f0a1760dbb03ff4a706731534514c'/>
<id>urn:sha1:ea3f90d3952f0a1760dbb03ff4a706731534514c</id>
<content type='text'>
as new feature purgatory is going to complicate having this test here.
it will be better to have this covered in push authorisation
</content>
</entry>
<entry>
<title>chore: bump rust-nostr to latest master</title>
<updated>2025-12-22T21:02:03+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-22T21:02:03+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=1df90c609399c675e629b97294aee81a0b1e66dd'/>
<id>urn:sha1:1df90c609399c675e629b97294aee81a0b1e66dd</id>
<content type='text'>
so we can more easily support grasp purgatory feature
</content>
</entry>
<entry>
<title>feat: accept maintainer announcements without service listing</title>
<updated>2025-12-03T17:06:59+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-03T17:06:59+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=de683147779eaf57376a90e73bbdd123846a01e3'/>
<id>urn:sha1:de683147779eaf57376a90e73bbdd123846a01e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>audit: fix shared test_reject_repo_announcement_missing_relays_tag test</title>
<updated>2025-12-02T21:33:14+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-02T21:33:14+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=62a3855cb96616caf704a0f112fb2ade99fb8b45'/>
<id>urn:sha1:62a3855cb96616caf704a0f112fb2ade99fb8b45</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: rename AuditMode variants and change CLI default to shared</title>
<updated>2025-12-02T21:20:17+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-02T21:20:17+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=72683beea066d066637e747c40dc859fb709babf'/>
<id>urn:sha1:72683beea066d066637e747c40dc859fb709babf</id>
<content type='text'>
Breaking change: Renamed AuditMode enum variants for clarity:
- AuditMode::CI -&gt; AuditMode::Isolated (fresh fixtures per test)
- AuditMode::Production -&gt; AuditMode::Shared (reuse fixtures across tests)

Config constructors renamed (with deprecated aliases):
- AuditConfig::ci() -&gt; AuditConfig::isolated()
- AuditConfig::production() -&gt; AuditConfig::shared()

CLI default changed from 'ci' to 'shared' mode, which enables
fixture caching across tests. This fixes the issue where fixtures
were being re-created for every test in CLI mode.

Fixture caching behavior:
- Shared mode (CLI default): Uses client's cache, fixtures reused
- Isolated mode (for cargo test): Local cache per TestContext
</content>
</entry>
<entry>
<title>grasp-audit: show tests under GRASP-01 line</title>
<updated>2025-12-02T21:03:24+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-02T20:54:15+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=5c10ca008413744b09136618eaa85275c997704c'/>
<id>urn:sha1:5c10ca008413744b09136618eaa85275c997704c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix cargo clippy and fmt warnings</title>
<updated>2025-12-01T15:22:38+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-01T14:31:32+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=d2ac69816567f092fe0d4661723bc43778cb481b'/>
<id>urn:sha1:d2ac69816567f092fe0d4661723bc43778cb481b</id>
<content type='text'>
</content>
</entry>
</feed>
