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
- type BoundaryCase
- type BoundarySet
- type CandidateClaims
- type CatalogStatistics
- type DenominatorMember
- type FixtureRecord
- type FixtureSet
- type GeneratedRepository
- type Generator
- type NegativeCase
- type NegativeSet
- type PackCandidateStatus
- type PackStatistics
- type ProtocolSnapshot
- type Repository
- type Requirement
- type RequirementBudget
- type RequirementCatalog
- type RequirementSource
- type SnapshotSourceLock
- type SourceLock
- type SourceLockSet
- type SyntheticEvidence
Constants ¶
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 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 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 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 RequirementSource ¶
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)