Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
kanonarion
command
|
|
|
internal
|
|
|
adapters/blobcodec
Package blobcodec provides transparent zstd compression for SQLite BLOB columns.
|
Package blobcodec provides transparent zstd compression for SQLite BLOB columns. |
|
adapters/blobstore/localfs
Package localfs implements ports.BlobStore using the local filesystem.
|
Package localfs implements ports.BlobStore using the local filesystem. |
|
adapters/clock
Package clock provides ports.Clock implementations for production and tests.
|
Package clock provides ports.Clock implementations for production and tests. |
|
adapters/factstore/sqlite
Package sqlite implements ports.FactStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO).
|
Package sqlite implements ports.FactStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO). |
|
adapters/proxy/direct
Package direct implements ports.ModuleProxy against a Go module proxy (default: proxy.golang.org).
|
Package direct implements ports.ModuleProxy against a Go module proxy (default: proxy.golang.org). |
|
adapters/signer/noop
Package noop provides the OSS default ports.Signer: an unconfigured signer that yields no attestation.
|
Package noop provides the OSS default ports.Signer: an unconfigured signer that yields no attestation. |
|
adapters/sumdb/gosum
Package gosum implements ports.SumDBClient using golang.org/x/mod/sumdb.
|
Package gosum implements ports.SumDBClient using golang.org/x/mod/sumdb. |
|
adapters/vcs/gitexec
Package gitexec implements ports.VCSClient by shelling out to the git binary.
|
Package gitexec implements ports.VCSClient by shelling out to the git binary. |
|
adapters/ziparchive
Package ziparchive is the shared-kernel adapter for reading ZIP archives.
|
Package ziparchive is the shared-kernel adapter for reading ZIP archives. |
|
audit
Package audit defines the context-neutral audit-event vocabulary.
|
Package audit defines the context-neutral audit-event vocabulary. |
|
callgraph/adapters/analyser/staticcha
Package staticcha implements ports.CallGraphAnalyser using Class Hierarchy Analysis (CHA) via golang.org/x/tools/go/callgraph/cha.
|
Package staticcha implements ports.CallGraphAnalyser using Class Hierarchy Analysis (CHA) via golang.org/x/tools/go/callgraph/cha. |
|
callgraph/adapters/store/sqlite
Package sqlite implements ports.CallGraphStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO).
|
Package sqlite implements ports.CallGraphStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO). |
|
callgraph/application
Package application contains the callgraph use cases.
|
Package application contains the callgraph use cases. |
|
callgraph/domain
Package domain defines the types and invariants for call graph extraction.
|
Package domain defines the types and invariants for call graph extraction. |
|
callgraph/ports
Package ports defines the interfaces the callgraph application layer requires from the outside world.
|
Package ports defines the interfaces the callgraph application layer requires from the outside world. |
|
cli/testfakes
Package testfakes provides in-memory fakes for all CLI use-case interfaces.
|
Package testfakes provides in-memory fakes for all CLI use-case interfaces. |
|
composition
Package composition is the neutral composition root shared by the CLI and the public façade (pkg/kanonarion).
|
Package composition is the neutral composition root shared by the CLI and the public façade (pkg/kanonarion). |
|
config
Package config provides the ConfigSpec registration mechanism used by modules to declare their configuration schema and built-in defaults.
|
Package config provides the ConfigSpec registration mechanism used by modules to declare their configuration schema and built-in defaults. |
|
config/adapters/store/yaml
Package yaml implements ConfigStore by reading a YAML config file from disk.
|
Package yaml implements ConfigStore by reading a YAML config file from disk. |
|
config/domain
Package domain contains the core types for the config bounded context.
|
Package domain contains the core types for the config bounded context. |
|
config/ports
Package ports defines the interfaces the config bounded context exposes.
|
Package ports defines the interfaces the config bounded context exposes. |
|
directive/adapters/parser/xmod
Package xmod implements ports.DirectiveParser using golang.org/x/mod/modfile.
|
Package xmod implements ports.DirectiveParser using golang.org/x/mod/modfile. |
|
directive/adapters/store/sqlite
Package sqlite implements ports.DirectiveStore using the shared SQLite database.
|
Package sqlite implements ports.DirectiveStore using the shared SQLite database. |
|
directive/application
Package application orchestrates directive detection: load via ports, delegate classification to the domain, evaluate governance via the config policy, persist the record and emit audit facts.
|
Package application orchestrates directive detection: load via ports, delegate classification to the domain, evaluate governance via the config policy, persist the record and emit audit facts. |
|
directive/domain
Package domain holds the pure business rules for the directive bounded context: detection, risk classification and deterministic ordering of go.mod / go.work `replace` and `exclude` directives.
|
Package domain holds the pure business rules for the directive bounded context: detection, risk classification and deterministic ordering of go.mod / go.work `replace` and `exclude` directives. |
|
directive/ports
Package ports declares the interfaces the directive application depends on.
|
Package ports declares the interfaces the directive application depends on. |
|
driver
Package driver holds the narrow write/serving driver use cases the public façade graduates: composition-root entrypoints that orchestrate existing per-context use cases into a single high-level operation, without exposing the bulk pipeline.
|
Package driver holds the narrow write/serving driver use cases the public façade graduates: composition-root entrypoints that orchestrate existing per-context use cases into a single high-level operation, without exposing the bulk pipeline. |
|
example/adapters/parser/goast
Package goast implements ports.ExampleParser using go/parser, go/ast and go/format over the _test.go entries of a module zip.
|
Package goast implements ports.ExampleParser using go/parser, go/ast and go/format over the _test.go entries of a module zip. |
|
example/adapters/store/sqlite
Package sqlite implements ports.ExampleStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO).
|
Package sqlite implements ports.ExampleStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO). |
|
example/application
Package application contains the example-function harvesting use case: reading a module's zip from the blob store, scanning _test.go files for Example* functions, extracting their bodies and output comments via the Go AST, and persisting an ExampleRecord.
|
Package application contains the example-function harvesting use case: reading a module's zip from the blob store, scanning _test.go files for Example* functions, extracting their bodies and output comments via the Go AST, and persisting an ExampleRecord. |
|
example/domain
Package domain defines the types and invariants for example-function harvesting.
|
Package domain defines the types and invariants for example-function harvesting. |
|
example/ports
Package ports defines the interfaces the example application layer requires from the outside world.
|
Package ports defines the interfaces the example application layer requires from the outside world. |
|
extract/adapters/extractor/local
Package local implements ports.Extractor by routing each named stage to its corresponding local use case.
|
Package local implements ports.Extractor by routing each named stage to its corresponding local use case. |
|
extract/adapters/stages/local
Package local implements ports.StageRegistry with the built-in extraction stages (license, interface, callgraph, example) in canonical execution order.
|
Package local implements ports.StageRegistry with the built-in extraction stages (license, interface, callgraph, example) in canonical execution order. |
|
extract/adapters/store/sqlite
Package sqlite implements ports.ExtractionStore on SQLite.
|
Package sqlite implements ports.ExtractionStore on SQLite. |
|
extract/application
Package application contains the extraction orchestration use case.
|
Package application contains the extraction orchestration use case. |
|
extract/domain
Package domain defines the types and invariants for a coordinated extraction operation.
|
Package domain defines the types and invariants for a coordinated extraction operation. |
|
extract/ports
Package ports defines the interfaces the extract application layer requires from the outside world.
|
Package ports defines the interfaces the extract application layer requires from the outside world. |
|
fetch/application
Package application contains the fetch use cases.
|
Package application contains the fetch use cases. |
|
fetch/domain
Package domain contains the core model for the fetch bounded context.
|
Package domain contains the core model for the fetch bounded context. |
|
fetch/ports
Package ports defines the interfaces the fetch application layer requires from the outside world.
|
Package ports defines the interfaces the fetch application layer requires from the outside world. |
|
fips/adapters/scanner/gosrc
Package gosrc implements ports.FIPSScanner by reading a project's go.mod toolchain directive and walking its source tree for FIPS-relevant import paths.
|
Package gosrc implements ports.FIPSScanner by reading a project's go.mod toolchain directive and walking its source tree for FIPS-relevant import paths. |
|
fips/adapters/store/sqlite
Package sqlite implements ports.FIPSStore using the shared SQLite database.
|
Package sqlite implements ports.FIPSStore using the shared SQLite database. |
|
fips/application
Package application orchestrates FIPS assessment: load via ports, delegate classification to the domain catalogue, evaluate governance via the config policy, persist the record and emit audit facts.
|
Package application orchestrates FIPS assessment: load via ports, delegate classification to the domain catalogue, evaluate governance via the config policy, persist the record and emit audit facts. |
|
fips/domain
Package domain holds the pure business rules for the fips bounded context assessment modelling, toolchain & algorithm catalogues, and the deterministic ordering of FIPS findings.
|
Package domain holds the pure business rules for the fips bounded context assessment modelling, toolchain & algorithm catalogues, and the deterministic ordering of FIPS findings. |
|
fips/ports
Package ports declares the interfaces the fips application depends on.
|
Package ports declares the interfaces the fips application depends on. |
|
godebug/adapters/scanner/gosrc
Package gosrc implements ports.GoDebugScanner by scanning a project's Go source tree for `//go:debug name=value` directives.
|
Package gosrc implements ports.GoDebugScanner by scanning a project's Go source tree for `//go:debug name=value` directives. |
|
godebug/adapters/store/sqlite
Package sqlite implements ports.GoDebugStore using the shared SQLite database.
|
Package sqlite implements ports.GoDebugStore using the shared SQLite database. |
|
godebug/application
Package application orchestrates godebug detection: load via ports, delegate classification to the domain taxonomy, evaluate governance via the config policy, persist the record and emit audit facts.
|
Package application orchestrates godebug detection: load via ports, delegate classification to the domain taxonomy, evaluate governance via the config policy, persist the record and emit audit facts. |
|
godebug/domain
Package domain holds the pure business rules for the godebug bounded context: detection-result modelling, versioned taxonomy classification and deterministic ordering of GODEBUG / //go:debug settings.
|
Package domain holds the pure business rules for the godebug bounded context: detection-result modelling, versioned taxonomy classification and deterministic ordering of GODEBUG / //go:debug settings. |
|
godebug/ports
Package ports declares the interfaces the godebug application depends on.
|
Package ports declares the interfaces the godebug application depends on. |
|
iface/adapters/extractor/godoc
Package godoc implements ports.InterfaceExtractor using go/parser and go/doc.
|
Package godoc implements ports.InterfaceExtractor using go/parser and go/doc. |
|
iface/adapters/store/sqlite
Package sqlite implements ports.InterfaceStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO).
|
Package sqlite implements ports.InterfaceStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO). |
|
iface/application
Package application contains the ExtractInterfaceUseCase, which orchestrates blob retrieval, interface extraction, hashing, and persistence for a single module coordinate.
|
Package application contains the ExtractInterfaceUseCase, which orchestrates blob retrieval, interface extraction, hashing, and persistence for a single module coordinate. |
|
iface/domain
Package domain defines the types and invariants for public interface extraction.
|
Package domain defines the types and invariants for public interface extraction. |
|
iface/ports
Package ports defines the interfaces the iface application layer requires from the outside world.
|
Package ports defines the interfaces the iface application layer requires from the outside world. |
|
license/adapters/detector/licensecheck
Package licensecheck wraps github.com/google/licensecheck as a ports.LicenseDetector.
|
Package licensecheck wraps github.com/google/licensecheck as a ports.LicenseDetector. |
|
license/adapters/overrides/yaml
Package yaml implements license/ports.LicenseOverrideStore over the license_overrides section of config.yaml.
|
Package yaml implements license/ports.LicenseOverrideStore over the license_overrides section of config.yaml. |
|
license/adapters/store/sqlite
Package sqlite implements ports.LicenseStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO).
|
Package sqlite implements ports.LicenseStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO). |
|
license/application
Package application contains the license extraction use case: reading a module's zip from the blob store, scanning it for license files, classifying each with the configured detector, and persisting a LicenceRecord.
|
Package application contains the license extraction use case: reading a module's zip from the blob store, scanning it for license files, classifying each with the configured detector, and persisting a LicenceRecord. |
|
license/domain
Package domain defines the license bounded context's core model: the per-module license extraction record produced by scanning module zips for license files, classifying each against known SPDX identifiers, and deriving a primary license determination.
|
Package domain defines the license bounded context's core model: the per-module license extraction record produced by scanning module zips for license files, classifying each against known SPDX identifiers, and deriving a primary license determination. |
|
license/ports
Package ports defines the interfaces the license application layer requires from the outside world.
|
Package ports defines the interfaces the license application layer requires from the outside world. |
|
local/adapters/dependencies/store
Package store provides a DependencyLoader adapter backed by the global callgraph store.
|
Package store provides a DependencyLoader adapter backed by the global callgraph store. |
|
local/adapters/importer/golist
Package golist implements ports.ImportAnalyser by running go list -json -deps against the workspace directory and grouping imported packages by module.
|
Package golist implements ports.ImportAnalyser by running go list -json -deps against the workspace directory and grouping imported packages by module. |
|
local/adapters/probe/builder
Package builder implements ports.SymbolTableProber.
|
Package builder implements ports.SymbolTableProber. |
|
local/adapters/snapshot/walkdir
Package walkdir provides an fs.WalkDir-based SnapshotBuilder.
|
Package walkdir provides an fs.WalkDir-based SnapshotBuilder. |
|
local/adapters/symbols/gopackages
Package gopackages implements ports.SymbolAnalyser using go/packages type-checking to identify which exported symbols from dependency packages are referenced by the local workspace (~2-5s).
|
Package gopackages implements ports.SymbolAnalyser using go/packages type-checking to identify which exported symbols from dependency packages are referenced by the local workspace (~2-5s). |
|
local/adapters/vulnfindings/store
Package store provides a VulnFindingLoader adapter backed by the global vulnerability store.
|
Package store provides a VulnFindingLoader adapter backed by the global vulnerability store. |
|
local/adapters/workspace/goast
Package goast implements ports.WorkspaceAnalyser using go/parser to extract function declarations directly from Snapshot file contents without disk I/O.
|
Package goast implements ports.WorkspaceAnalyser using go/parser to extract function declarations directly from Snapshot file contents without disk I/O. |
|
local/application
Package application orchestrates local workspace analysis.
|
Package application orchestrates local workspace analysis. |
|
local/domain
Package domain defines the Snapshot type — a frozen, deterministic map of Go workspace files used as the shared foundation for local workspace analysis.
|
Package domain defines the Snapshot type — a frozen, deterministic map of Go workspace files used as the shared foundation for local workspace analysis. |
|
local/ports
Package ports defines the interfaces for local workspace analysis.
|
Package ports defines the interfaces for local workspace analysis. |
|
sbom/adapters/generator/cyclonedx
Package cyclonedx implements ports.SBOMGenerator producing CycloneDX 1.5 JSON.
|
Package cyclonedx implements ports.SBOMGenerator producing CycloneDX 1.5 JSON. |
|
sbom/adapters/store/sqlite
Package sqlite implements ports.SBOMStore using a SQLite database.
|
Package sqlite implements ports.SBOMStore using a SQLite database. |
|
sbom/application
Package application contains the SBOM use cases.
|
Package application contains the SBOM use cases. |
|
sbom/domain
Package domain defines the types and policy for Software Bill of Materials generation.
|
Package domain defines the types and policy for Software Bill of Materials generation. |
|
sbom/ports
Package ports defines the interfaces the sbom application layer requires from the outside world.
|
Package ports defines the interfaces the sbom application layer requires from the outside world. |
|
vendortree/adapters/scanner/localfs
Package localfs implements ports.VendorScanner against the local filesystem.
|
Package localfs implements ports.VendorScanner against the local filesystem. |
|
vendortree/adapters/store/sqlite
Package sqlite implements ports.VendorStore using the shared SQLite database.
|
Package sqlite implements ports.VendorStore using the shared SQLite database. |
|
vendortree/application
Package application orchestrates vendored-closure reconciliation: load via the scanner port, delegate finding aggregation to the domain, evaluate governance via the config policy, persist the record and emit an audit fact.
|
Package application orchestrates vendored-closure reconciliation: load via the scanner port, delegate finding aggregation to the domain, evaluate governance via the config policy, persist the record and emit an audit fact. |
|
vendortree/domain
Package domain holds the pure business rules for the vendor bounded context reconciling a project's vendor/ tree, vendor/modules.txt, go.mod require set and go.sum into a classified set of findings (drift / inconsistency / unverified) plus a deterministic record.
|
Package domain holds the pure business rules for the vendor bounded context reconciling a project's vendor/ tree, vendor/modules.txt, go.mod require set and go.sum into a classified set of findings (drift / inconsistency / unverified) plus a deterministic record. |
|
vendortree/ports
Package ports declares the interfaces the vendor application depends on.
|
Package ports declares the interfaces the vendor application depends on. |
|
vuln/adapters/fetch
Package fetch adapts the fetch context's FetchModuleUseCase to the vuln context's ports.ModuleFetcher.
|
Package fetch adapts the fetch context's FetchModuleUseCase to the vuln context's ports.ModuleFetcher. |
|
vuln/adapters/reachability
Package reachability implements ports.ReachabilityAnalyser using static call-graph analysis.
|
Package reachability implements ports.ReachabilityAnalyser using static call-graph analysis. |
|
vuln/adapters/store/sqlite
Package sqlite implements ports.VulnerabilityStore on SQLite.
|
Package sqlite implements ports.VulnerabilityStore on SQLite. |
|
vuln/adapters/vuln/govulncheck
Package govulncheck implements ports.VulnerabilityScanner by driving the external govulncheck binary.
|
Package govulncheck implements ports.VulnerabilityScanner by driving the external govulncheck binary. |
|
vuln/adapters/vulndb/osv
Package osv implements ports.VulnerabilityDatabase against the Go vulnerability database at vuln.go.dev.
|
Package osv implements ports.VulnerabilityDatabase against the Go vulnerability database at vuln.go.dev. |
|
vuln/application
Package application orchestrates vulnerability scanning use cases.
|
Package application orchestrates vulnerability scanning use cases. |
|
vuln/domain
Package domain defines the types and invariants for vulnerability scanning.
|
Package domain defines the types and invariants for vulnerability scanning. |
|
vuln/ports
Package ports defines the interfaces the vuln application layer requires from the outside world.
|
Package ports defines the interfaces the vuln application layer requires from the outside world. |
|
walk/adapters/buildlist/gotoolchain
Package gotoolchain implements ports.BuildListResolver by delegating build-list computation to the Go toolchain.
|
Package gotoolchain implements ports.BuildListResolver by delegating build-list computation to the Go toolchain. |
|
walk/adapters/fetcher/local
Package local provides a ModuleFetcher adapter backed by the local FetchModuleUseCase.
|
Package local provides a ModuleFetcher adapter backed by the local FetchModuleUseCase. |
|
walk/adapters/gomod/xmod
Package xmod implements the GoModParser port using golang.org/x/mod/modfile.
|
Package xmod implements the GoModParser port using golang.org/x/mod/modfile. |
|
walk/adapters/localfs
Package localfs provides a walk adapter that implements walkports.LocalModuleFetcher by creating FactRecords from local filesystem source trees instead of fetching from a module proxy.
|
Package localfs provides a walk adapter that implements walkports.LocalModuleFetcher by creating FactRecords from local filesystem source trees instead of fetching from a module proxy. |
|
walk/adapters/policy/localfile
Package localfile implements PolicyStore by reading a YAML policy file from disk.
|
Package localfile implements PolicyStore by reading a YAML policy file from disk. |
|
walk/adapters/walks/sqlite
Package sqlite implements ports.WalkStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO).
|
Package sqlite implements ports.WalkStore using a SQLite database via modernc.org/sqlite (pure Go, no CGO). |
|
walk/application
Package application implements the GraphResolver: a service that takes a target module coordinate and produces a complete, deterministic dependency Graph representing the transitive closure under Go's minimum version selection (MVS).
|
Package application implements the GraphResolver: a service that takes a target module coordinate and produces a complete, deterministic dependency Graph representing the transitive closure under Go's minimum version selection (MVS). |
|
walk/domain
Package domain defines the walk bounded context's core model: the dependency graph produced by resolving a target module's complete transitive closure under Go's minimum version selection (MVS), and the WalkRecord aggregate root that persists a completed walk as a tamper-evident fact.
|
Package domain defines the walk bounded context's core model: the dependency graph produced by resolving a target module's complete transitive closure under Go's minimum version selection (MVS), and the WalkRecord aggregate root that persists a completed walk as a tamper-evident fact. |
|
walk/ports
Package ports defines the interfaces the walk application layer requires from the outside world.
|
Package ports defines the interfaces the walk application layer requires from the outside world. |
|
pkg
|
|
|
kanonarion
Package kanonarion is the public API façade for the kanonarion module.
|
Package kanonarion is the public API façade for the kanonarion module. |
Click to show internal directories.
Click to hide internal directories.