diff --git a/grasp-audit/src/specs/grasp01/purgatory.rs b/grasp-audit/src/specs/grasp01/purgatory.rs index 6f3bee5..36c027e 100644 --- a/grasp-audit/src/specs/grasp01/purgatory.rs +++ b/grasp-audit/src/specs/grasp01/purgatory.rs @@ -5,7 +5,7 @@ //! //! ## Purgatory Behavior (GRASP-01 Line 20) //! -//! "Accepted repo state announcements, PRs and PR Updates +//! "Accepted git repository announcements, 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." @@ -70,8 +70,8 @@ impl PurgatoryTests { /// Test: Repository announcement not served before git data arrives /// - /// Legacy relay behavior — not a current GRASP-01 requirement. - /// Previous revisions required repository announcements to be accepted with message + /// Spec: GRASP-01 Line 20 + /// "Accepted git repository announcements... 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" /// @@ -135,8 +135,8 @@ impl PurgatoryTests { /// Test: Repository announcement served after git push /// - /// Legacy relay behavior — not a current GRASP-01 requirement. - /// This verifies the former repository-announcement purgatory lifecycle. + /// Spec: GRASP-01 Line 20 + /// "...kept in purgatory (not served) until the related git data arrives" /// /// This test verifies the full lifecycle: /// 1. Send repository announcement (enters purgatory) @@ -214,7 +214,9 @@ impl PurgatoryTests { /// Test: Bare repository exists for purgatory announcement /// - /// Legacy relay behavior — GRASP-01 line 32 applies only to accepted + /// Spec: GRASP-01 Line 32 + /// The purgatory rule defines repository announcements as accepted; therefore + /// line 32 also requires the Git Smart HTTP service while they are in purgatory. /// "MUST serve a git repository via an unauthenticated git smart http service /// at `//.git` for each accepted git repository /// announcement." diff --git a/grasp-audit/src/specs/grasp01/spec_requirements.rs b/grasp-audit/src/specs/grasp01/spec_requirements.rs index 346d678..7029960 100644 --- a/grasp-audit/src/specs/grasp01/spec_requirements.rs +++ b/grasp-audit/src/specs/grasp01/spec_requirements.rs @@ -4,7 +4,7 @@ //! This is the single source of truth for spec text displayed in audit reports. /// GRASP spec repository commit ID that this version is based on -pub const GRASP_COMMIT_ID: &str = "4eeee96ffefeec8fd80a320d944f5b5e89171f0b"; +pub const GRASP_COMMIT_ID: &str = "a7d3f8b2340c8893ee81334622ff6379006aced5"; /// Reference to a specific GRASP-01 specification requirement #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] @@ -140,7 +140,7 @@ pub const GRASP_01_REQUIREMENTS: &[SpecRequirement] = &[ spec_ref: SpecRef::PurgatoryAcceptUntilGitData, line: 20, section: "Purgatory", - text: "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.", + text: "Accepted git repository announcements, 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.", level: RequirementLevel::Should, }, SpecRequirement { diff --git a/grasp-audit/src/specs/grasp06/spec_requirements.rs b/grasp-audit/src/specs/grasp06/spec_requirements.rs index d8e9f78..8f1500b 100644 --- a/grasp-audit/src/specs/grasp06/spec_requirements.rs +++ b/grasp-audit/src/specs/grasp06/spec_requirements.rs @@ -11,7 +11,7 @@ use crate::specs::grasp01::RequirementLevel; /// /// Update this when bumping to a newer spec revision so reports indicate /// which spec line numbers are being referenced. -pub const GRASP_06_COMMIT_ID: &str = "4eeee96ffefeec8fd80a320d944f5b5e89171f0b"; +pub const GRASP_06_COMMIT_ID: &str = "a7d3f8b2340c8893ee81334622ff6379006aced5"; /// Reference to a specific GRASP-06 specification requirement. ///