Documentation
¶
Overview ¶
Package ssljson implements a Go analysis linter that validates .github/skills/*/ssl.json files against the SSL specification rules.
The analyzer fires only when run against its own anchor package (github.com/github/gh-aw/pkg/linters/ssljson), ensuring it executes exactly once per golint-custom invocation without producing duplicate diagnostics across every package in ./cmd/... and ./pkg/...
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Analyzer = &analysis.Analyzer{
Name: "ssljson",
Doc: "validates .github/skills/*/ssl.json files against the SSL specification enum and graph rules",
URL: "https://github.com/github/gh-aw/tree/main/pkg/linters/ssljson",
Run: run,
}
Analyzer is the ssl-json analysis pass.
Functions ¶
func FindSSLFiles ¶
FindSSLFiles returns all ssl.json file paths found under root/.github/skills/.
func ValidateDoc ¶
ValidateDoc validates an SSLDoc against all SSL Pass-4 rules. It returns a slice of diagnostic messages; an empty slice means the document is valid.
Types ¶
type SSLDoc ¶
type SSLDoc struct {
Scheduling SSLScheduling `json:"scheduling"`
Scenes []SSLScene `json:"scenes"`
LogicSteps []SSLStep `json:"logic_steps"`
}
SSLDoc is the top-level structure of an ssl.json file.
type SSLScene ¶
type SSLScene struct {
ID string `json:"id"`
Type string `json:"type"`
EntryLogicStep string `json:"entry_logic_step"`
NextSceneRules []SSLSceneRule `json:"next_scene_rules"`
}
SSLScene is a macro-level execution stage.
type SSLSceneRule ¶
SSLSceneRule is a conditional transition rule for a scene.
type SSLScheduling ¶
SSLScheduling holds the scheduling layer of an SSL document.