t401

package
v0.0.0-...-3d6ecf2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2026 License: Apache-2.0 Imports: 27 Imported by: 0

README

T40.1 neutral scale envelope

This directory retains only source-free controls and receipts. The explicit scratch repositories, index shards, process observations, and author binaries were destroyed after validation.

Artifact SHA-256 Authority
envelope.json 92cce848e6e42942c24e2fa066968571fb5693252b7b41b7a91c889881fe7f94 Frozen structural/semantic profiles and independent oracles
comparison.json 3527bec297c80c71b6c5081b1b386d25efc9ec8894643f599c7c57848be3b402 Environment-bound same-SHA small-projection reader comparison
reproducibility.json b7b0491af659007eb8e903279ca63c6f8178878a8af114a9af0cd407e52ccb1a Two separate frozen author invocations per profile
structural/manifest.json 4ae92b8efa58d459fe8fa10ba23c5cedad3adc7b2dddbd7618ea8d96c306604b Deterministic two-million-owner Git identity
structural/receipt.json bd80bef34f61f35c2f701d0877d4c013ec3c7d0ce62ec3756b32b7a4f103b2c2 One source-free explicit authoring observation
semantic/manifest.json ca4925f3ca3ddad42955e5c3dc0e9b5610e7fa8ac4ce3e614a9ad091e23362a8 Deterministic semantic Git identity
semantic/receipt.json e096b17faccd3ace38f0272234bc7fdfff97b0dfb1ccd23fa388e888d966d6d3 One source-free explicit authoring observation

Normal tests build only the retained projections. The two frozen repositories are explicit external artifacts and require -confirm-frozen; the author also refuses any output within the symlink-resolved module worktree.

go run ./spike/t401/cmd/t401-envelope -output ./spike/t401/envelope.json
go run ./spike/t401/cmd/t401-author \
  -module-root "$PWD" -profile structural -confirm-frozen \
  -output /absolute/external/structural-first
go run ./spike/t401/cmd/t401-author \
  -module-root "$PWD" -profile structural -confirm-frozen \
  -output /absolute/external/structural-second
go run ./spike/t401/cmd/t401-author \
  -module-root "$PWD" -profile semantic -confirm-frozen \
  -output /absolute/external/semantic-first
go run ./spike/t401/cmd/t401-author \
  -module-root "$PWD" -profile semantic -confirm-frozen \
  -output /absolute/external/semantic-second
go run ./spike/t401/cmd/t401-author \
  -module-root "$PWD" -profile structural -scale projection \
  -output /absolute/external/projection
go run ./spike/t401/cmd/t401-reproducibility \
  -structural-first /absolute/external/structural-first \
  -structural-second /absolute/external/structural-second \
  -semantic-first /absolute/external/semantic-first \
  -semantic-second /absolute/external/semantic-second \
  -output ./spike/t401/reproducibility.json
go run ./spike/t401/cmd/t401-compare \
  -module-root "$PWD" -binary /absolute/pinned/zoekt-git-index \
  -repository /absolute/projection/repository.git \
  -work-dir /absolute/new/comparison \
  -output ./spike/t401/comparison.json

An interrupted author retains <output>.building/author-state.json; invoking the same command resumes only after the profile digest and Git commit count agree. The same-SHA comparison is intentionally limited to the small authored structural projection. It requires semantic indexed-content and ordered per-query returned-file/content projection equality while recording raw shard-byte equality as an observation only.

Two separately invoked authored instances of each frozen profile produced identical profile, oracle, manifest, commit, and tree identities. The strict source-free reproducibility.json retains both build observations, including the intentionally non-identity bare-Git logical and allocated bytes. The structural shape contains 2,000,000 eligible Go paths plus two separately reported controls, 512 reusable Go blobs, 1,000,000 synthetic caller placements, and 9,216,000,000 declared Go placement bytes. Its current source-partition and observation limits admit the modeled shape; no downstream pipeline stage was run. The semantic shape contains 262,144 distinct Go blobs and 32,768 IDL inputs. Its source-partition model is admitted, but current observation publication is expected to refuse generation_records at 262,144 > 250,000; every downstream stage is therefore not_run, never a successful zero.

The semantic templates are parity-checked at their first and last frozen ordinals through the real source-observation adapters and Proto/Thrift extractors. The frozen supported and explicit-gap families include resolved RPC, literal Kafka, dynamic receiver/topic gaps, supported Proto declarations, unresolved Proto declarations (DECLARATION_NOT_FOUND), supported Thrift declarations, and a Thrift typedef cycle (TYPEDEF_CHAIN_LIMIT). A separate production-extractor parity case proves that package-less Proto is supported rather than classified as a gap.

The small reader comparison used the same verified zoekt binary for both modes. Both modes indexed 4,098 files and produced equal indexed-content and ordered per-query returned-file/content projection digests. Their 5,168,672-byte shard files had different raw digests. Missing objects completed with an explicit gap in both modes; a corrupt object was refused by the go-git default but completed with a gap under the cat-file candidate. The 10 ms process-tree samples observed 87,506,944 bytes / 6 descriptors for go-git and 87,785,472 bytes / 9 descriptors for the candidate. Those sampled values are neither peaks between samples nor giant- profile cost evidence. The candidate remains unselected.

The repository lane models every eligible Go path. The caller lane is the synthetic first-offset projection defined by the profile and deliberately does not claim parity with production candidate selection. The reported 4,096-item partitions are neutral modeled input chunks, not measured production sourcepartition hash leaves.

Profile, oracle, manifest, commit, and tree identities are deterministic across independent builds. Declared and logical source bytes belong to that manifest identity. Bare-Git logical and filesystem-allocated bytes remain exact per-run receipt observations: they are never summed with source bytes and allocated bytes may differ across equivalent builds, filesystems, or toolchain versions.

The historical private diagnostic remains unknown. Successful corpus authoring is not a successful phebs convergence run. These records establish no target SLO, supported scale, accuracy/completeness, commit-cadence freshness, topology, migration completion, decommission safety, pilot continuation, or release. GATE2-V2 remains NOT_ESTABLISHED and DO_NOT_RELEASE remains in force.

Documentation

Overview

Package t401 freezes the neutral scale envelope and explicit authoring seams used by T40.1. Production packages must not import spike packages.

Index

Constants

View Source
const (
	EnvelopeSchema        = "t401-neutral-scale-envelope-v1"
	ProfileSchema         = "t401-neutral-scale-profile-v1"
	OracleSchema          = "t401-independent-scale-oracle-v1"
	ManifestSchema        = "t401-neutral-git-manifest-v1"
	ReceiptSchema         = "t401-neutral-author-receipt-v1"
	ReproducibilitySchema = "t401-neutral-author-reproducibility-v1"
	ComparisonSchema      = "t401-zoekt-blob-reader-comparison-v1"

	StructuralProfileName = "structural-2m-v1"
	SemanticProfileName   = "semantic-262144-v1"
	RepositoryName        = "example.invalid/t401-neutral-scale"
)

Variables

View Source
var (
	ErrDimensionExceeded = errors.New("t401 profile dimension exceeded")
	ErrInjected          = errors.New("t401 author failure injected")
)

Functions

func CheckDimension

func CheckDimension(name string, observed, admitted uint64) error

func DecodeStrict

func DecodeStrict[T any](data []byte) (T, error)

func FrozenCallerControlFixture

func FrozenCallerControlFixture(profile Profile) (string, []byte, error)

FrozenCallerControlFixture returns the exact committed go.mod selected by the caller candidate policy for either frozen profile.

func FrozenSemanticGoFixture

func FrozenSemanticGoFixture(profile Profile, family string, ordinal uint64) (string, []byte, error)

FrozenSemanticGoFixture returns one exact baseline-A Go input from the retained semantic author. It is intentionally narrow: readiness diagnostics can measure real extractor output without copying the frozen templates or materializing the complete Git repository.

func FrozenStructuralGoFixture

func FrozenStructuralGoFixture(profile Profile, ordinal uint64) (string, []byte, error)

FrozenStructuralGoFixture returns one exact baseline-A structural Go input without authoring the two-million-owner repository.

func MarshalCanonical

func MarshalCanonical(value any) ([]byte, error)

func ProfileDigest

func ProfileDigest(profile Profile) (string, error)

func QuerySetDigest

func QuerySetDigest(queries []string) (string, error)

func SHA256

func SHA256(data []byte) string

func ValidateComparison

func ValidateComparison(receipt ComparisonReceipt) error

func ValidateEnvelope

func ValidateEnvelope(envelope Envelope) error

func ValidateManifest

func ValidateManifest(manifest Manifest, profile Profile, oracle Oracle) error

func ValidateOracle

func ValidateOracle(oracle Oracle, profile Profile) error

func ValidateProfile

func ValidateProfile(profile Profile) error

func ValidateReceipt

func ValidateReceipt(receipt Receipt, profile Profile, manifest Manifest) error

func ValidateReproducibilityReceipt

func ValidateReproducibilityReceipt(receipt ReproducibilityReceipt) error

Types

type AdapterExpectation

type AdapterExpectation struct {
	Family     string `json:"family"`
	Adapter    string `json:"adapter"`
	Protocol   string `json:"protocol,omitempty"`
	ImportPath string `json:"import_path,omitempty"`
	ClientType string `json:"client_type,omitempty"`
	Method     string `json:"method,omitempty"`
	Operation  string `json:"operation,omitempty"`
	Plane      string `json:"plane,omitempty"`
	State      string `json:"state"`
	Reason     string `json:"reason,omitempty"`
}

type Aggregate

type Aggregate struct {
	PhysicalOwners            uint64 `json:"physical_owners"`
	RegularFiles              uint64 `json:"regular_files"`
	EligibleGoFiles           uint64 `json:"eligible_go_files"`
	IDLCandidates             uint64 `json:"idl_candidates"`
	ControlFiles              uint64 `json:"control_files"`
	RepositoryLanePlacements  uint64 `json:"repository_lane_placements"`
	CallerLanePlacements      uint64 `json:"caller_lane_placements"`
	UniqueGoBlobs             uint64 `json:"unique_go_blobs"`
	UniqueIDLBlobs            uint64 `json:"unique_idl_blobs"`
	DeclaredRepositoryGoBytes uint64 `json:"declared_repository_go_bytes"`
	LogicalSourceBytes        uint64 `json:"logical_source_bytes"`
	ControlBytes              uint64 `json:"control_bytes"`
	ModeledDomainPartitions   uint64 `json:"modeled_domain_partitions"`
	ModeledDomainMembers      uint64 `json:"modeled_domain_members"`
	DomainPartitionModel      string `json:"domain_partition_model"`
	ObservationRecords        uint64 `json:"observation_records"`
	ObservationGaps           uint64 `json:"observation_gap_classifications"`
	ExtractorFacts            uint64 `json:"extractor_facts"`
	ExtractorGapFacts         uint64 `json:"extractor_gap_facts"`
	ExtractorStagingRows      uint64 `json:"extractor_staging_rows"`
	CanonicalObservationBytes uint64 `json:"canonical_observation_bytes"`
	CanonicalExtractorBytes   uint64 `json:"canonical_extractor_bytes"`
	CanonicalResultByteModel  string `json:"canonical_result_byte_model"`
}

type ArtifactIdentity

type ArtifactIdentity struct {
	Name   string `json:"name"`
	Bytes  uint64 `json:"bytes"`
	SHA256 string `json:"sha256"`
}

type AuthorBuildObservation

type AuthorBuildObservation struct {
	Ordinal               uint64             `json:"ordinal"`
	Artifacts             []ArtifactIdentity `json:"artifacts"`
	Revisions             []RevisionIdentity `json:"revisions"`
	Git                   ToolIdentity       `json:"git"`
	BareGitLogicalBytes   uint64             `json:"bare_git_logical_bytes"`
	BareGitAllocatedBytes uint64             `json:"bare_git_allocated_bytes"`
}

type AuthorRequest

type AuthorRequest struct {
	ModuleRoot    string
	Output        string
	Profile       Profile
	ConfirmFrozen bool
	FailAt        string
}

type BlobReaderTrial

type BlobReaderTrial struct {
	Schema             string       `json:"schema"`
	BinaryAuthority    string       `json:"binary_authority"`
	Fixture            string       `json:"fixture"`
	Modes              []ReaderMode `json:"modes"`
	Queries            []string     `json:"queries"`
	Checks             []string     `json:"checks"`
	GiantMeasurement   string       `json:"giant_measurement"`
	ProductionSelected bool         `json:"production_selected"`
}

func FrozenBlobReaderTrial

func FrozenBlobReaderTrial() BlobReaderTrial

type BoundaryProbe

type BoundaryProbe struct {
	Mode               string `json:"mode"`
	Kind               string `json:"kind"`
	Boundary           string `json:"boundary"`
	Outcome            string `json:"outcome"`
	Class              string `json:"class"`
	ParentReaped       bool   `json:"parent_reaped"`
	GitDescendantState string `json:"git_descendant_state"`
}

type ByteMetric

type ByteMetric struct {
	Kind        string `json:"kind"`
	Measurement string `json:"measurement"`
	Bytes       uint64 `json:"bytes"`
}

type ComparisonClaims

type ComparisonClaims struct {
	SameBinary               bool `json:"same_binary"`
	SmallNeutralFixture      bool `json:"small_neutral_fixture"`
	SelectsProductionReader  bool `json:"selects_production_reader"`
	EstablishesGiantCost     bool `json:"establishes_giant_cost"`
	ChangesProductionPosture bool `json:"changes_production_posture"`
}

type ComparisonReceipt

type ComparisonReceipt struct {
	Schema                string            `json:"schema"`
	Binary                ToolIdentity      `json:"binary"`
	FixtureProfileDigest  string            `json:"fixture_profile_digest"`
	FixtureManifestDigest string            `json:"fixture_manifest_digest"`
	FixtureTree           string            `json:"fixture_tree"`
	Queries               []string          `json:"queries"`
	QuerySetDigest        string            `json:"query_set_digest"`
	Modes                 []ModeMeasurement `json:"modes"`
	IndexBytesEqual       bool              `json:"index_bytes_equal"`
	IndexedContentEqual   bool              `json:"indexed_content_equal"`
	QueryResultsEqual     bool              `json:"query_results_equal"`
	BoundaryProbes        []BoundaryProbe   `json:"boundary_probes"`
	Claims                ComparisonClaims  `json:"claims"`
}

func CompareBlobReaders

func CompareBlobReaders(ctx context.Context, request ComparisonRequest) (ComparisonReceipt, error)

type ComparisonRequest

type ComparisonRequest struct {
	ModuleRoot string
	Binary     string
	Repository string
	WorkDir    string
	Queries    []string
}

type Dimension

type Dimension struct {
	Name     string `json:"name"`
	Baseline uint64 `json:"baseline"`
	Admitted uint64 `json:"admitted"`
}

type DimensionError

type DimensionError struct {
	Dimension string
	Observed  uint64
	Admitted  uint64
}

func (*DimensionError) Error

func (err *DimensionError) Error() string

func (*DimensionError) Unwrap

func (err *DimensionError) Unwrap() error

type Envelope

type Envelope struct {
	Schema               string               `json:"schema"`
	Profiles             []Profile            `json:"profiles"`
	Oracles              []Oracle             `json:"oracles"`
	FailurePoints        []FailurePoint       `json:"failure_points"`
	BlobReaderTrial      BlobReaderTrial      `json:"blob_reader_trial"`
	HistoricalDiagnostic HistoricalDiagnostic `json:"historical_diagnostic"`
	Claims               EnvelopeClaims       `json:"claims"`
}

func BuildEnvelope

func BuildEnvelope() (Envelope, error)

type EnvelopeClaims

type EnvelopeClaims struct {
	Synthetic                 bool `json:"synthetic"`
	GiantAuthoringExplicit    bool `json:"giant_authoring_explicit"`
	GeneratesGiantInTests     bool `json:"generates_giant_in_tests"`
	EstablishesTargetSLO      bool `json:"establishes_target_slo"`
	EstablishesAccuracy       bool `json:"establishes_accuracy"`
	QualifiesSupportedScale   bool `json:"qualifies_supported_scale"`
	SelectsBlobReader         bool `json:"selects_blob_reader"`
	ChangesProductionBehavior bool `json:"changes_production_behavior"`
	AuthorizesRelease         bool `json:"authorizes_release"`
}

type FailurePoint

type FailurePoint struct {
	Name         string `json:"name"`
	Boundary     string `json:"boundary"`
	LeavesTarget bool   `json:"leaves_target"`
}

func FrozenFailurePoints

func FrozenFailurePoints() []FailurePoint

type GeneratorIdentity

type GeneratorIdentity struct {
	Name            string `json:"name"`
	Version         string `json:"version"`
	GitObjectFormat string `json:"git_object_format"`
	PathOrder       string `json:"path_order"`
	PathLayout      string `json:"path_layout"`
	TemplatePolicy  string `json:"template_policy"`
	BlobReusePolicy string `json:"blob_reuse_policy"`
	Timestamp       int64  `json:"timestamp"`
	AuthorName      string `json:"author_name"`
	AuthorEmail     string `json:"author_email"`
}

type HistoricalDiagnostic

type HistoricalDiagnostic struct {
	Artifact string `json:"artifact"`
	SHA256   string `json:"sha256"`
	Outcome  string `json:"outcome"`
	Scope    string `json:"scope"`
}

func FrozenHistoricalDiagnostic

func FrozenHistoricalDiagnostic() HistoricalDiagnostic

type LaneProjection

type LaneProjection struct {
	Name                      string `json:"name"`
	Selection                 string `json:"selection"`
	Unit                      string `json:"unit"`
	Placements                uint64 `json:"placements"`
	UniqueGoBlobs             uint64 `json:"unique_go_blobs"`
	DeclaredBytes             uint64 `json:"declared_bytes"`
	LogicalBytes              uint64 `json:"logical_bytes"`
	ProductionCandidateParity bool   `json:"production_candidate_parity"`
}

type Manifest

type Manifest struct {
	Schema        string             `json:"schema"`
	Profile       string             `json:"profile"`
	ProfileDigest string             `json:"profile_digest"`
	Repository    string             `json:"repository"`
	Projection    bool               `json:"projection"`
	Aggregate     Aggregate          `json:"aggregate"`
	Revisions     []RevisionIdentity `json:"revisions"`
	ByteMetrics   []ByteMetric       `json:"byte_metrics"`
	FailurePoints []string           `json:"failure_points"`
}

type ModeMeasurement

type ModeMeasurement struct {
	Name          string              `json:"name"`
	Environment   string              `json:"environment_value"`
	IndexSHA256   string              `json:"index_sha256"`
	IndexBytes    uint64              `json:"index_bytes"`
	ShardCount    uint64              `json:"shard_count"`
	ContentSHA256 string              `json:"indexed_content_sha256"`
	QuerySHA256   string              `json:"query_results_sha256"`
	FilesSeen     uint64              `json:"files_seen"`
	Resources     ResourceObservation `json:"resources"`
}

type Oracle

type Oracle struct {
	Schema           string             `json:"schema"`
	Profile          string             `json:"profile"`
	ProfileDigest    string             `json:"profile_digest"`
	Aggregate        Aggregate          `json:"aggregate"`
	Dimensions       []Dimension        `json:"dimensions"`
	ExpectedOutcomes []StageExpectation `json:"expected_outcomes"`
	Families         []OracleFamily     `json:"families"`
	Revisions        []OracleRevision   `json:"revisions"`
	Failures         []OracleFailure    `json:"failures"`
}

func DeriveOracle

func DeriveOracle(profile Profile) (Oracle, error)

DeriveOracle calculates expected corpus and transition results from only the closed profile input. It deliberately does not accept a Phebs generation, Git manifest, index, extraction output, or publication receipt.

type OracleFailure

type OracleFailure struct {
	Point   string `json:"point"`
	Class   string `json:"class"`
	Cleanup string `json:"cleanup"`
}

type OracleFamily

type OracleFamily struct {
	Name           string `json:"name"`
	Inputs         uint64 `json:"inputs"`
	Outcome        string `json:"outcome"`
	Facts          uint64 `json:"facts"`
	Gaps           uint64 `json:"gaps"`
	StagingRows    uint64 `json:"staging_rows"`
	CanonicalBytes uint64 `json:"canonical_bytes"`
	Reason         string `json:"reason,omitempty"`
}

type OracleRevision

type OracleRevision struct {
	Revision      string `json:"revision"`
	RegularFiles  uint64 `json:"regular_files"`
	UniqueGoBlobs uint64 `json:"unique_go_blobs"`
	ChangedFiles  uint64 `json:"changed_files"`
	ExpectedTree  string `json:"expected_tree"`
}

type Profile

type Profile struct {
	Schema              string               `json:"schema"`
	Name                string               `json:"name"`
	Kind                string               `json:"kind"`
	Scale               string               `json:"scale"`
	ParentProfileDigest string               `json:"parent_profile_digest,omitempty"`
	Seed                string               `json:"seed"`
	Generator           GeneratorIdentity    `json:"generator"`
	Shape               ProfileShape         `json:"shape"`
	Families            []TemplateFamily     `json:"template_families"`
	Adapters            []AdapterExpectation `json:"adapter_expectations"`
	Lanes               []LaneProjection     `json:"lane_projections"`
	Aggregate           Aggregate            `json:"aggregate"`
	Dimensions          []Dimension          `json:"dimensions"`
	ExpectedOutcomes    []StageExpectation   `json:"expected_outcomes"`
	Transitions         []Transition         `json:"transitions"`
	Claims              ProfileClaims        `json:"claims"`
}

func FrozenProfiles

func FrozenProfiles() ([]Profile, error)

func ProjectionProfile

func ProjectionProfile(kind string) (Profile, error)

func StructuralPartitionProfile

func StructuralPartitionProfile() (Profile, error)

StructuralPartitionProfile is the bounded throughput fixture: exactly one full 4,096-record candidate partition with the frozen structural profile's 4,608-byte Go blobs and 512 reuse classes. It remains a synthetic projection bound to the frozen parent and is not a scale result.

type ProfileClaims

type ProfileClaims struct {
	Synthetic               bool `json:"synthetic"`
	ExplicitAuthoringOnly   bool `json:"explicit_authoring_only"`
	EstablishesTargetSLO    bool `json:"establishes_target_slo"`
	EstablishesAccuracy     bool `json:"establishes_accuracy"`
	QualifiesSupportedScale bool `json:"qualifies_supported_scale"`
	AuthorizesRelease       bool `json:"authorizes_release"`
}

type ProfileShape

type ProfileShape struct {
	Cells                  uint64 `json:"cells"`
	EligibleGoPathsPerCell uint64 `json:"eligible_go_paths_per_cell"`
	CallerPathsPerCell     uint64 `json:"caller_paths_per_cell"`
	GoFileBytes            uint64 `json:"go_file_bytes"`
	GoBlobReuseClasses     uint64 `json:"go_blob_reuse_classes"`
	IDLFileBytes           uint64 `json:"idl_file_bytes"`
	ControlFiles           uint64 `json:"control_files"`
}

type ReaderMode

type ReaderMode struct {
	Name            string `json:"name"`
	EnvironmentName string `json:"environment_name"`
	Environment     string `json:"environment_value"`
	Production      bool   `json:"production"`
}

type Receipt

type Receipt struct {
	Schema               string               `json:"schema"`
	Outcome              string               `json:"outcome"`
	Profile              string               `json:"profile"`
	ProfileDigest        string               `json:"profile_digest"`
	Artifacts            []ArtifactIdentity   `json:"artifacts"`
	Revisions            []RevisionIdentity   `json:"revisions"`
	Git                  ToolIdentity         `json:"git"`
	ByteMetrics          []ByteMetric         `json:"byte_metrics"`
	HistoricalDiagnostic HistoricalDiagnostic `json:"historical_diagnostic"`
	Claims               ProfileClaims        `json:"claims"`
}

func Author

func Author(ctx context.Context, request AuthorRequest) (Receipt, error)

func AuthorClosedSystem

func AuthorClosedSystem(ctx context.Context, request AuthorRequest) (Receipt, error)

AuthorClosedSystem applies the closed V25 host-command contract without changing the historical AuthorRequest shape.

func AuthorClosedSystemWithGit

func AuthorClosedSystemWithGit(
	ctx context.Context, request AuthorRequest, path, sha256 string, environment []string,
) (Receipt, error)

AuthorClosedSystemWithGit uses one already-verified canonical Git path for every V25 authoring command.

type ReproducibilityClaims

type ReproducibilityClaims struct {
	Synthetic                 bool `json:"synthetic"`
	SourceFree                bool `json:"source_free"`
	SeparateAuthorInvocations bool `json:"separate_author_invocations"`
	EstablishesTargetSLO      bool `json:"establishes_target_slo"`
	QualifiesSupportedScale   bool `json:"qualifies_supported_scale"`
	AuthorizesRelease         bool `json:"authorizes_release"`
}

type ReproducibilityProfile

type ReproducibilityProfile struct {
	Profile               string                   `json:"profile"`
	Kind                  string                   `json:"kind"`
	Scale                 string                   `json:"scale"`
	ProfileDigest         string                   `json:"profile_digest"`
	Builds                []AuthorBuildObservation `json:"builds"`
	ProfileBytesEqual     bool                     `json:"profile_bytes_equal"`
	OracleBytesEqual      bool                     `json:"oracle_bytes_equal"`
	ManifestBytesEqual    bool                     `json:"manifest_bytes_equal"`
	RevisionIdentityEqual bool                     `json:"revision_identity_equal"`
}

func CompareAuthoredPair

func CompareAuthoredPair(firstPath, secondPath string) (ReproducibilityProfile, error)

CompareAuthoredPair validates and compares two complete author outputs. It is also used by projection tests; full retained authority is granted only by ValidateReproducibilityReceipt over both frozen profiles.

type ReproducibilityReceipt

type ReproducibilityReceipt struct {
	Schema   string                   `json:"schema"`
	Profiles []ReproducibilityProfile `json:"profiles"`
	Claims   ReproducibilityClaims    `json:"claims"`
}

func BuildReproducibilityReceipt

func BuildReproducibilityReceipt(request ReproducibilityRequest) (ReproducibilityReceipt, error)

BuildReproducibilityReceipt compares two separately authored frozen outputs per profile. Paths are input authority only and never enter the result.

type ReproducibilityRequest

type ReproducibilityRequest struct {
	Structural [2]string
	Semantic   [2]string
}

type ResourceObservation

type ResourceObservation struct {
	RSSState              string `json:"rss_state"`
	SampledMaxRSSBytes    uint64 `json:"sampled_max_rss_bytes"`
	RSSMethod             string `json:"rss_method"`
	DescriptorState       string `json:"descriptor_state"`
	SampledMaxDescriptors uint64 `json:"sampled_max_descriptors"`
	DescriptorMethod      string `json:"descriptor_method"`
	IncludesDescendants   bool   `json:"includes_descendants"`
}

type RevisionIdentity

type RevisionIdentity struct {
	Revision      string `json:"revision"`
	Commit        string `json:"commit"`
	Tree          string `json:"tree"`
	RegularFiles  uint64 `json:"regular_files"`
	UniqueGoBlobs uint64 `json:"unique_go_blobs"`
	ChangedFiles  uint64 `json:"changed_files"`
}

type StageExpectation

type StageExpectation struct {
	Stage     string `json:"stage"`
	Outcome   string `json:"outcome"` // pass | refused | not_run
	Class     string `json:"class"`
	Dimension string `json:"dimension"`
	Observed  uint64 `json:"observed"`
	Limit     uint64 `json:"limit"`
}

type TemplateFamily

type TemplateFamily struct {
	Name                   string `json:"name"`
	Plane                  string `json:"plane"`
	Suffix                 string `json:"suffix"`
	Outcome                string `json:"outcome"`
	Reason                 string `json:"reason,omitempty"`
	Inputs                 uint64 `json:"inputs"`
	RecordsPerInput        uint64 `json:"records_per_input"`
	GapsPerInput           uint64 `json:"gaps_per_input"`
	StagingRowsPerInput    uint64 `json:"staging_rows_per_input"`
	CanonicalBytesPerInput uint64 `json:"canonical_bytes_per_input"`
}

type ToolIdentity

type ToolIdentity struct {
	Name    string `json:"name"`
	Version string `json:"version"`
	SHA256  string `json:"sha256,omitempty"`
}

type Transition

type Transition struct {
	Revision            string `json:"revision"`
	Parent              string `json:"parent,omitempty"`
	Posture             string `json:"posture"`
	ChangedRegularFiles uint64 `json:"changed_regular_files"`
	TreeRelation        string `json:"tree_relation"`
}

Directories

Path Synopsis
cmd
t401-author command
t401-compare command
t401-envelope command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL