catalog

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package catalog owns the offline, content-addressed Requirement Catalog and ProtocolPack candidate generator. It never fetches sources or calls a model provider: source bytes are retrieved out of band and represented only by their first-party URL, locator, retrieval time, and SHA-256 lock.

Index

Constants

View Source
const (
	GeneratorName    = "agentapi-doctor-catalog-generator"
	GeneratorVersion = "1.0.0"

	SourceLockSchema  = "urn:agentapi-doctor:source-lock-set:v1"
	CatalogSchema     = "urn:agentapi-doctor:requirement-catalog:v1"
	FixtureSetSchema  = "urn:agentapi-doctor:catalog-fixture-set:v1"
	PackStatusSchema  = "urn:agentapi-doctor:pack-candidate-status:v1"
	SnapshotSchema    = "urn:agentapi-doctor:protocol-snapshot:v1"
	StatisticsSchema  = "urn:agentapi-doctor:catalog-statistics:v1"
	BoundarySetSchema = "urn:agentapi-doctor:catalog-boundary-set:v1"
	NegativeSetSchema = "urn:agentapi-doctor:catalog-negative-set:v1"

	StatusCandidate    = "candidate"
	ReviewPending      = "pending_review"
	ClaimedTierNone    = "none"
	PublicationBlocked = "blocked_pending_review"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BoundaryCase

type BoundaryCase struct {
	ID          string          `json:"id"`
	Boundary    string          `json:"boundary"`
	Input       json.RawMessage `json:"input"`
	Expectation string          `json:"expectation"`
}

type BoundarySet

type BoundarySet struct {
	SchemaVersion string         `json:"schema_version"`
	Generator     Generator      `json:"generator"`
	Cases         []BoundaryCase `json:"cases"`
}

type CandidateClaims

type CandidateClaims struct {
	Tier1                bool `json:"tier1"`
	IndependentReview    bool `json:"independent_review"`
	RealSDKValidation    bool `json:"real_sdk_validation"`
	LiveProviderVerified bool `json:"live_provider_verified"`
}

type CatalogStatistics

type CatalogStatistics struct {
	SchemaVersion                   string              `json:"schema_version"`
	Generator                       Generator           `json:"generator"`
	Status                          string              `json:"status"`
	ReviewStatus                    string              `json:"review_status"`
	ScenarioCount                   int                 `json:"scenario_count"`
	RequirementCount                int                 `json:"requirement_count"`
	NormativeDenominatorCount       int                 `json:"normative_denominator_count"`
	UniqueSemanticCount             int                 `json:"unique_semantic_count"`
	ReferenceFixtureMetadataCount   int                 `json:"reference_fixture_metadata_count"`
	TargetedMutantMetadataCount     int                 `json:"targeted_mutant_metadata_count"`
	FixtureRecordsExecutable        bool                `json:"fixture_records_executable"`
	ExecutableMutationGateSatisfied bool                `json:"executable_mutation_gate_satisfied"`
	AliasCount                      int                 `json:"alias_count"`
	DenominatorDigest               publicschema.Digest `json:"denominator_digest"`
	CatalogDigest                   publicschema.Digest `json:"catalog_digest"`
	Packs                           []PackStatistics    `json:"packs"`
	Claims                          CandidateClaims     `json:"claims"`
}

func Check

func Check(root string) (*CatalogStatistics, error)

func WriteGenerated

func WriteGenerated(root string) (*CatalogStatistics, error)

type DenominatorMember

type DenominatorMember struct {
	RequirementID        string              `json:"requirement_id"`
	ScenarioID           string              `json:"scenario_id"`
	Pack                 string              `json:"pack"`
	Taxonomy             string              `json:"taxonomy"`
	SemanticKey          string              `json:"semantic_key"`
	AssertionFingerprint publicschema.Digest `json:"assertion_fingerprint"`
	ReferencePassID      string              `json:"reference_pass_id"`
	TargetedMutantID     string              `json:"targeted_mutant_id"`
}

type FixtureRecord

type FixtureRecord struct {
	ID                string                `json:"id"`
	Ref               string                `json:"ref"`
	Kind              string                `json:"kind"`
	Protocol          string                `json:"protocol"`
	ScenarioID        string                `json:"scenario_id"`
	RequirementID     string                `json:"requirement_id"`
	SemanticKey       string                `json:"semantic_key"`
	AssertionRole     packapi.AssertionRole `json:"assertion_role"`
	ExpectedVerdict   string                `json:"expected_verdict"`
	MutationOperator  string                `json:"mutation_operator,omitempty"`
	KillsRequirement  string                `json:"kills_requirement,omitempty"`
	SyntheticEvidence SyntheticEvidence     `json:"synthetic_evidence"`
}

FixtureRecord describes a candidate fixture identity and its expected semantics. It is metadata, not an executable fixture payload or evidence that the reference/mutation gates have run.

type FixtureSet

type FixtureSet struct {
	SchemaVersion string          `json:"schema_version"`
	Generator     Generator       `json:"generator"`
	Kind          string          `json:"kind"`
	Fixtures      []FixtureRecord `json:"fixtures"`
}

type GeneratedRepository

type GeneratedRepository struct {
	Files      map[string][]byte
	Statistics CatalogStatistics
}

func Generate

func Generate(sources SourceLockSet) (*GeneratedRepository, error)

Generate builds all deterministic candidate artifacts in memory and compiles every scenario and pack through packapi before returning bytes.

type Generator

type Generator struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

type NegativeCase

type NegativeCase struct {
	ID          string          `json:"id"`
	Mutation    string          `json:"mutation"`
	Input       json.RawMessage `json:"input"`
	RejectStage string          `json:"reject_stage"`
}

type NegativeSet

type NegativeSet struct {
	SchemaVersion string         `json:"schema_version"`
	Generator     Generator      `json:"generator"`
	Cases         []NegativeCase `json:"cases"`
}

type PackCandidateStatus

type PackCandidateStatus struct {
	SchemaVersion        string   `json:"schema_version"`
	Pack                 string   `json:"pack"`
	Protocol             string   `json:"protocol"`
	ReleaseTrack         string   `json:"release_track"`
	Status               string   `json:"status"`
	ReviewStatus         string   `json:"review_status"`
	ClaimedTier          string   `json:"claimed_tier"`
	Publication          string   `json:"publication"`
	IndependentReview    bool     `json:"independent_review"`
	RealSDKValidation    bool     `json:"real_sdk_validation"`
	LiveProviderVerified bool     `json:"live_provider_verified"`
	KnownGaps            []string `json:"known_gaps"`
}

type PackStatistics

type PackStatistics struct {
	Pack               string              `json:"pack"`
	Protocol           string              `json:"protocol"`
	ReleaseTrack       string              `json:"release_track"`
	ScenarioCount      int                 `json:"scenario_count"`
	RequirementCount   int                 `json:"requirement_count"`
	SnapshotDigest     publicschema.Digest `json:"snapshot_digest"`
	CompiledPackDigest publicschema.Digest `json:"compiled_pack_digest"`
}

type ProtocolSnapshot

type ProtocolSnapshot struct {
	SchemaVersion string               `json:"schema_version"`
	Protocol      string               `json:"protocol"`
	Revision      string               `json:"revision"`
	Status        string               `json:"status"`
	ReviewStatus  string               `json:"review_status"`
	Sources       []SnapshotSourceLock `json:"sources"`
}

type Repository

type Repository struct {
	Sources             SourceLockSet
	Requirements        RequirementCatalog
	ReferenceFixtures   FixtureSet
	MutationFixtures    FixtureSet
	PackStatuses        map[string]PackCandidateStatus
	Snapshots           map[string]ProtocolSnapshot
	CompileRequirements map[string]packapi.RequirementRecord
	CompileFixtures     map[string]publicschema.Digest
}

Repository is the fully resolved, strictly loaded checked-in catalog.

func LoadRepository

func LoadRepository(root string) (*Repository, error)

type Requirement

type Requirement struct {
	ID                   string                   `json:"id"`
	Protocol             string                   `json:"protocol"`
	Pack                 string                   `json:"pack"`
	Level                packapi.RequirementLevel `json:"level"`
	Category             packapi.ScenarioClass    `json:"category"`
	Taxonomy             string                   `json:"taxonomy"`
	AssertionRole        packapi.AssertionRole    `json:"assertion_role"`
	Source               RequirementSource        `json:"source"`
	Interpretation       string                   `json:"interpretation"`
	SemanticKey          string                   `json:"semantic_key"`
	AssertionFingerprint publicschema.Digest      `json:"assertion_fingerprint"`
	ScenarioID           string                   `json:"scenario_id"`
	ReferencePassID      string                   `json:"reference_pass_id"`
	TargetedMutantID     string                   `json:"targeted_mutant_id"`
	Budget               RequirementBudget        `json:"budget"`
	Status               string                   `json:"status"`
	ReviewStatus         string                   `json:"review_status"`
}

type RequirementBudget

type RequirementBudget struct {
	Timeout          publicschema.Duration `json:"timeout"`
	MaxRequests      int64                 `json:"max_requests"`
	MaxInputTokens   int64                 `json:"max_input_tokens"`
	MaxOutputTokens  int64                 `json:"max_output_tokens"`
	MaxResponseBytes int64                 `json:"max_response_bytes"`
	MaxArtifactBytes int64                 `json:"max_artifact_bytes"`
}

type RequirementCatalog

type RequirementCatalog struct {
	SchemaVersion   string        `json:"schema_version"`
	Generator       Generator     `json:"generator"`
	Status          string        `json:"status"`
	ReviewStatus    string        `json:"review_status"`
	DenominatorRule string        `json:"denominator_rule"`
	Requirements    []Requirement `json:"requirements"`
}

type RequirementSource

type RequirementSource struct {
	SourceID string `json:"source_id"`
	Locator  string `json:"locator"`
}

type SnapshotSourceLock

type SnapshotSourceLock struct {
	SourceID      string              `json:"source_id"`
	ContentSHA256 publicschema.Digest `json:"content_sha256"`
}

type SourceLock

type SourceLock struct {
	ID            string               `json:"id"`
	Protocol      string               `json:"protocol"`
	SourceType    string               `json:"source_type"`
	OriginalURL   string               `json:"original_url"`
	ResolvedURL   string               `json:"resolved_url"`
	RetrievedAt   publicschema.UTCTime `json:"retrieved_at"`
	Revision      string               `json:"revision"`
	ContentSHA256 publicschema.Digest  `json:"content_sha256"`
	License       string               `json:"license"`
	ReuseStatus   string               `json:"reuse_status"`
}

SourceLock deliberately contains metadata only. Restricted documentation is never mirrored into this repository.

type SourceLockSet

type SourceLockSet struct {
	SchemaVersion string       `json:"schema_version"`
	Status        string       `json:"status"`
	ReviewStatus  string       `json:"review_status"`
	Sources       []SourceLock `json:"sources"`
}

func LoadSourceLocks

func LoadSourceLocks(root string) (SourceLockSet, error)

type SyntheticEvidence

type SyntheticEvidence struct {
	Transport   string `json:"transport"`
	Observation string `json:"observation"`
	DataClass   string `json:"data_class"`
}

Jump to

Keyboard shortcuts

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