fix: enforce validity descriptor class
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled

This commit is contained in:
OpenAI Codex
2026-09-13 09:44:43 +08:00
parent 6537996d05
commit 3526e324ce
2 changed files with 4 additions and 0 deletions

View File

@@ -36,6 +36,8 @@ FieldProfileValidationResult FieldProfileValidator::validate(const ResolvedField
if (!frame.isStructurallyValid()) return result(FieldProfileValidationCode::InvalidFrame, "frame"); if (!frame.isStructurallyValid()) return result(FieldProfileValidationCode::InvalidFrame, "frame");
if (!contract.sharedValidityRequired) if (!contract.sharedValidityRequired)
return result(FieldProfileValidationCode::UnsupportedSharedValidityMode, "sharedValidityRequired=false"); return result(FieldProfileValidationCode::UnsupportedSharedValidityMode, "sharedValidityRequired=false");
if (frame.validityPlane.valueClass != FieldValueClass::Validity)
return result(FieldProfileValidationCode::InvalidCoreUnit, "validity value class");
if ((contract.timeRelation == FieldTimeRelation::ValidGteReference && if ((contract.timeRelation == FieldTimeRelation::ValidGteReference &&
frame.frameContentIdentity.validTimeMs < frame.referenceTimeMs) || frame.frameContentIdentity.validTimeMs < frame.referenceTimeMs) ||

View File

@@ -113,6 +113,8 @@ TEST(ParticleFieldProfileValidator, EnforcesVelocityDirectionAndValidityCoreRule
EXPECT_EQ(validate(c, f), particle::FieldProfileValidationCode::InvalidCoreUnit); EXPECT_EQ(validate(c, f), particle::FieldProfileValidationCode::InvalidCoreUnit);
f = frame(); f.validityPlane.unitID = 1; f = frame(); f.validityPlane.unitID = 1;
EXPECT_EQ(validate(c, f), particle::FieldProfileValidationCode::InvalidCoreUnit); EXPECT_EQ(validate(c, f), particle::FieldProfileValidationCode::InvalidCoreUnit);
f = frame(); f.validityPlane.valueClass = particle::FieldValueClass::Scalar;
EXPECT_EQ(validate(c, f), particle::FieldProfileValidationCode::InvalidCoreUnit);
} }
TEST(ParticleFieldProfileValidator, AppliesSchemaSharedValidityAndTimeRules) { TEST(ParticleFieldProfileValidator, AppliesSchemaSharedValidityAndTimeRules) {