diff --git a/specs/identity-access/status.json b/specs/identity-access/status.json index 65db4532..62f9aef8 100644 --- a/specs/identity-access/status.json +++ b/specs/identity-access/status.json @@ -62,11 +62,13 @@ { "id": "GRAPHOS-IDENTITY-R002", "title": "Domain scopes consume the generated scope registry", - "delivery_state": "LANDED", + "delivery_state": "VERIFIED", "landed_in": [ "a2212420d6c6" ], - "verified_by": [] + "verified_by": [ + "tests/api/test_domain_scopes.py:50" + ] }, { "id": "GRAPHOS-IDENTITY-R003", @@ -94,11 +96,14 @@ { "id": "GRAPHOS-IDENTITY-R004.1", "title": "Typed bootstrap-principal model", - "delivery_state": "LANDED", + "delivery_state": "VERIFIED", "landed_in": [ "cd652df8f6c8" ], - "verified_by": [] + "verified_by": [ + "tests/identity/test_bootstrap_mfa_admin_console_models.py:15", + "tests/identity/test_bootstrap_mfa_admin_console_models.py:28" + ] }, { "id": "GRAPHOS-IDENTITY-R004.2", diff --git a/tests/api/test_domain_scopes.py b/tests/api/test_domain_scopes.py index 009bbb4b..e061db31 100644 --- a/tests/api/test_domain_scopes.py +++ b/tests/api/test_domain_scopes.py @@ -47,6 +47,7 @@ def test_scopes_by_name_indexes_every_declared_scope() -> None: assert indexed["webui:admin"].scope_class == "admin" +@pytest.mark.spec("GRAPHOS-IDENTITY-R002") def test_declared_scopes_match_a_consistent_registry(tmp_path: Path) -> None: contract, _exclusions = _fixture(tmp_path) scope_path = contract / "scopes.json" diff --git a/tests/identity/test_bootstrap_mfa_admin_console_models.py b/tests/identity/test_bootstrap_mfa_admin_console_models.py index ecf59d97..61e59c2a 100644 --- a/tests/identity/test_bootstrap_mfa_admin_console_models.py +++ b/tests/identity/test_bootstrap_mfa_admin_console_models.py @@ -12,6 +12,7 @@ def test_bootstrap_accepts_loopback() -> None: assert LoopbackBootstrapPrincipal(bind_host="127.0.0.1").bind_host == "127.0.0.1" +@pytest.mark.spec("GRAPHOS-IDENTITY-R004.1") def test_bootstrap_refuses_non_loopback_without_acknowledgment() -> None: with pytest.raises(IdentityUnavailable): LoopbackBootstrapPrincipal(bind_host="10.0.0.5") @@ -24,6 +25,7 @@ def test_bootstrap_allows_non_loopback_with_acknowledgment() -> None: assert principal.exposure_acknowledged is True +@pytest.mark.spec("GRAPHOS-IDENTITY-R004.1") def test_bootstrap_refuses_empty_host() -> None: with pytest.raises(IdentityUnavailable): LoopbackBootstrapPrincipal(bind_host="")