Documentation
¶
Overview ¶
Package manifest writes manifest.json including the extraction_provenance block that records what each connector returned per repo.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manifest ¶
type Manifest struct {
ToolVersion string `json:"tool_version"`
SchemaVersion int `json:"schema_version"`
RunID string `json:"run_id"`
RunStartedAt time.Time `json:"run_started_at"`
RunCompletedAt time.Time `json:"run_completed_at"`
Window WindowJSON `json:"window"`
Teams map[string][]string `json:"teams"`
Repos []RepoMeta `json:"repos"`
ConnectorsUsed []string `json:"connectors_used"`
Counts map[string]int `json:"counts"`
MailmapApplied bool `json:"mailmap_applied"`
NSquashMergedPRs int `json:"n_squash_merged_prs"`
NTotalMergedPRs int `json:"n_total_merged_prs"`
SquashRate float64 `json:"squash_rate"`
Provenance []connector.Provenance `json:"extraction_provenance"`
}
Manifest is the exact shape written to manifest.json. Field names and nesting must match the spec in docs/spec.md "manifest.json".
MailmapApplied is true iff every repo in the run carried a non-empty .mailmap that parsed cleanly and was applied across every author-handle table. Any repo missing a mailmap, or any per-repo parse failure, flips the run-level value to false — assay treats false as "aliases may inflate the author universe" and appends the Tornhill Ch 13 caveat to the truck-factor finding.
type RepoMeta ¶
type RepoMeta struct {
Slug string `json:"slug"`
HeadSHA string `json:"head_sha"`
DefaultBranch string `json:"default_branch"`
}
RepoMeta is the per-repo metadata entry in manifest.json.
type WindowJSON ¶
WindowJSON renders the inclusive UTC window as YYYY-MM-DD start/end.