Add SCUM capability negotiation gate

This commit is contained in:
npc0-hue
2026-08-13 15:10:57 +08:00
parent 4f55c71de5
commit d831e4ade9
12 changed files with 350 additions and 2 deletions
+14
View File
@@ -477,6 +477,20 @@ type SCUMCapabilityGate struct {
Evidence SCUMCapabilityEvidence
}
type SCUMCapabilityNegotiation struct {
ServerInstanceID string
RunEndpointID string
RunBindingID string
PluginID string
PluginVersion string
AdapterVersion string
GameVersion string
DatabaseIdentity string
ProbeExecutorAvailable bool
EvaluatedAt time.Time
Gates []SCUMCapabilityGate
}
func EvaluateSCUMCapabilityGate(requirement SCUMCapabilityRequirement, evidence SCUMCapabilityEvidence, active SCUMBindingIdentity, probeExecutorAvailable bool, now time.Time) SCUMCapabilityGate {
gate := SCUMCapabilityGate{Capability: requirement.Capability, State: SCUMCapabilityGateDisabled, ReasonCode: SCUMSafeErrorProbeMissing, Reason: "current-service evidence is required before this SCUM capability can run"}
if !probeExecutorAvailable {