new advisories work and features gaps work
This commit is contained in:
@@ -77,11 +77,29 @@ public static class PredicateTypes
|
||||
/// <summary>
|
||||
/// StellaOps Path Witness predicate type for DSSE attestations.
|
||||
/// Sprint: SPRINT_3700_0001_0001 (WIT-007C)
|
||||
/// Cryptographic proof of a specific entrypoint → sink path.
|
||||
/// Cryptographic proof of a specific entrypoint to sink path.
|
||||
/// Used by PathWitnessBuilder to sign individual path witnesses.
|
||||
/// </summary>
|
||||
public const string StellaOpsPathWitness = "stella.ops/pathWitness@v1";
|
||||
|
||||
// Sprint: SPRINT_20260112_015_SIGNER_path_witness_predicate (SIGNER-PW-001)
|
||||
// Canonical predicate type and aliases for path witness attestations.
|
||||
|
||||
/// <summary>
|
||||
/// Canonical Path Witness predicate type (SIGNER-PW-001).
|
||||
/// </summary>
|
||||
public const string PathWitnessCanonical = "https://stella.ops/predicates/path-witness/v1";
|
||||
|
||||
/// <summary>
|
||||
/// Path Witness predicate alias 1 (SIGNER-PW-001).
|
||||
/// </summary>
|
||||
public const string PathWitnessAlias1 = "stella.ops/pathWitness@v1";
|
||||
|
||||
/// <summary>
|
||||
/// Path Witness predicate alias 2 (SIGNER-PW-001).
|
||||
/// </summary>
|
||||
public const string PathWitnessAlias2 = "https://stella.ops/pathWitness/v1";
|
||||
|
||||
/// <summary>
|
||||
/// StellaOps Reachability Drift predicate type for DSSE attestations.
|
||||
/// Sprint: SPRINT_3600_0004_0001_ui_evidence_chain (UI-014)
|
||||
@@ -161,10 +179,27 @@ public static class PredicateTypes
|
||||
|
||||
/// <summary>
|
||||
/// Determines if the predicate type is a well-known StellaOps type.
|
||||
/// Sprint: SPRINT_20260112_015_SIGNER_path_witness_predicate (SIGNER-PW-003)
|
||||
/// Updated to recognize https://stella.ops/ and https://stella-ops.org/ URIs as StellaOps types.
|
||||
/// </summary>
|
||||
public static bool IsStellaOpsType(string predicateType)
|
||||
{
|
||||
return predicateType?.StartsWith("stella.ops/", StringComparison.Ordinal) == true;
|
||||
if (string.IsNullOrEmpty(predicateType))
|
||||
return false;
|
||||
|
||||
// Legacy format: stella.ops/type@version
|
||||
if (predicateType.StartsWith("stella.ops/", StringComparison.Ordinal))
|
||||
return true;
|
||||
|
||||
// Canonical HTTPS format: https://stella.ops/predicates/...
|
||||
if (predicateType.StartsWith("https://stella.ops/", StringComparison.Ordinal))
|
||||
return true;
|
||||
|
||||
// Alternate domain format: https://stella-ops.org/predicates/...
|
||||
if (predicateType.StartsWith("https://stella-ops.org/", StringComparison.Ordinal))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -196,7 +231,23 @@ public static class PredicateTypes
|
||||
|| predicateType == StellaOpsReachabilityWitness
|
||||
|| predicateType == StellaOpsPathWitness
|
||||
|| predicateType == StellaOpsReachabilityDrift
|
||||
|| predicateType == StellaOpsReachabilityDelta;
|
||||
|| predicateType == StellaOpsReachabilityDelta
|
||||
// Path Witness canonical and aliases (SIGNER-PW-001)
|
||||
|| predicateType == PathWitnessCanonical
|
||||
|| predicateType == PathWitnessAlias1
|
||||
|| predicateType == PathWitnessAlias2;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines if the predicate type is a path witness type (canonical or alias).
|
||||
/// Sprint: SPRINT_20260112_015_SIGNER_path_witness_predicate (SIGNER-PW-001)
|
||||
/// </summary>
|
||||
public static bool IsPathWitnessType(string predicateType)
|
||||
{
|
||||
return predicateType == PathWitnessCanonical
|
||||
|| predicateType == PathWitnessAlias1
|
||||
|| predicateType == PathWitnessAlias2
|
||||
|| predicateType == StellaOpsPathWitness;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -248,6 +299,10 @@ public static class PredicateTypes
|
||||
StellaOpsReachabilityDrift,
|
||||
StellaOpsVerdict,
|
||||
StellaOpsVerdictAlt,
|
||||
// Path Witness canonical + aliases (SIGNER-PW-001)
|
||||
PathWitnessCanonical,
|
||||
PathWitnessAlias1,
|
||||
PathWitnessAlias2,
|
||||
// Delta types (LIN-BE-024)
|
||||
StellaOpsVexDelta,
|
||||
StellaOpsSbomDelta,
|
||||
|
||||
Reference in New Issue
Block a user