Extract skill validation-case structural check

This commit is contained in:
axiomlogicnexus 2026-06-24 23:45:27 +00:00
parent 776a4e6765
commit f549a79949
3 changed files with 49 additions and 39 deletions

View file

@ -717,6 +717,36 @@ bool FHyperTwistSkillAuditLedgerState::IsStructurallyValid() const
&& bCommandServiceProvenanceVisible == bComputedCommandProvenanceVisible;
}
bool FHyperTwistSkillValidationContractCase::IsStructurallyValid() const
{
if (CaseId.IsEmpty()
|| SkillId.IsEmpty()
|| Kind == EHyperTwistSkillValidationContractKind::None
|| ExecutionMode == EHyperTwistSkillValidationExecutionMode::None
|| ExpectedCommandSurfaceId.IsEmpty()
|| ExpectedServiceBindingId.IsEmpty()
|| RequiredTemplateSectionIds.Num() == 0
|| ExpectedArtifactKinds.Num() == 0)
{
return false;
}
if (!HyperTwistSkillTypesInternal::AreAllStringsPopulated(RequiredTemplateSectionIds)
|| !HyperTwistSkillTypesInternal::AreAllStringsPopulated(ExpectedArtifactKinds))
{
return false;
}
const bool bLiveMode =
ExecutionMode == EHyperTwistSkillValidationExecutionMode::LiveContract;
if (bLiveMode && !bUsesAuditLedgerEvidence)
{
return false;
}
return true;
}
bool FHyperTwistSkillAuthoringHarnessState::IsStructurallyValid() const
{
if (RegistryId.IsEmpty()

View file

@ -1090,45 +1090,7 @@ struct FHyperTwistSkillValidationContractCase
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FString Summary;
bool IsStructurallyValid() const
{
if (CaseId.IsEmpty()
|| SkillId.IsEmpty()
|| Kind == EHyperTwistSkillValidationContractKind::None
|| ExecutionMode == EHyperTwistSkillValidationExecutionMode::None
|| ExpectedCommandSurfaceId.IsEmpty()
|| ExpectedServiceBindingId.IsEmpty()
|| RequiredTemplateSectionIds.Num() == 0
|| ExpectedArtifactKinds.Num() == 0)
{
return false;
}
for (const FString& SectionId : RequiredTemplateSectionIds)
{
if (SectionId.IsEmpty())
{
return false;
}
}
for (const FString& ArtifactKind : ExpectedArtifactKinds)
{
if (ArtifactKind.IsEmpty())
{
return false;
}
}
const bool bLiveMode =
ExecutionMode == EHyperTwistSkillValidationExecutionMode::LiveContract;
if (bLiveMode && !bUsesAuditLedgerEvidence)
{
return false;
}
return true;
}
bool IsStructurallyValid() const;
};
USTRUCT(BlueprintType)

View file

@ -293,6 +293,24 @@ Latest GitNexus wrapper hardening follow-up still on `2026-06-24`:
- `Quality: 6139`
- all `7` rules passing
Latest later vanilla-refactor follow-up still on `2026-06-24`:
- the next bounded structural seam then moved
`FHyperTwistSkillValidationContractCase::IsStructurallyValid()` out of the
public skill header and into
`Private/HyperTwistSkills/HyperTwistSkillTypes.cpp`
- that kept the change fully behavior-preserving while reducing another small
piece of inline validator weight inside the public skill-type header
- `scripts/run-hypertwist-sentrux-source-only.sh` then improved again to:
- `Quality: 6145`
- all `7` rules passing
- current truthful “vanilla refactor” reading tightens one step further:
- the larger website/manual truth lane is already drained
- GitNexus and Sentrux ownership hardening is now landed
- remaining structural work is now smaller still and should be chosen only
when it materially improves maintenance rather than because a large obvious
hotspot remains
Latest same-day browser/distribution continuity follow-up still on `2026-06-24`:
- auth-entry, protected-route loading, dashboard auth health, and release-authority fallback states now share a more deliberate operator-facing recovery shape instead of scattering single-line warnings across public and protected surfaces