io

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package io is the umbrella for every boundary crossing a CSF process makes. Each crossing is a capability granted through a constructor and lives in a tier subpackage: io/inproc stays inside the runtime, io/kernel makes a syscall, io/ipc reaches another process on this machine, and io/net reaches another machine. This package holds only what every subpackage shares: the Tier that classifies how far a crossing reaches.

Index

Constants

This section is empty.

Variables

Tiers lists every tier, narrowest first, so a caller can initialize one series per tier and a test can assert completeness.

Functions

This section is empty.

Types

type Tier

type Tier int

Tier is how far a message or call travels from the code that sends it. Tiers are ordered: a crossing that touches two tiers reaches the wider one.

const (
	// TierInProcess stays inside one runtime: a direct call or a channel,
	// with no capability. Copilot sessions multiplexed on the bridge of a
	// Copilot service mounted in the same runtime are in this tier.
	TierInProcess Tier = iota + 1
	// TierKernel reaches the kernel through a syscall on this machine:
	// clock, files, and process control.
	TierKernel
	// TierIpc reaches another process on this machine through an ipc
	// capability: a unix socket, or loopback through io/net.
	TierIpc
	// TierNet reaches another machine through io/net.
	TierNet
)

func Widest

func Widest(left Tier, right Tier) Tier

Widest is the tier a crossing between two endpoints reaches: an in-process sender talking to a host-tier receiver crosses the host tier.

func (Tier) String

func (tier Tier) String() string

String is the tier's ontology name.

func (Tier) Valid

func (tier Tier) Valid() bool

Valid reports whether tier is one of Tiers.

Directories

Path Synopsis
Package inproc is the home of the in-process io tier: communication between goroutines of one process.
Package inproc is the home of the in-process io tier: communication between goroutines of one process.
ipc
db/csfpg
Package csfpg is CSF's PostgreSQL backend: the one owner of database connection pools in a CSF process, CSF's schema and its migrations, and the queries sqlc generates against that schema.
Package csfpg is CSF's PostgreSQL backend: the one owner of database connection pools in a CSF process, CSF's schema and its migrations, and the queries sqlc generates against that schema.
db/csfpg/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
docker
Package docker is the container capability: the Docker Engine reached over its API socket, granted to the code that runs containers.
Package docker is the container capability: the Docker Engine reached over its API socket, granted to the code that runs containers.
docker/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
proc
Package proc is the process boundary: the one subprocess gateway in CSF.
Package proc is the process boundary: the one subprocess gateway in CSF.
proc/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
kernel
clock
Package clock is the clock capability: the kernel I/O tier's time source.
Package clock is the clock capability: the kernel I/O tier's time source.
clock/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
fs
Package fs is the file capability: the kernel I/O tier's file boundary.
Package fs is the file capability: the kernel I/O tier's file boundary.
sandbox
Package sandbox is the harness's per-session confinement capability, host tier: it owns the session cgroups under the harness's delegated cgroup subtree and writes the policy the Rust launcher enforces.
Package sandbox is the harness's per-session confinement capability, host tier: it owns the session cgroups under the harness's delegated cgroup subtree and writes the policy the Rust launcher enforces.
net
Package net is the socket capability: the kernel I/O tier's network boundary.
Package net is the socket capability: the kernel I/O tier's network boundary.
github
Package github provides primitives to interact with the openapi HTTP API.
Package github provides primitives to interact with the openapi HTTP API.
grpc
Package grpc is the gRPC client-connection capability.
Package grpc is the gRPC client-connection capability.
hfjobs
Package hfjobs is the Hugging Face Jobs API: run a container on Hugging Face's machines, list and inspect the namespace's jobs, cancel one, and read each flavor's price.
Package hfjobs is the Hugging Face Jobs API: run a container on Hugging Face's machines, list and inspect the namespace's jobs, cancel one, and read each flavor's price.
http
Package http is the HTTP capability: one server bound to one address, mounted into the process runtime as a service, and the outbound client (NewHTTPClient) whose every connection is dialed through a granted socket capability.
Package http is the HTTP capability: one server bound to one address, mounted into the process runtime as a service, and the outbound client (NewHTTPClient) whose every connection is dialed through a granted socket capability.
model
Package model is CSF's contract with a brain: an agent loop over a large model behind an inference provider or API.
Package model is CSF's contract with a brain: an agent loop over a large model behind an inference provider or API.
model/claudecode
Package claudecode is the Claude Code provider: a Claude Code session is an agent loop in its own process on the operator's machine.
Package claudecode is the Claude Code provider: a Claude Code session is an agent loop in its own process on the operator's machine.
model/copilot
Package copilot is the first inference provider behind CSF's brain contract: the GitHub Copilot agent loop, reached through the existing Copilot adapter's generated Workbench client (services/copilot-adapter/gen/api).
Package copilot is the first inference provider behind CSF's brain contract: the GitHub Copilot agent loop, reached through the existing Copilot adapter's generated Workbench client (services/copilot-adapter/gen/api).
model/copilotcli
Package copilotcli is the GitHub Copilot CLI provider: CopilotCLIExecutor drives the Copilot command line as a turn executor for one session CSF owns.
Package copilotcli is the GitHub Copilot CLI provider: CopilotCLIExecutor drives the Copilot command line as a turn executor for one session CSF owns.
model/jev
Package jev asks JEV-9B typed decisions.
Package jev asks JEV-9B typed decisions.
model/llamacpp
Package llamacpp reaches a llama.cpp server started with --reranking: a cross-encoder that scores how well each document answers one query.
Package llamacpp reaches a llama.cpp server started with --reranking: a cross-encoder that scores how well each document answers one query.
model/ollama
Package ollama is the local model provider behind CSF's brain contract: an Ollama server, on this host or a neighbour, reached over its HTTP API through the http capability the constructor receives.
Package ollama is the local model provider behind CSF's brain contract: an Ollama server, on this host or a neighbour, reached over its HTTP API through the http capability the constructor receives.
model/stub
Package stub is the brain that needs no model: it answers every decision with the same canned proposal, so the harness runs and its specs pass with no inference provider, network or credential at all.
Package stub is the brain that needs no model: it answers every decision with the same canned proposal, so the harness runs and its specs pass with no inference provider, network or credential at all.
ros
Package ros is CSF's boundary to the low-level spine controller.
Package ros is CSF's boundary to the low-level spine controller.

Jump to

Keyboard shortcuts

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