Documentation
¶
Overview ¶
Package loop defines the intermediate representation for AI development loop systems: cycles of human-gated AI work such as the ProductBuildersHQ two-loop system (Product Loop + Builder Loop) and single-loop reference systems like AWS AI-DLC.
A System contains one or more Loops. Each Loop is an ordered cycle of Stations (the last station feeds back to the first). Stations may be gates — approval checkpoints whose authority (human vs. policy) shifts with a team's autonomy level — and may map to spec types, definition workflows, or execution integrations from the rest of this library, letting consumers render a loop as the organizing geography of the catalog.
Seams connect stations across loops (e.g., the Product Loop's Approve station hands the Product Baseline to the Builder Loop's Accept station). This package holds declarative data only; consumers (the website, VisionStudio) render and act on it.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GateAuthority ¶
type GateAuthority string
GateAuthority identifies who holds a gate's approval authority by default.
const ( // AuthorityHuman means a person must approve. AuthorityHuman GateAuthority = "human" // AuthorityPolicy means policy-governed automation may approve. AuthorityPolicy GateAuthority = "policy" )
type Loop ¶
type Loop struct {
// ID is the loop identifier, unique within the system (e.g., "product").
ID string `json:"id" yaml:"id" jsonschema:"required,description=Loop identifier (unique within the system)"`
// Name is the human-readable name (e.g., "Product Loop").
Name string `json:"name" yaml:"name" jsonschema:"required,description=Loop name"`
// Owner is the accountable role (e.g., "Product person", "Builder").
Owner string `json:"owner,omitempty" yaml:"owner,omitempty" jsonschema:"description=Accountable role"`
// Question is the loop's verification question (e.g., "Right thing?").
Question string `json:"question,omitempty" yaml:"question,omitempty" jsonschema:"description=The loop's verification question"`
// Description explains the loop.
Description string `json:"description,omitempty" yaml:"description,omitempty" jsonschema:"description=Loop purpose"`
// Stations are the ordered steps; the last cycles back to the first.
Stations []Station `json:"stations" yaml:"stations" jsonschema:"required,description=Ordered stations (last cycles back to first)"`
}
Loop is one cycle of stations. The final station feeds back to the first.
type Seam ¶
type Seam struct {
// From is the source station reference as "loopID.stationID".
From string `json:"from" yaml:"from" jsonschema:"required,description=Source station as loopID.stationID"`
// To is the destination station reference as "loopID.stationID".
To string `json:"to" yaml:"to" jsonschema:"required,description=Destination station as loopID.stationID"`
// Artifact names what crosses the seam (e.g., "Product Baseline").
Artifact string `json:"artifact,omitempty" yaml:"artifact,omitempty" jsonschema:"description=What crosses the seam"`
// Description explains the seam.
Description string `json:"description,omitempty" yaml:"description,omitempty" jsonschema:"description=Seam explanation"`
}
Seam connects a station in one loop to a station in another.
type Station ¶
type Station struct {
// ID is the station identifier, unique within the loop (e.g., "define").
ID string `json:"id" yaml:"id" jsonschema:"required,description=Station identifier (unique within the loop)"`
// Name is the human-readable name (e.g., "Define").
Name string `json:"name" yaml:"name" jsonschema:"required,description=Station name"`
// Actor performs the station's work.
Actor Actor `json:"actor" yaml:"actor" jsonschema:"required,enum=human,enum=ai,enum=human+ai"`
// Description explains the station.
Description string `json:"description,omitempty" yaml:"description,omitempty" jsonschema:"description=Station purpose"`
// Gate marks this station as an approval checkpoint.
Gate bool `json:"gate,omitempty" yaml:"gate,omitempty" jsonschema:"description=True if this station is an approval checkpoint"`
// GateAuthority is the default approval authority when Gate is true.
GateAuthority GateAuthority `` /* 156-byte string literal not displayed */
// AutonomyNote describes how the station changes as autonomy (ASDM level)
// rises (e.g., "human at L5 and below; policy-gated at L6+").
AutonomyNote string `` /* 128-byte string literal not displayed */
// SpecTypes lists spec type IDs produced or consumed at this station.
SpecTypes []string `json:"spec_types,omitempty" yaml:"spec_types,omitempty" jsonschema:"description=Spec type IDs produced or consumed here"`
// Workflows lists definition workflow names that operate at this station.
Workflows []string `` /* 127-byte string literal not displayed */
// Integrations lists execution integration IDs that operate at this station.
Integrations []string `` /* 133-byte string literal not displayed */
}
Station is one step in a loop.
type System ¶
type System struct {
// ID is the canonical identifier (e.g., "pbhq-two-loop", "aws-ai-dlc").
ID string `json:"id" yaml:"id" jsonschema:"required,description=Canonical identifier for the loop system"`
// Name is the human-readable name.
Name string `json:"name" yaml:"name" jsonschema:"required,description=Human-readable name"`
// Vendor is the defining organization (e.g., "ProductBuildersHQ", "AWS").
Vendor string `json:"vendor,omitempty" yaml:"vendor,omitempty" jsonschema:"description=Defining organization"`
// Description explains the system.
Description string `json:"description,omitempty" yaml:"description,omitempty" jsonschema:"description=System purpose and scope"`
// Reference is a URL to canonical documentation.
Reference string `json:"reference,omitempty" yaml:"reference,omitempty" jsonschema:"format=uri,description=Documentation URL"`
// Loops are the cycles in this system, outermost first.
Loops []Loop `json:"loops" yaml:"loops" jsonschema:"required,description=Cycles in this system (outermost first)"`
// Seams connect stations across loops.
Seams []Seam `json:"seams,omitempty" yaml:"seams,omitempty" jsonschema:"description=Cross-loop connections"`
}
System is a complete loop system.