commit bce7f8d924bc33c7009eb98a51dcae425341f9d3 parent 87a14b7840ca39ee319db9a388b0dfe4e0b87b64 Author: triesap <tyson@radroots.org> Date: Tue, 11 Aug 2026 03:58:14 +0000 test: verify native compatibility behavior - remove Kotlin source spelling from Gradle verification inputs - keep compatibility authority in compiled production behavior - cover rejection of a contract minor below the supported floor - retain the complete descriptor incompatibility matrix Diffstat:
3 files changed, 1 insertion(+), 19 deletions(-)
diff --git a/app/desktop/src/test/kotlin/org/harvestcircle/application/NativeCompatibilityTest.kt b/app/desktop/src/test/kotlin/org/harvestcircle/application/NativeCompatibilityTest.kt @@ -26,6 +26,7 @@ class NativeCompatibilityTest { descriptor.copy(cargoPackageVersion = "wrong"), descriptor.copy(distributionPackageVersion = "wrong"), descriptor.copy(contractMajor = 5.toUShort()), + descriptor.copy(contractMinor = (Expected.minimumFfiContractMinor.toUInt() - 1U).toUShort()), descriptor.copy(contractHash = "wrong"), descriptor.copy(productCoordinateDigest = "wrong"), descriptor.copy(snapshotSchemaVersion = 2U), diff --git a/build-logic/plugins/src/main/kotlin/org/harvestcircle/buildlogic/plugins/HarvestCircleRootPlugin.kt b/build-logic/plugins/src/main/kotlin/org/harvestcircle/buildlogic/plugins/HarvestCircleRootPlugin.kt @@ -27,11 +27,6 @@ public class HarvestCircleRootPlugin : Plugin<Project> { task.sourceProvenanceFile.set( target.layout.projectDirectory.file("core/provenance/$legacyProduct-import-v1.toml"), ) - task.nativeCompatibilityFile.set( - target.layout.projectDirectory.file( - "app/desktop/src/main/kotlin/org/harvestcircle/application/NativeCompatibility.kt", - ), - ) } target.tasks.register("verifyCompatibilityBaseline") { task -> diff --git a/build-logic/plugins/src/main/kotlin/org/harvestcircle/buildlogic/plugins/tasks/ProductCoordinatesTask.kt b/build-logic/plugins/src/main/kotlin/org/harvestcircle/buildlogic/plugins/tasks/ProductCoordinatesTask.kt @@ -27,10 +27,6 @@ abstract class VerifyProductCoordinates : DefaultTask() { @get:PathSensitive(PathSensitivity.RELATIVE) abstract val sourceProvenanceFile: RegularFileProperty - @get:InputFile - @get:PathSensitive(PathSensitivity.RELATIVE) - abstract val nativeCompatibilityFile: RegularFileProperty - @TaskAction fun verify() { val source = manifestFile.get().asFile.readText() @@ -54,15 +50,5 @@ abstract class VerifyProductCoordinates : DefaultTask() { val provenance = SourceProvenance.load(sourceProvenanceFile.get().asFile) check(baseline["source.provenance_digest"] == provenance.digest) check(provenance.foundationBaseline == baseline["source.foundation_baseline"]) - val nativeCompatibility = nativeCompatibilityFile.get().asFile.readText() - check(nativeCompatibility.contains("NativeCompatibilityExpectations as Expected")) - listOf( - "contract.id", - "contract.hash", - "product.coordinate_digest", - "source.provenance_digest", - "source.foundation_baseline", - ).forEach { key -> check(!nativeCompatibility.contains(baseline[key])) } } - }