upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/grasp-audit/src/bin/grasp-audit.rs
AgeCommit message (Collapse)Author
2026-02-26chore: apply cargo fmt and fix clippy warningsDanConwayDev
Fix pre-existing clippy lints: - &PathBuf -> &Path in audit_cleanup.rs - too_many_arguments on process_newly_available_git_data, process_purgatory_announcements, and HttpService::new - clone_on_copy for PublicKey (Copy type) in purgatory cleanup loop
2026-02-25show probe help when invoked with no argumentsDanConwayDev
2026-02-25make read-only the default probe mode; add --create-repo to opt into write pathDanConwayDev
2026-02-25report partial results on overall timeout: completed checks pass/fail, ↵DanConwayDev
timed-out step marked, remaining skipped
2026-02-25add overall probe timeout of min(20s, watch_interval) to prevent overlapping ↵DanConwayDev
runs
2026-02-25silence all library logs for probe subcommand in both human and JSON modesDanConwayDev
2026-02-25suppress [Run N] header and redirect logs to stderr in JSON mode for clean ↵DanConwayDev
pipe-friendly output
2026-02-25add probe subcommand for end-to-end relay health checksDanConwayDev
Implements grasp-audit probe with full write path (publish events, poll for repo init, push, verify refs match state) and read-only fallback (find existing announcement, fetch refs). Supports --nsec for whitelisted relays, --json output, and --watch for continuous monitoring.
2026-02-24fix grasp-audit test isolation to prevent cross-spec relay state corruptionDanConwayDev
Add Purgatory-prefixed fixture variants (PurgatoryValidRepoSent, PurgatoryOwnerStateDataPushed) that create independent repos never shared with the main fixture chain. Purgatory tests that mutate relay state (replacement announcements, new state events, deletions) now use these isolated fixtures so they cannot corrupt the repo that push-authorization tests depend on. Run purgatory tests before push-auth in the full suite, since push-auth sends new replaceable state events (kind 30618) for the shared repo_id that would displace the original served state event.
2026-02-24wire PurgatoryTests into CLI runner so purgatory tests are actually runDanConwayDev
2026-01-12feat(grasp-audit): add filter capability compliance testsDanConwayDev
Add comprehensive GRASP-01 compliance tests for uploadpack.allowFilter capability to the grasp-audit test suite. These tests can be run against ANY GRASP implementation (ngit-relay, ngit-grasp, or others) to verify filter support. New test module: grasp-audit/src/specs/grasp01/git_filter.rs Tests added: - test_filter_capability_advertised: Verifies filter appears in info/refs - test_filtered_clone_succeeds: Tests git clone --filter=blob:none - test_filtered_fetch_succeeds: Tests git fetch --filter=tree:0 Usage: cd grasp-audit && nix develop -c bash test-ngit-relay.sh --mode test cd grasp-audit && nix develop -c cargo run -- audit -r ws://localhost:8080 -s git-filter
2025-12-03remove depricated audit mode label ci / production ~> isolated / sharedDanConwayDev
2025-12-02refactor: rename AuditMode variants and change CLI default to sharedDanConwayDev
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-01fix cargo clippy and fmt warningsDanConwayDev
2025-11-28audit: fix shared test context to minimise events sent to production relaysDanConwayDev
2025-11-28audit: stop checking git_data_directoryDanConwayDev
2025-11-28add git http advertisment allow-reachable-sha1-in-want and ↵DanConwayDev
allow-tip-sha1-in-want
2025-11-28fix running audit with production flagDanConwayDev
no events were allowed to be published which broke most tests
2025-11-28grasp-audit run all tests in audit modeDanConwayDev
2025-11-19fix some clippy fmt warningsDanConwayDev
2025-11-04created POC grasp-auditorDanConwayDev