Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
halo
command
Command halo is the Halos CLI: validate, render, release, publish and experiment tooling for a policy repo.
|
Command halo is the Halos CLI: validate, render, release, publish and experiment tooling for a policy repo. |
|
halo-kong
command
Command halo-kong is a Kong Go-PDK plugin (Access phase).
|
Command halo-kong is a Kong Go-PDK plugin (Access phase). |
|
halo-proxy
command
Command halo-proxy is Halos's stack-agnostic traffic plane: a reverse proxy that verifies the caller (OIDC JWT or trusted-proxy headers), assigns the rollout ring / experiment variant, rewrites the model, mirrors eligible first-turn requests to halo-shadow, and forwards to the decided upstream or a single --next-hop.
|
Command halo-proxy is Halos's stack-agnostic traffic plane: a reverse proxy that verifies the caller (OIDC JWT or trusted-proxy headers), assigns the rollout ring / experiment variant, rewrites the model, mirrors eligible first-turn requests to halo-shadow, and forwards to the decided upstream or a single --next-hop. |
|
halo-server
command
Command halo-server serves the Halos API and console.
|
Command halo-server serves the Halos API and console. |
|
halo-shadow
command
Command halo-shadow receives mirrored first-turn requests from halo-kong / halo-proxy, replays them against control and candidate, and stores the pairs as JSONL.
|
Command halo-shadow receives mirrored first-turn requests from halo-kong / halo-proxy, replays them against control and candidate, and stores the pairs as JSONL. |
|
halo/scaffold
Package scaffold generates a minimal, valid Halos policy repo.
|
Package scaffold generates a minimal, valid Halos policy repo. |
|
halod
command
Command halod is the Halos fleet agent: pull the ring's signed release, verify it, apply it atomically, report status.
|
Command halod is the Halos fleet agent: pull the ring's signed release, verify it, apply it atomically, report status. |
|
deploy
|
|
|
compose/gen
command
Command gen renders kong.yml from policy.json: go run ./deploy/compose/gen
|
Command gen renders kong.yml from policy.json: go run ./deploy/compose/gen |
|
compose/mockidp
command
Command mockidp is a demo OIDC issuer standing in for Okta/Entra/Keycloak: it serves discovery + JWKS and mints signed JWTs at GET /token.
|
Command mockidp is a demo OIDC issuer standing in for Okta/Entra/Keycloak: it serves discovery + JWKS and mints signed JWTs at GET /token. |
|
compose/mockllm
command
Command mockllm is a tiny fake model upstream for the compose demo.
|
Command mockllm is a tiny fake model upstream for the compose demo. |
|
Package features embeds the checked-in Dev Container Feature and Coder module so internal/delivery exporters and the repo share one source of truth.
|
Package features embeds the checked-in Dev Container Feature and Coder module so internal/delivery exporters and the repo share one source of truth. |
|
internal
|
|
|
a2a
Package a2a fetches and verifies Agent2Agent (A2A) AgentCards for the remote-agent allowlist (ADR-0024): bounded, SSRF-safe https fetches, the card digest Halos pins into policy and releases, and the card's JWS signatures (A2A specification v1.0, section 8.4: RFC 7515 JWS over the RFC 8785 canonical card without its signatures field).
|
Package a2a fetches and verifies Agent2Agent (A2A) AgentCards for the remote-agent allowlist (ADR-0024): bounded, SSRF-safe https fetches, the card digest Halos pins into policy and releases, and the card's JWS signatures (A2A specification v1.0, section 8.4: RFC 7515 JWS over the RFC 8785 canonical card without its signatures field). |
|
assign
Package assign is the single source of cohort assignment.
|
Package assign is the single source of cohort assignment. |
|
budget
Package budget meters model spend against the policy's gateway budgets (ADR-0017).
|
Package budget meters model spend against the policy's gateway budgets (ADR-0017). |
|
bundle
Package bundle publishes and pulls signed release bundles as OCI artifacts.
|
Package bundle publishes and pulls signed release bundles as OCI artifacts. |
|
cloudagents
Package cloudagents governs background coding agents that run on vendor or CI infrastructure rather than a developer machine (ADR-0034): it normalizes tasks from vendor APIs and GitHub webhooks into one inventory mapped to Halos identities, plans and executes kill fan-out (cancel) and over-limit pauses, and turns finished tasks into session ledger records.
|
Package cloudagents governs background coding agents that run on vendor or CI infrastructure rather than a developer machine (ADR-0034): it normalizes tasks from vendor APIs and GitHub webhooks into one inventory mapped to Halos identities, plans and executes kill fan-out (cancel) and over-limit pauses, and turns finished tasks into session ledger records. |
|
cloudagents/workflow
Package workflow renders the repository files of the workflow-configured cloud agents (ADR-0034): the Claude Code and Gemini CLI GitHub Actions and Copilot's copilot-setup-steps.yml, SHA-pinned and least-privilege, and checks every rendered file against the security invariants.
|
Package workflow renders the repository files of the workflow-configured cloud agents (ADR-0034): the Claude Code and Gemini CLI GitHub Actions and Copilot's copilot-setup-steps.yml, SHA-pinned and least-privilege, and checks every rendered file against the security invariants. |
|
controller
Package controller is the automated experiment loop: every tick it evaluates each running experiment (promote.Evaluate), persists the verdict for halo-server, and acts on it.
|
Package controller is the automated experiment loop: every tick it evaluates each running experiment (promote.Evaluate), persists the verdict for halo-server, and acts on it. |
|
copilot
Package copilot is Halos Copilot (ADR-0035): a language model drafts policy changes, experiment designs and explanations; Halos' deterministic checks (validation, plan, impact preview, the invariant-1 bypass-token scan and internal/stats) verify them; a human approves every write.
|
Package copilot is Halos Copilot (ADR-0035): a language model drafts policy changes, experiment designs and explanations; Halos' deterministic checks (validation, plan, impact preview, the invariant-1 bypass-token scan and internal/stats) verify them; a human approves every write. |
|
delivery/devcontainer
Package devcontainer exports the Halos Dev Container Feature source (features/halos) with option defaults baked in for one org/ring.
|
Package devcontainer exports the Halos Dev Container Feature source (features/halos) with option defaults baked in for one org/ring. |
|
delivery/mdm
Package mdm exports a release for MDM delivery: a .mobileconfig (Jamf, Kandji) carrying Claude Code managed settings under com.anthropic.claudecode, an Intune PowerShell script writing HKLM\SOFTWARE\Policies\ClaudeCode, and halod bootstrap scripts.
|
Package mdm exports a release for MDM delivery: a .mobileconfig (Jamf, Kandji) carrying Claude Code managed settings under com.anthropic.claudecode, an Intune PowerShell script writing HKLM\SOFTWARE\Policies\ClaudeCode, and halod bootstrap scripts. |
|
docgen
Package docgen renders the CLI (cobra tree) and policy (JSON Schema) reference pages for the docs site.
|
Package docgen renders the CLI (cobra tree) and policy (JSON Schema) reference pages for the docs site. |
|
eval
Package eval is Halos's offline replay harness: it runs a suite of coding tasks against harness variants (CLI version x model x settings) in isolated environments, scores each run with the task's own success check, and renders a scorecard with bootstrap CIs and a paired comparison.
|
Package eval is Halos's offline replay harness: it runs a suite of coding tasks against harness variants (CLI version x model x settings) in isolated environments, scores each run with the task's own success check, and renders a scorecard with bootstrap CIs and a paired comparison. |
|
fsutil
Package fsutil holds small filesystem helpers shared across commands.
|
Package fsutil holds small filesystem helpers shared across commands. |
|
gateway
Package gateway holds the traffic-plane logic shared by the halo-kong plugin and halo-shadow: request inspection, cohort decision and model rewrite.
|
Package gateway holds the traffic-plane logic shared by the halo-kong plugin and halo-shadow: request inspection, cohort decision and model rewrite. |
|
gateway/adapters
Package adapters renders the "put halo-proxy in front of / behind stack X" config snippets shipped under deploy/integrations.
|
Package adapters renders the "put halo-proxy in front of / behind stack X" config snippets shipped under deploy/integrations. |
|
gateway/kong
Package kong generates the decK declarative config for Kong OSS (db-less) that fronts an org's model traffic and attaches the halo-kong plugin.
|
Package kong generates the decK declarative config for Kong OSS (db-less) that fronts an org's model traffic and attaches the halo-kong plugin. |
|
gateway/upstreamauth
Package upstreamauth signs requests to provider upstreams that need a gateway-held credential instead of the caller's, so halo-proxy can talk to Amazon Bedrock directly (no orchestrator, no SigV4 sidecar).
|
Package upstreamauth signs requests to provider upstreams that need a gateway-held credential instead of the caller's, so halo-proxy can talk to Amazon Bedrock directly (no orchestrator, no SigV4 sidecar). |
|
harness
Package harness defines the adapter contract every AI coding CLI implements.
|
Package harness defines the adapter contract every AI coding CLI implements. |
|
harness/all
Package all registers every built-in harness adapter via blank imports.
|
Package all registers every built-in harness adapter via blank imports. |
|
harness/claudecode
Package claudecode renders Claude Code's managed settings.
|
Package claudecode renders Claude Code's managed settings. |
|
harness/codex
Package codex renders OpenAI Codex CLI admin configuration.
|
Package codex renders OpenAI Codex CLI admin configuration. |
|
harness/copilot
Package copilot renders GitHub Copilot CLI file-based enterprise managed settings (managed-settings.json).
|
Package copilot renders GitHub Copilot CLI file-based enterprise managed settings (managed-settings.json). |
|
harness/cursor
Package cursor renders Cursor CLI (cursor-agent) enterprise hooks: the system-wide hooks.json is the one root-owned, admin-controlled file the CLI reads.
|
Package cursor renders Cursor CLI (cursor-agent) enterprise hooks: the system-wide hooks.json is the one root-owned, admin-controlled file the CLI reads. |
|
harness/gemini
Package gemini renders Gemini CLI system settings.
|
Package gemini renders Gemini CLI system settings. |
|
harness/hutil
Package hutil holds helpers shared by harness adapters.
|
Package hutil holds helpers shared by harness adapters. |
|
harness/hutil/hutiltest
Package hutiltest provides a shared rich fixture and golden-file helper for adapter tests.
|
Package hutiltest provides a shared rich fixture and golden-file helper for adapter tests. |
|
harness/opencode
Package opencode renders OpenCode (sst/opencode, npm "opencode-ai") managed configuration: an opencode.json in the system managed-config directory, which OpenCode loads at the highest precedence.
|
Package opencode renders OpenCode (sst/opencode, npm "opencode-ai") managed configuration: an opencode.json in the system managed-config directory, which OpenCode loads at the highest precedence. |
|
identity
Package identity verifies who a gateway request is from.
|
Package identity verifies who a gateway request is from. |
|
identity/identitytest
Package identitytest is a tiny OIDC issuer (discovery + JWKS + token minting + an auto-approving authorization-code/PKCE flow) for tests and the compose demo.
|
Package identitytest is a tiny OIDC issuer (discovery + JWKS + token minting + an auto-approving authorization-code/PKCE flow) for tests and the compose demo. |
|
impact
Package impact answers "who is affected" by a policy change (ADR-0030): for every member of a population (the enrolled fleet, or a policy-only estimate), it resolves ring, experiment variants and effective settings under the base policy and under the new one, and counts who changes, per member kind and per org unit.
|
Package impact answers "who is affected" by a policy change (ADR-0030): for every member of a population (the enrolled fleet, or a policy-only estimate), it resolves ring, experiment variants and effective settings under the base policy and under the new one, and counts who changes, per member kind and per org unit. |
|
intent
Package intent turns intent-level requests ("upgrade claude-code to X", "canary this model", "enable this MCP server for 10%") into the low-level policy documents that express them, as file changes in the policy repo.
|
Package intent turns intent-level requests ("upgrade claude-code to X", "canary this model", "enable this MCP server for 10%") into the low-level policy documents that express them, as file changes in the policy repo. |
|
ledger
Package ledger is the agent session ledger (ADR-0031): one normalized, identity-linked record per agent session, built from several evidence sources (halo-proxy spans, Claude Code OTel events, the Anthropic Compliance API, the GitHub enterprise audit log, a JSONL import).
|
Package ledger is the agent session ledger (ADR-0031): one normalized, identity-linked record per agent session, built from several evidence sources (halo-proxy spans, Claude Code OTel events, the Anthropic Compliance API, the GitHub enterprise audit log, a JSONL import). |
|
mcpserver
Package mcpserver exposes a Halos policy repo to agents over MCP.
|
Package mcpserver exposes a Halos policy repo to agents over MCP. |
|
onboard
Package onboard is the deterministic core of `halo doctor` and `halo onboard`: detect the AI CLIs on this machine, check the environment and print exact fixes, plan and apply a local install of a ring's managed config, generate a local halo-proxy config, run a headless round trip, and generate a company rollout bundle.
|
Package onboard is the deterministic core of `halo doctor` and `halo onboard`: detect the AI CLIs on this machine, check the environment and print exact fixes, plan and apply a local install of a ring's managed config, generate a local halo-proxy config, run a headless round trip, and generate a company rollout bundle. |
|
pgstore
Package pgstore is the Postgres backend for running several halo-server and halo-shadow replicas (ADR-0021): versioned forward-only migrations, the shared record logs and KV behind internal/storage, the hash-chained audit table, fleet reports, rollout documents, leader leases with fencing tokens, and halo-shadow's pair table and global budget.
|
Package pgstore is the Postgres backend for running several halo-server and halo-shadow replicas (ADR-0021): versioned forward-only migrations, the shared record logs and KV behind internal/storage, the hash-chained audit table, fleet reports, rollout documents, leader leases with fencing tokens, and halo-shadow's pair table and global budget. |
|
pgstore/pgtest
Package pgtest opens throwaway Postgres schemas for integration tests.
|
Package pgtest opens throwaway Postgres schemas for integration tests. |
|
policy
Package policy defines Halos's harness-neutral policy model: the YAML documents an org keeps in its policy repo, and the in-memory form every other package (compiler, gateway, delivery, eval) consumes.
|
Package policy defines Halos's harness-neutral policy model: the YAML documents an org keeps in its policy repo, and the in-memory form every other package (compiler, gateway, delivery, eval) consumes. |
|
promote
Package promote turns experiment evidence into a rollout decision.
|
Package promote turns experiment evidence into a rollout decision. |
|
release
Package release builds immutable, content-addressed release bundles: a deterministic tar holding manifest.json plus every rendered file (as blobs/<sha256>).
|
Package release builds immutable, content-addressed release bundles: a deterministic tar holding manifest.json plus every rendered file (as blobs/<sha256>). |
|
roi
Package roi measures the delivery impact of a policy change (ADR-0027).
|
Package roi measures the delivery impact of a policy change (ADR-0027). |
|
rollout
Package rollout drives a policy.Rollout through its steps.
|
Package rollout drives a policy.Rollout through its steps. |
|
server
Package server is the Halos console backend: fleet ingest, policy and experiment read APIs, and the embedded web console.
|
Package server is the Halos console backend: fleet ingest, policy and experiment read APIs, and the embedded web console. |
|
shadow
Package shadow implements the mirror pipeline: halo-kong posts a Job for sampled first-turn requests, halo-shadow replays it against control and candidate (non-streaming) and stores the pair for later LLM-judge grading.
|
Package shadow implements the mirror pipeline: halo-kong posts a Job for sampled first-turn requests, halo-shadow replays it against control and candidate (non-streaming) and stores the pair for later LLM-judge grading. |
|
stats
Package stats holds the statistics Halos uses to gate rollouts: always-valid sequential tests (mSPRT), fixed-horizon Welch tests, CUPED variance reduction, paired bootstrap for eval scorecards, and guardrail evaluation.
|
Package stats holds the statistics Halos uses to gate rollouts: always-valid sequential tests (mSPRT), fixed-horizon Welch tests, CUPED variance reduction, paired bootstrap for eval scorecards, and guardrail evaluation. |
|
storage
Package storage is the persistence seam under halo-server's stores: an append-only record log each store replays into memory, and a small expiring key-value space for short-lived single-use state.
|
Package storage is the persistence seam under halo-server's stores: an append-only record log each store replays into memory, and a small expiring key-value space for short-lived single-use state. |
|
supplychain
Package supplychain handles agent extension artifacts (skills, plugins, hooks, slash commands, agent definitions) as content-addressed trees (ADR-0028): reading them from the policy repo, fetching pinned remote sources (git commit, OCI digest), computing their digest, and the static scan run by `halo validate` and `halo release build`.
|
Package supplychain handles agent extension artifacts (skills, plugins, hooks, slash commands, agent definitions) as content-addressed trees (ADR-0028): reading them from the policy repo, fetching pinned remote sources (git commit, OCI digest), computing their digest, and the static scan run by `halo validate` and `halo release build`. |
|
telemetry
Package telemetry generates the OpenTelemetry Collector configuration that receives OTLP from Claude Code, Codex, Gemini CLI and Copilot CLI, normalises their harness-specific metrics into the halo.* schema, and exports to ClickHouse and Prometheus.
|
Package telemetry generates the OpenTelemetry Collector configuration that receives OTLP from Claude Code, Codex, Gemini CLI and Copilot CLI, normalises their harness-specific metrics into the halo.* schema, and exports to ClickHouse and Prometheus. |
|
telemetry/gwmetrics
Package gwmetrics is halo-proxy's per-request OTLP metrics emitter: the gateway assigns ring/variant itself, so these are the best-attributed online samples for halo.api.error_rate and halo.latency.* (and the only ones for traffic-axis experiments).
|
Package gwmetrics is halo-proxy's per-request OTLP metrics emitter: the gateway assigns ring/variant itself, so these are the best-attributed online samples for halo.api.error_rate and halo.latency.* (and the only ones for traffic-axis experiments). |
|
telemetry/synth
Package synth emits synthetic OTLP/HTTP (JSON) telemetry shaped like the real harnesses, for control vs treatment cohorts with a known injected effect.
|
Package synth emits synthetic OTLP/HTTP (JSON) telemetry shaped like the real harnesses, for control vs treatment cohorts with a known injected effect. |
|
toggle
Package toggle evaluates feature-toggle targeting rules and composes the per-harness settings fragments a release carries for client-axis toggles.
|
Package toggle evaluates feature-toggle targeting rules and composes the per-harness settings fragments a release carries for client-axis toggles. |
|
tools/gendocs
command
Command gendocs regenerates the CLI and policy reference pages:
|
Command gendocs regenerates the CLI and policy reference pages: |
|
upgrade
Package upgrade watches upstream for new versions of the pinned coding CLIs and for new models in configured provider model lists, and turns each new candidate into an eval-gated pull request: it verifies the candidate's install artifacts (sha256 / npm integrity, via release.ArtifactResolver), writes the candidate pin on a branch, runs the eval suite, and opens a PR carrying the scorecard.
|
Package upgrade watches upstream for new versions of the pinned coding CLIs and for new models in configured provider model lists, and turns each new candidate into an eval-gated pull request: it verifies the candidate's install artifacts (sha256 / npm integrity, via release.ArtifactResolver), writes the candidate pin on a branch, runs the eval suite, and opens a PR carrying the scorecard. |
|
vendoradmin
Package vendoradmin renders one Halos policy into the settings of the vendors' cloud admin consoles (Claude for Teams/Enterprise, ChatGPT workspaces, Gemini for Google Cloud, GitHub Copilot, Cursor), reads the live settings where a vendor publishes a read API, diffs them, and applies the diff where it publishes a write API (ADR-0025).
|
Package vendoradmin renders one Halos policy into the settings of the vendors' cloud admin consoles (Claude for Teams/Enterprise, ChatGPT workspaces, Gemini for Google Cloud, GitHub Copilot, Cursor), reads the live settings where a vendor publishes a read API, diffs them, and applies the diff where it publishes a write API (ADR-0025). |
|
yamledit
Package yamledit finds a kind/name YAML document in a policy repo (any document of a multi-document file) and edits it by byte splice, leaving comments, formatting and every other document intact.
|
Package yamledit finds a kind/name YAML document in a policy repo (any document of a multi-document file) and edits it by byte splice, leaving comments, formatting and every other document intact. |
|
test
|
|
|
load
command
Command load drives a real halo-proxy binary against mock upstreams and reports added latency, throughput, errors, memory/goroutine growth over a soak, failover + circuit-breaker behaviour, and long-lived SSE integrity.
|
Command load drives a real halo-proxy binary against mock upstreams and reports added latency, throughput, errors, memory/goroutine growth over a soak, failover + circuit-breaker behaviour, and long-lived SSE integrity. |
|
uat/k8s/uatidp
command
Command uatidp is the mock OIDC issuer for `make uat-k8s`: discovery, JWKS, auth-code+PKCE (/authorize auto-approves the identity set by PUT /_uat/login) and GET /mint, which hands out a gateway JWT for any user.
|
Command uatidp is the mock OIDC issuer for `make uat-k8s`: discovery, JWKS, auth-code+PKCE (/authorize auto-approves the identity set by PUT /_uat/login) and GET /mint, which hands out a gateway JWT for any user. |
|
Package web exposes the built console.
|
Package web exposes the built console. |
Click to show internal directories.
Click to hide internal directories.