docs: point GRASP references at Nostr Git

Move current GRASP specification links from GitHub to GitWorkshop.

Link audit output to its exact pinned specification commit.

Use NIP-05 cloning for ngit-grasp and ngit.dev for the ngit homepage.

Leave the archived migration link unchanged as a historical record.

Validated with rustfmt and the 54-test grasp-audit library suite.
This commit is contained in:
DanConwayDev
2026-09-04 13:59:46 +00:00
parent 7533e369d3
commit 3f8157693f
18 changed files with 20 additions and 20 deletions
+1 -1
View File
@@ -310,7 +310,7 @@
#
# When disabled (default), /prs/* returns 404 and event-acceptance is unchanged.
#
# See: https://github.com/DanConwayDev/grasp/blob/main/06.md
# See: https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md
# See: docs/explanation/grasp-06-contributor-pr-submission.md
#
# CLI: --grasp06-enable
+2 -2
View File
@@ -428,7 +428,7 @@ For development from source:
curl -Ls https://ngit.dev/install.sh | bash
# Clone the repository
git clone nostr://danconwaydev.com/relay.ngit.dev/ngit-grasp
git clone nostr://danconwaydev.com/ngit-grasp
cd ngit-grasp
# Build (using Nix for reproducible environment)
@@ -770,7 +770,7 @@ MIT License - see [LICENSE](LICENSE) for details
## Sister Projects
- [ngit](https://gitworkshop.dev/danconwaydev.com/ngit) - CLI and Git remote helper for collaborating on repositories over Nostr
- [ngit](https://ngit.dev) - CLI and Git remote helper for collaborating on repositories over Nostr
- [ngit-ci](https://gitworkshop.dev/danconwaydev.com/ngit-ci) - Self-hosted CI that watches Nostr Git repositories and publishes signed results
## Related Specifications
@@ -362,7 +362,7 @@ and drops that admission while waiting for a busy domain.
State and PR purgatory entries **automatically expire** after 30 minutes.
From the [GRASP-01 spec](https://github.com/DanConwayDev/grasp/blob/main/01.md#purgatory):
From the [GRASP-01 spec](https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/01.md#purgatory):
> Events should be kept in purgatory and otherwise discarded after 30 minutes.
@@ -2,7 +2,7 @@
**Status**: Implemented (opt-in via `NGIT_GRASP06_ENABLE`)
**Spec**: [GRASP-06](https://github.com/DanConwayDev/grasp/blob/main/06.md)
**Spec**: [GRASP-06](https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md)
**Related**: [Purgatory Design](purgatory-design.md), [Architecture](architecture.md), [Inline Authorization](inline-authorization.md)
**Operator how-to**: [Enable GRASP-06](../how-to/enable-grasp-06.md)
+1 -1
View File
@@ -2,7 +2,7 @@
**Status**: Implemented, single-service scope (opt-in via `NGIT_PRIVATE_MODE`)
**Spec**: [GRASP-08](https://github.com/DanConwayDev/grasp/blob/main/08.md)
**Spec**: [GRASP-08](https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/08.md)
**Related**: [Architecture](architecture.md), [Defensive Measures](defensive-measures.md), [Repository Lifecycle](repository-lifecycle.md)
**Configuration**: [`NGIT_PRIVATE_MODE`, `NGIT_PRIVATE_MEMBERS`, `NGIT_PRIVATE_PUBLIC_ORIGIN`](../reference/configuration.md)
+1 -1
View File
@@ -19,7 +19,7 @@ Either nostr events or git pushes can arrive in any order:
When both halves arrive, they are processed together and saved to the database.
**Spec Reference**: [GRASP-01 Purgatory Section](https://github.com/DanConwayDev/grasp/blob/main/01.md#purgatory)
**Spec Reference**: [GRASP-01 Purgatory Section](https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/01.md#purgatory)
> Accepted repo state announcements, PRs and PR Updates SHOULD be accepted with message "purgatory: won't be served until git data arrives" and kept in purgatory (not served) until the related git data arrives and otherwise discarded after 30 minutes.
+1 -1
View File
@@ -95,4 +95,4 @@ If you need any of these today, leave `NGIT_GRASP06_ENABLE=false`.
## Spec
[GRASP-06 spec (draft)](https://github.com/DanConwayDev/grasp/blob/main/06.md). Design notes: [docs/explanation/grasp-06-contributor-pr-submission.md](../explanation/grasp-06-contributor-pr-submission.md).
[GRASP-06 spec (draft)](https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md). Design notes: [docs/explanation/grasp-06-contributor-pr-submission.md](../explanation/grasp-06-contributor-pr-submission.md).
+1 -1
View File
@@ -1035,7 +1035,7 @@ NGIT_ARCHIVE_READ_ONLY=true # Default
### GRASP-06 Contributor PR Submission
These options control the optional `/prs/<npub>/<identifier>.git` contributor pull-request submission endpoint per the [GRASP-06 specification](https://github.com/DanConwayDev/grasp/blob/main/06.md). The route is below `NGIT_BASE_PATH` when a non-root mount is configured.
These options control the optional `/prs/<npub>/<identifier>.git` contributor pull-request submission endpoint per the [GRASP-06 specification](https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md). The route is below `NGIT_BASE_PATH` when a non-root mount is configured.
#### `NGIT_GRASP06_ENABLE`
+1 -1
View File
@@ -8,7 +8,7 @@ This document explains the Git Smart HTTP protocol as it relates to our inline a
### GRASP-01 Requirements (MUST)
Per the [GRASP-01 specification](https://github.com/DanConwayDev/grasp/blob/main/01.md), implementations **MUST** advertise and support the following git capabilities:
Per the [GRASP-01 specification](https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/01.md), implementations **MUST** advertise and support the following git capabilities:
- **`allow-reachable-sha1-in-want`**: Allows clients to request commits reachable from any ref
- **`allow-tip-sha1-in-want`**: Allows clients to request specific commit SHAs directly
@@ -1,6 +1,6 @@
//! GRASP-06 event-acceptance relaxation tests
//!
//! Spec: <https://github.com/DanConwayDev/grasp/blob/main/06.md>
//! Spec: <https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md>
//!
//! Covers 06.md lines 19–22: PR and PR Update events that would otherwise be
//! rejected under GRASP-01 for not referencing an accepted repository
+2 -2
View File
@@ -1,6 +1,6 @@
//! GRASP-06 specification tests
//!
//! Spec: <https://github.com/DanConwayDev/grasp/blob/main/06.md>
//! Spec: <https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md>
//!
//! ## Test Suites
//!
@@ -292,7 +292,7 @@ impl Grasp06Tests {
);
println!("{}GRASP-06 Compliance Report{}", BOLD, RESET);
println!(
"Source: github.com/DanConwayDev/grasp/blob/main/06.md (commit: {})",
"Source: https://gitworkshop.dev/danconwaydev.com/grasp/tree/{}/06.md",
GRASP_06_COMMIT_ID
);
println!(
+1 -1
View File
@@ -1,6 +1,6 @@
//! GRASP-06 NIP-11 advertisement tests
//!
//! Spec: <https://github.com/DanConwayDev/grasp/blob/main/06.md>
//! Spec: <https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md>
//!
//! These tests cover the discovery-gate contract from the "on" side: when
//! the relay opts into GRASP-06, its NIP-11 document MUST advertise the
@@ -1,6 +1,6 @@
//! GRASP-06 /prs/ endpoint tests
//!
//! Spec: <https://github.com/DanConwayDev/grasp/blob/main/06.md>
//! Spec: <https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md>
//!
//! Each test here maps 1:1 to a MUST in the spec, or to an audit-derived
//! invariant that follows directly from NIP-11 discovery semantics.
@@ -1,7 +1,7 @@
//! GRASP-06 Specification Requirements
//!
//! Embedded specification requirements from the GRASP-06 spec document.
//! Spec: <https://github.com/DanConwayDev/grasp/blob/main/06.md>
//! Spec: <https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md>
//!
//! This is the single source of truth for spec text displayed in audit reports.
+1 -1
View File
@@ -414,7 +414,7 @@ let
When disabled (default), /prs/* returns 404 and event acceptance is
unchanged.
See: https://github.com/DanConwayDev/grasp/blob/main/06.md
See: https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md
'';
};
+1 -1
View File
@@ -1,6 +1,6 @@
//! GRASP-06 — Contributor Pull Request Submission.
//!
//! Spec: <https://github.com/DanConwayDev/grasp/blob/main/06.md>
//! Spec: <https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md>
//! Design: `docs/explanation/grasp-06-contributor-pr-submission.md`
//!
//! This module is gated behind [`crate::config::Config::grasp06_enable`].
+1 -1
View File
@@ -1,6 +1,6 @@
//! Acceptance helpers for GRASP-06 PR / PR-Update events.
//!
//! Spec: <https://github.com/DanConwayDev/grasp/blob/main/06.md> (lines 19–22).
//! Spec: <https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md> (lines 19–22).
//!
//! Under GRASP-06 a relay MUST accept a kind 1618 (PR) or 1619 (PR Update)
//! event for a repository coordinate it has no accepted announcement for,
+1 -1
View File
@@ -1,6 +1,6 @@
//! GRASP-06 contributor PR hosting integration tests
//!
//! Spec: <https://github.com/DanConwayDev/grasp/blob/main/06.md>
//! Spec: <https://gitworkshop.dev/danconwaydev.com/grasp/tree/master/06.md>
//!
//! Each test is driven by one of two macros depending on whether the relay
//! under test has GRASP-06 enabled: