| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-12-10 | refactor: remove redundant RelayAction enum (SIMPLIFY-1) | DanConwayDev | |
| 2025-12-10 | feat: add automatic reconnection with exponential backoff (IMPROVE-2) | DanConwayDev | |
| 2025-12-10 | fix: don't add 30617 announcement IDs to root_events (BUG-2) | DanConwayDev | |
| 2025-12-10 | fix: add Layer 1 re-subscription on quick reconnect (BUG-1) | DanConwayDev | |
| 2025-12-10 | docs: update sync docs post implementation | DanConwayDev | |
| 2025-12-10 | sync: implement graceful shutdown for all tasks and connections | DanConwayDev | |
| 2025-12-10 | sync: enhance SelfSubscriber with reconnect and root event tracking | DanConwayDev | |
| 2025-12-10 | sync: implement relay removal for empty non-bootstrap relays | DanConwayDev | |
| 2025-12-10 | sync: implement daily timer for periodic fresh sync | DanConwayDev | |
| 2025-12-10 | sync: implement filter consolidation system | DanConwayDev | |
| 2025-12-10 | sync: complete AddFilters handler with auto-spawning | DanConwayDev | |
| 2025-12-10 | sync: implement unified connect/reconnect with since filters | DanConwayDev | |
| 2025-12-10 | sync: implement PendingBatch EOSE confirmation flow | DanConwayDev | |
| 2025-12-10 | sync: implement disconnect handler with state cleanup | DanConwayDev | |
| 2025-12-10 | sync: integrate health tracking and connection storage | DanConwayDev | |
| 2025-12-10 | sync v4 mvp | DanConwayDev | |
| 2025-12-10 | stub of sync v4 | DanConwayDev | |
| 2025-12-10 | improve sync design | DanConwayDev | |
| 2025-12-09 | sync initalize from db | DanConwayDev | |
| 2025-12-09 | basic sync stub | DanConwayDev | |
| 2025-12-08 | delete old bad AI genreated tests | DanConwayDev | |
| 2025-12-08 | redsign sync - architecture tweaks | DanConwayDev | |
| 2025-12-08 | redesign sync - document only | DanConwayDev | |
| 2025-12-08 | proposed sync change to use self subscribe to trigger everything | DanConwayDev | |
| 2025-12-08 | tests: discover and sync from relay in annocunement published directly | DanConwayDev | |
| 2025-12-05 | remove stupid tests and methods | DanConwayDev | |
| 2025-12-05 | test: fix proactive sync basic tests | DanConwayDev | |
| 2025-12-05 | rename sunc_bootstrap_relay_url | DanConwayDev | |
| 2025-12-05 | fix basic sync tests | DanConwayDev | |
| 2025-12-05 | sync fixes | DanConwayDev | |
| 2025-12-04 | feat(sync): Phase 6 - observability and production readiness | DanConwayDev | |
| - Add SyncMetrics with full Prometheus integration - Track sync gaps via catchup events - Update Grafana dashboard with sync panels - Document all sync configuration options - Update design doc with implementation notes | |||
| 2025-12-04 | feat(sync): Phase 5 - negentropy catchup (NIP-77) | DanConwayDev | |
| - Add NegentropyService for set reconciliation - Implement startup catchup with warm-up delay - Implement reconnect catchup (last 3 days) - Add daily catchup schedule with stagger | |||
| 2025-12-04 | feat(sync): Phase 4 - dynamic subscriptions | DanConwayDev | |
| - Add SubscriptionManager for per-connection tracking - Trigger subscription updates on new repo/PR events - Implement consolidation when filter count > 150 | |||
| 2025-12-04 | feat(sync): Phase 3 - resilience and health tracking | DanConwayDev | |
| - Add RelayHealthTracker with DashMap - Implement exponential backoff (5s -> 1h max) - Handle dead relays (24h failures -> daily retry) - Add startup jitter to prevent thundering herd - Add NGIT_SYNC_MAX_BACKOFF_SECS config | |||
| 2025-12-04 | feat(sync): Phase 2 - multi-relay and complete filters | DanConwayDev | |
| - Add relay discovery from stored announcements - Implement FilterService with three-layer strategy - Support multiple simultaneous relay connections - Filter batching for large tag sets | |||
| 2025-12-04 | feat(sync): Phase 1 MVP - single relay proactive sync | DanConwayDev | |
| - Add src/sync/ module with SyncManager - Add NGIT_SYNC_RELAY_URL config option - Subscribe to kind 30617 on configured relay - Validate synced events through Nip34WritePolicy - Integration test with two TestRelay instances | |||
| 2025-12-04 | docs: update GRASP-02 proactive sync event sync approach | DanConwayDev | |
| 2025-12-04 | docs: add guidance to keep architecture docs updated | DanConwayDev | |
| - Added CRITICAL warning section to AGENTS.md about treating architecture docs as living documents - Mark 'Keep Architecture Docs Updated' item as fixed in grasp-01 learnings - Mark 'Document actual architecture' technical debt item as fixed This addresses a key learning from GRASP-01 where docs described plans rather than implementation, causing confusion. | |||
| 2025-12-04 | refactor: split Nip34WritePolicy into focused sub-policies | DanConwayDev | |
| Split the ~900 line Nip34WritePolicy into focused sub-policies for improved testability and maintainability: - AnnouncementPolicy - Repository announcement validation - StatePolicy - State event validation + ref alignment - PrEventPolicy - PR/PR Update validation - RelatedEventPolicy - Forward/backward reference checking The main Nip34WritePolicy now delegates to these sub-policies via a shared PolicyContext that provides domain, database, and git_data_path. Also updates: - README.md: Accurate project structure reflecting actual implementation - docs/learnings: Marks this technical debt item as complete | |||
| 2025-12-04 | add prometheus metrics | DanConwayDev | |
| 2025-12-04 | docs: add monitoring-strategy | DanConwayDev | |
| 2025-12-04 | docs: update based on current implementation | DanConwayDev | |
| 2025-12-04 | docs: add llm review of implemenation vs plan | DanConwayDev | |
| 2025-12-04 | docs: update grasp-audit docs | DanConwayDev | |
| 2025-12-04 | docs: planed GRASP-2 proactive sync of just events | DanConwayDev | |
| 2025-12-04 | add roadmap to readme | DanConwayDev | |
| 2025-12-03 | feat: accept maintainer announcements without service listing | DanConwayDev | |
| 2025-12-03 | landing page: display relay inforamtion document | DanConwayDev | |
| 2025-12-03 | landing page: pull supported nips and grasps from nip11 document | DanConwayDev | |
| 2025-12-03 | flag NIP-77 negentropy support | DanConwayDev | |
| 2025-12-03 | remove depricated audit mode label ci / production ~> isolated / shared | DanConwayDev | |
| 2025-12-03 | remove docs archive | DanConwayDev | |
| 2025-12-03 | improved settings cli flags > env vars > defaults | DanConwayDev | |
| 2025-12-03 | feat: implement LMDB database backend | DanConwayDev | |
| - Add nostr-lmdb dependency (v0.44) for persistent storage - Create SharedDatabase type alias for database abstraction - Update all database-related functions to use trait object - Support runtime selection via NGIT_DATABASE_BACKEND env var Database backends: - memory: In-memory (default, fastest, no persistence) - lmdb: LMDB backend (persistent, general purpose) All 34 tests pass with the new implementation. | |||
| 2025-12-02 | audit: fix shared test_reject_repo_announcement_missing_relays_tag test | DanConwayDev | |
| 2025-12-02 | fix: tests using gpg signer | DanConwayDev | |
| 2025-12-02 | refactor: rename AuditMode variants and change CLI default to shared | DanConwayDev | |
| Breaking change: Renamed AuditMode enum variants for clarity: - AuditMode::CI -> AuditMode::Isolated (fresh fixtures per test) - AuditMode::Production -> AuditMode::Shared (reuse fixtures across tests) Config constructors renamed (with deprecated aliases): - AuditConfig::ci() -> AuditConfig::isolated() - AuditConfig::production() -> 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 | |||
| 2025-12-02 | grasp-audit: show tests under GRASP-01 line | DanConwayDev | |
| 2025-12-02 | nip11 add icon | DanConwayDev | |
| 2025-12-02 | landing added light mode | DanConwayDev | |
| 2025-12-02 | landing page add commit hash to version and add curation | DanConwayDev | |
| 2025-12-02 | repo landing page - simplify | DanConwayDev | |
| 2025-12-02 | repo landing page - include powered by | DanConwayDev | |
| 2025-12-02 | refactor: fix fmt and clippy | DanConwayDev | |
| 2025-12-02 | improve repository landing page | DanConwayDev | |
| 2025-12-02 | landing page - use correct gitworkshop link | DanConwayDev | |
| 2025-12-02 | improve landing page | DanConwayDev | |
| 2025-12-02 | improve landing page copy and styles | DanConwayDev | |
| 2025-12-01 | add repo land page and 404 page per GRASP-01 | DanConwayDev | |
| 2025-12-01 | better fixtures: update readme | DanConwayDev | |
| 2025-12-01 | better fixtures: clean up | DanConwayDev | |
| 2025-12-01 | test: test_head_set_after_git_push_with_required_oids | DanConwayDev | |
| 2025-12-01 | better fixtures: test_head_set_after_state_event_with_existing_commit | DanConwayDev | |
| 2025-12-01 | better fixtures: refs/nostr tests | DanConwayDev | |
| 2025-12-01 | better fixtures: RecursiveMaintainerStateDataPushed and ↵ | DanConwayDev | |
| test_non_maintainer_state_rejected | |||
| 2025-12-01 | better fixtures: MaintainerStateDataPushed | DanConwayDev | |
| 2025-12-01 | fixtures dependancy overhaul | DanConwayDev | |
| 2025-12-01 | better fixtures: MaintainerStateDataPushed | DanConwayDev | |
| 2025-12-01 | begin implementing better fixtures | DanConwayDev | |
| 2025-12-01 | test placeholder: test_head_set_after_git_push_with_required_oids | DanConwayDev | |
| 2025-12-01 | try and add / update / delete refs on state update | DanConwayDev | |
| if we have the OIDs | |||
| 2025-12-01 | test: test_head_set_after_state_event_with_existing_commit | DanConwayDev | |
| currently failing as branch isn't pushed (we should auto create this branch as we have the ref) | |||
| 2025-12-01 | fix cargo clippy and fmt warnings | DanConwayDev | |
| 2025-12-01 | reject push when refs/nostr/<event-id> doesnt match known event and delete ↵ | DanConwayDev | |
| incorrect ref on event receive | |||
| 2025-11-28 | test: added checks that refs/nostr/<event-id> match commit in PR / update | DanConwayDev | |
| 2025-11-28 | allow push to ref/nostr/<event-id> | DanConwayDev | |
| 2025-11-28 | audit: fix push from maintainer tests when in production mode | DanConwayDev | |
| 2025-11-28 | audit: fix rejected push wrong commit test | DanConwayDev | |
| 2025-11-28 | fix maintainer recursion | DanConwayDev | |
| 2025-11-28 | sync HEAD on state event and git data push | DanConwayDev | |
| 2025-11-28 | audit: fix push test when not isolated | DanConwayDev | |
| 2025-11-28 | audit: future test shared / isolation fixes | DanConwayDev | |
| 2025-11-28 | fix: respect Isolated mode in TestContext fixture helpers | DanConwayDev | |
| Previously get_or_create_repo() and get_or_create_issue() always checked the client cache first, bypassing the mode-based caching logic. This caused fixture leaking across test suites when using the same AuditClient. With this fix: - In Isolated mode: helpers skip the cache, creating fresh fixtures - In Shared mode: helpers use the cache for fixture reuse (unchanged) This restores proper test isolation for push authorization tests that were failing because they shared the same ValidRepo fixture. | |||
| 2025-11-28 | fix cargo test | DanConwayDev | |
| 2025-11-28 | audit: fix shared test context to minimise events sent to production relays | DanConwayDev | |
| 2025-11-28 | test: rationalise repository creation tests | DanConwayDev | |
| 2025-11-28 | audit: stop checking git_data_directory | DanConwayDev | |
| 2025-11-28 | add git http advertisment allow-reachable-sha1-in-want and ↵ | DanConwayDev | |
| allow-tip-sha1-in-want | |||
| 2025-11-28 | fix grasp-audit imports | DanConwayDev | |
| 2025-11-28 | fix running audit with production flag | DanConwayDev | |
| no events were allowed to be published which broke most tests | |||