GroundPlane.Contracts.RepoRef (GroundPlane Contracts v0.1.0)

Copy Markdown View Source

Generic repository reference for local workspaces and artifact ledgers.

The reference carries repository ownership only. It deliberately avoids higher-layer semantics so it can sit in GroundPlane without pulling domain meaning downward.

Summary

Types

t()

@type t() :: %GroundPlane.Contracts.RepoRef{
  name: String.t(),
  owner: String.t(),
  ref: String.t()
}

Functions

new(owner, name)

@spec new(String.t(), String.t()) :: {:ok, t()} | {:error, term()}

new!(owner, name)

@spec new!(String.t(), String.t()) :: t()

parse(ref)

@spec parse(String.t()) :: {:ok, t()} | {:error, term()}

valid?(value)

@spec valid?(term()) :: boolean()