<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/docs/archive, 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-24T08:58:23+00:00</updated>
<entry>
<title>fix migration scripts for non-interactive SSH and bash 5.3</title>
<updated>2026-02-24T08:58:23+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-24T08:58:23+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=f62846b2966e0a3ffc93e718bbe44137d01c66b3'/>
<id>urn:sha1:f62846b2966e0a3ffc93e718bbe44137d01c66b3</id>
<content type='text'>
01-fetch-events.sh: nak buffers output when stdout is not a TTY, causing
it to hang silently in non-interactive SSH sessions. Wrap with 'script'
to provide a pseudo-TTY, then strip the injected carriage returns and
connection banner line from the output.

40-classify-actions.sh: bash 5.3 treats ${#assoc[@]} and array iteration
as unbound variable errors under set -u when arrays are empty. Replace
${#assoc[@]} with explicit counters and guard array iterations with
set +u/set -u.
</content>
</entry>
<entry>
<title>Merge relay.ngit.dev migration: bug fixes and migration tooling</title>
<updated>2026-02-03T15:18:23+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-03T14:50:22+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=874a8abe1d076cfafd9baf919ec23d7d58200698'/>
<id>urn:sha1:874a8abe1d076cfafd9baf919ec23d7d58200698</id>
<content type='text'>
This merge includes critical bug fixes and comprehensive migration tooling
developed during the relay.ngit.dev migration effort.

Bug Fixes:
- Fix git protocol error handling to return HTTP 200 with ERR pkt-line
- Fix naughty list false positives and DNS failure identification
- Fix database query filters in load_existing_events (remove .since())
- Fix OID fetch tracking to distinguish 0 OIDs from successful fetches
- Fix purgatory event source tracking for filtered expiry logging
- Implement OID retry logic for 'not our ref' errors

Migration Tools &amp; Documentation:
- Complete 5-phase migration analysis pipeline with orchestration script
- Phase 1: Event fetching from source relay
- Phase 2: Git sync verification
- Phase 3: Categorization and relay comparison
- Phase 4: Log extraction (parse failures, purgatory expiry)
- Phase 5: Action classification for migration decisions
- Comprehensive migration guide with lessons learned
- Troubleshooting guide for permission and corruption issues

Configuration:
- Add NGIT_LOG_LEVEL configuration option
- Update git throttle limits to 60/minute
- Improve logging throughout for better observability
</content>
</entry>
<entry>
<title>docs: archive relay.ngit.dev migration materials for reference</title>
<updated>2026-02-03T14:46:09+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-03T14:41:46+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=92a9a3bfe0bc522e8ae411991a366a3a6310d525'/>
<id>urn:sha1:92a9a3bfe0bc522e8ae411991a366a3a6310d525</id>
<content type='text'>
Move migration guide and scripts to docs/archive/2026-01-relay-ngit-dev-migration/
with clear warnings that these are reference-only materials from a specific
migration context, not general-purpose tools.

These materials document the relay.ngit.dev migration from ngit-relay to
ngit-grasp in January 2026. The scripts were developed iteratively during
the migration and are specific to that context. They are preserved for:
- Historical reference
- Context for production fixes in this branch
- Inspiration for future migrations (not direct reuse)

The migration uncovered critical bugs now fixed in this branch:
- Git protocol error handling
- Naughty list false positives
- Purgatory event tracking
- Sync startup issues
- Configuration management
</content>
</entry>
<entry>
<title>docs: update docs with sync and purgatory and git data sync</title>
<updated>2026-01-08T00:26:51+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-01-08T00:26:51+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=543d9e66dd44b70ed467c61635e6c8056fef8555'/>
<id>urn:sha1:543d9e66dd44b70ed467c61635e6c8056fef8555</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: archive sync test refactoring options document</title>
<updated>2025-12-18T17:24:57+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-18T17:24:57+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=cac41a61b48f84dc8c12ece6abb0ebb40c5f9a0c'/>
<id>urn:sha1:cac41a61b48f84dc8c12ece6abb0ebb40c5f9a0c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove docs archive</title>
<updated>2025-12-03T11:19:40+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-12-03T11:19:40+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=2eaff5b79fed364d5eba5eb38e4b7bf76326884d'/>
<id>urn:sha1:2eaff5b79fed364d5eba5eb38e4b7bf76326884d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: switch focus onto grasp implementation</title>
<updated>2025-11-18T16:50:02+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-18T16:50:02+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=98c6fa4bfa897ff0b8f9c95ea698d4d065b5e9f3'/>
<id>urn:sha1:98c6fa4bfa897ff0b8f9c95ea698d4d065b5e9f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>preparing to build grasp-audit against git-relay</title>
<updated>2025-11-05T06:37:21+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-05T06:37:21+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=5cd47079ee762125817612d2bf82a0bca07da3ad'/>
<id>urn:sha1:5cd47079ee762125817612d2bf82a0bca07da3ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: archive test migration session notes</title>
<updated>2025-11-04T22:01:55+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-04T22:01:55+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=a245a252c32e07546dc15e5ad266d463bc15db08'/>
<id>urn:sha1:a245a252c32e07546dc15e5ad266d463bc15db08</id>
<content type='text'>
Archive valuable session documentation from test migration project:
- Phase 1: NIP-01 compliance test migration
- Phase 2: NIP-34 announcement test migration
- Phase 3: Test compliance documentation
- Final summary: Complete project overview

Session cleanup complete - work/ directory now clean (only README.md)
</content>
</entry>
<entry>
<title>docs: use Diátaxis structure</title>
<updated>2025-11-04T10:25:53+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-04T10:25:53+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-grasp-mirror/commit/?id=52bad9954cdddf55ab749fd0c6387edbc766632f'/>
<id>urn:sha1:52bad9954cdddf55ab749fd0c6387edbc766632f</id>
<content type='text'>
</content>
</entry>
</feed>
