ecosystem

package
v0.3.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package ecosystem keeps ECOSYSTEM.md aligned with a machine-readable matrix.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckDocument

func CheckDocument(repoRoot string) error

CheckDocument verifies ECOSYSTEM.md marked sections match matrix.json.

func WriteDocumentSections

func WriteDocumentSections(repoRoot string) error

WriteDocumentSections rewrites the marked sections in ECOSYSTEM.md from matrix.json.

Types

type CanaryTarget

type CanaryTarget struct {
	Repo          string
	Ref           string
	Path          string
	ExpectRequire map[string]string
}

CanaryTarget is a public pinned ref checked by the live canary.

type Matrix

type Matrix struct {
	AsOf                string            `json:"as_of"`
	Disclaimer          string            `json:"disclaimer"`
	Roles               []Role            `json:"roles"`
	SpannerplanVersions map[string]string `json:"spannerplan_versions"`
	Observed            []Observed        `json:"observed"`
}

Matrix is the machine-readable source of truth for ECOSYSTEM.md tables.

func LoadMatrix

func LoadMatrix(dir string) (*Matrix, error)

LoadMatrix reads ecosystem/matrix.json from dir (repository root or ecosystem/).

func (*Matrix) CanaryTargets

func (m *Matrix) CanaryTargets() []CanaryTarget

CanaryTargets derives the live integrity checks from the observed rows. This keeps the rendered matrix and the network check on one source of truth.

func (*Matrix) RenderObservedTable

func (m *Matrix) RenderObservedTable() string

RenderObservedTable renders the observed-pins markdown table.

func (*Matrix) RenderRolesTable

func (m *Matrix) RenderRolesTable() string

RenderRolesTable renders the markdown roles table body (with header).

type ModuleRequire

type ModuleRequire struct {
	Module  string `json:"module"`
	Version string `json:"version"`
}

ModuleRequire is a declared Go module require.

type Observed

type Observed struct {
	Consumer               string          `json:"consumer"`
	ConsumerRef            string          `json:"consumer_ref"`
	Kind                   string          `json:"kind"`
	Canary                 bool            `json:"canary,omitempty"`
	Repo                   string          `json:"repo,omitempty"`
	Path                   string          `json:"path,omitempty"`
	Requires               []ModuleRequire `json:"requires,omitempty"`
	ParityGoInstall        string          `json:"parity_go_install,omitempty"`
	FixtureSyncRef         string          `json:"fixture_sync_ref,omitempty"`
	LatestPublishedRelease string          `json:"latest_published_release,omitempty"`
	Notes                  string          `json:"notes,omitempty"`
}

Observed records an observed pin without implying compatibility.

type Role

type Role struct {
	ID       string  `json:"id"`
	Repo     *string `json:"repo"`
	Language string  `json:"language"`
	Role     string  `json:"role"`
}

Role describes one ecosystem participant.

Directories

Path Synopsis
cmd
canary command
Command canary checks the integrity of public consumer go.mod pins recorded in ecosystem/matrix.json.
Command canary checks the integrity of public consumer go.mod pins recorded in ecosystem/matrix.json.
render command
Command render rewrites ECOSYSTEM.md marked sections from ecosystem/matrix.json.
Command render rewrites ECOSYSTEM.md marked sections from ecosystem/matrix.json.

Jump to

Keyboard shortcuts

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