Pins name the commits, the exact file list and each sha256; the verifier is proved to fail on a changed byte, an extra file and a missing file, at both directory levels. The four golden request frames still reproduce. The synthetic card-viewers and proposed non-decider fragments are gone: both reader views are now CultLib's own entry bytes served through the door. Huginn's record-whole still has no answerer_count (its README says so), so the fault test stays true and is re-pointed at it. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
19 lines
728 B
C#
19 lines
728 B
C#
using System.Security.Cryptography;
|
|
using Bifrost.Web.Tests.Support;
|
|
|
|
namespace Bifrost.Web.Tests;
|
|
|
|
public sealed class DeskVectorPinTests
|
|
{
|
|
[Fact]
|
|
public void Vectors_are_cultlib_d3025d3c()
|
|
{
|
|
Assert.StartsWith("d3025d3c", DeskVectors.SourceCommit, StringComparison.Ordinal);
|
|
var sha = Convert.ToHexString(SHA256.HashData(File.ReadAllBytes(DeskVectors.Path))).ToLowerInvariant();
|
|
|
|
Assert.True(
|
|
DeskVectors.FileSha256 == sha,
|
|
$"fork-card-vectors.json is not CultLib {DeskVectors.SourceCommit}:contracts/cultnet/governance/fork-card-vectors.json (sha256 {sha}). " +
|
|
"Re-vendor from that commit or move the pin on purpose, with the whole contract.");
|
|
}
|
|
}
|