Help us shape the future of Go! Take the 2026 Go Developer Survey

ssljson

package
v0.92.7 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2026 License: MIT Imports: 7 Imported by: 0

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

View Source
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

func FindSSLFiles(root string) ([]string, error)

FindSSLFiles returns all ssl.json file paths found under root/.github/skills/.

func ValidateDoc

func ValidateDoc(doc SSLDoc) []string

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.

func LoadDoc

func LoadDoc(path string) (SSLDoc, error)

LoadDoc reads and parses an ssl.json file from disk.

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

type SSLSceneRule struct {
	Condition string `json:"condition"`
	Target    string `json:"target"`
}

SSLSceneRule is a conditional transition rule for a scene.

type SSLScheduling

type SSLScheduling struct {
	ID         string `json:"id"`
	EntryScene string `json:"entry_scene"`
}

SSLScheduling holds the scheduling layer of an SSL document.

type SSLStep

type SSLStep struct {
	ID            string `json:"id"`
	SceneID       string `json:"scene_id"`
	ActionType    string `json:"action_type"`
	ResourceScope string `json:"resource_scope"`
	Next          string `json:"next"`
}

SSLStep is an atomic logic step within a scene.

Jump to

Keyboard shortcuts

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