Documentation
¶
Overview ¶
Package cell defines the canonical harness/extension coordinate space shared by the Pasture installer and activation contract.
A Cell is one (harness, extension) coordinate. Exactly nine cells exist: three harnesses (claude-code, opencode, codex) times three extension axes (skills, agents, hooks). Every installer document, activation contract, and confirmed inventory serializes its cells in one frozen canonical order so goldens and state files never drift on ordering.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Cell ¶
type Cell struct {
// contains filtered or unexported fields
}
Cell is one validated (harness, extension) coordinate.
func CanonicalCells ¶
func CanonicalCells() []Cell
CanonicalCells returns all nine cells in frozen canonical order.
func New ¶
New validates and constructs a Cell. It rejects unknown harnesses or axes so no document can address a coordinate outside the nine-cell space.
func (Cell) ID ¶
func (c Cell) ID() artifact.ComponentID
func (Cell) Index ¶
Index returns the cell's position in the canonical nine-cell order, or -1 if the cell is invalid.
type Extension ¶
Extension is a strongly-typed extension axis. Its zero value is invalid; use SkillsAxis, AgentsAxis, or HooksAxis. The three axes are global: the installer asks once which axes apply to every enabled harness.
func CanonicalExtensions ¶
func CanonicalExtensions() []Extension
CanonicalExtensions returns the three axes in frozen order.
func HooksAxis ¶
func HooksAxis() Extension
HooksAxis is the security-sensitive hooks extension axis (default disabled).
func ParseExtension ¶
ParseExtension resolves a canonical axis name to its typed value. It rejects unknown axes actionably rather than returning a silent zero value.
type Fault ¶
type Fault struct {
Op string
Rule string
Reason string
Where string
When string
Impact string
Fix string
Cause error
}
Fault is the shared six-part actionable error for the Pasture installer domain. Every rejected value or boundary reports what went wrong (Rule + Reason), where it failed (Where), when it failed (When), what it means for the caller (Impact), and how to fix it (Fix), so callers never see an opaque "invalid input" message.