Harbor

module
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Jun 11, 2026 License: Apache-2.0

README

Harbor

A Go-native runtime for durable, steerable, event-driven AI agents.

Docs · Quickstart · Embedding · Architecture · Contributing

CI Release Go Reference


Harbor runs agents the way a server runs requests: as long-lived, observable, interruptible work — not as a script that blocks until an LLM replies. An agent in Harbor can be paused mid-reasoning for a human approval, redirected by an operator, resumed after a process restart, and watched live — all without the agent's author writing a line of orchestration code.

It ships two ways, and they are the same runtime:

  • A Go SDK. go get github.com/hurtener/Harbor and assemble the full agent stack inside your own program — no CLI, no HTTP listener, no daemon. The sdk/ facade is the supported public surface, and a standing CI gate compiles a scaffolded external agent on every commit so "importable from outside" stays true rather than aspirational.
  • A static binary. harbor drives the local dev loop, validation, scaffolding, and the Console. CGo-free, no message broker to stand up; harbor dev boots the whole runtime on your laptop in under a second.

Embed the runtime in your own program

import (
    _ "github.com/hurtener/Harbor/sdk/drivers/prod" // production driver registrations

    "github.com/hurtener/Harbor/sdk/assemble"
    "github.com/hurtener/Harbor/sdk/config"
)

cfg := config.Defaults()
cfg.LLM.Provider = "openrouter"
cfg.LLM.Model = "anthropic/claude-sonnet-4"
cfg.LLM.APIKey = "env.OPENROUTER_API_KEY" // env-var indirection — never inline a key

if err := cfg.ValidateCore(); err != nil {
    return fmt.Errorf("config: %w", err) // fail loud before anything boots
}

stack, err := assemble.Assemble(ctx, cfg, assemble.Options{})
if err != nil {
    return fmt.Errorf("assemble: %w", err)
}
defer stack.Close(ctx)

One call composes the dependency-ordered stack — stores, event bus, LLM client, memory, skills, tasks, tool catalog, sessions, pause coordinator, planner, run loop — with reverse-order closers and partial-failure cleanup. Register your own tools via assemble.Options.PreRegisterTools, drive a goal through stack.RunLoop, read the answer from the planner's finish envelope. The complete worked path is the Embed Harbor headless recipe; every snippet in it is executed by an integration test, so it cannot drift from the real API.

Five minutes to a working agent

go install github.com/hurtener/Harbor/cmd/harbor@latest

mkdir my-agent && cd my-agent
harbor init                       # tiered harbor.yaml + AGENTS.md/CLAUDE.md/README.md
# edit harbor.yaml — uncomment one LLM provider block + set its API key env var
harbor validate ./harbor.yaml     # fail-loud config check (file:line precision)
harbor scaffold --name my-agent   # materialise the Go project + worked agent + test
harbor dev                        # local runtime + protocol server on :18080

The operator skills in docs/skills/INDEX.md walk this path step by step — scaffold-a-harbor-agentrun-the-dev-loopdrive-the-playground is the first-five-minutes chain.

Why Harbor

Most agent frameworks are a loop: call the LLM, run a tool, repeat, return a string. That loop is easy to start and hard to operate. It can't be paused for approval, it loses everything on a crash, two users share its globals, and the only way to see what it's doing is to read stdout.

Harbor treats those operational concerns as the product:

  • Durable. Run state is persisted, not held in a goroutine. A paused run survives a process restart — the pause checkpoints its trajectory, and a max-park sweeper reaps what nobody resumes. Pause/resume serialization fails loudly (ErrUnserializable) rather than silently dropping context.
  • Steerable. Cancel, redirect, inject a message, pause, resume — all routed through one primitive. Human-in-the-loop approval, tool-side OAuth, and operator pause are the same mechanism, not three reinventions.
  • Event-driven. Every meaningful thing a run does is a typed event on a bus. Observability is not bolted on; it is how the runtime is built.
  • Multi-isolation from line one. Every layer carries a (tenant, user, session) identity. One user can hold many concurrent sessions and they never see each other's state. Identity is mandatory and the runtime fails closed — there is no single-tenant mode to "upgrade from."
  • Operationally honest. Per-tenant governance ceilings (cost, rate, max-tokens) enforce rather than advise. Telemetry passes through a mandatory redactor — raw tool arguments never reach a log. Heavy content is artifact-stubbed before it can leak into an LLM context window.

The reasoning policy is yours and it is swappable. Harbor owns the mechanism — events, tasks, tools, memory, artifacts, pause/resume — behind one Planner interface. The reference ReAct planner ships in the box; a Deterministic planner ships beside it to prove the seam. Plan-Execute, Graph, and Supervisor planners are post-V1, and they sit on the exact same primitives.

Architecture

Harbor is four layers, each with a hard boundary:

        your Go program                       the harbor binary
   ┌─────────────────────────┐           ┌─────────────────────────┐
   │ sdk/assemble · sdk/...  │           │ harbor dev · scaffold   │
   └───────────┬─────────────┘           └───────────┬─────────────┘
               ▼                                     ▼
   ┌─────────────────────────────────────────────────────────────┐
   │  Harbor Runtime — headless orchestration kernel             │
   │  tasks · planner runtime · tools · memory · sessions        │
   │  events · skills · artifacts · ONE pause/resume primitive   │
   │  every operation scoped by (tenant, user, session)          │
   └───────────────────────────┬─────────────────────────────────┘
                               │  canonical events · state · control
                               ▼
   ┌─────────────────────────────────────────────────────────────┐
   │  Harbor Protocol — versioned wire contract (SSE + REST)     │
   └──────────┬─────────────────────┬──────────────────┬─────────┘
              ▼                     ▼                  ▼
       Harbor Console        third-party client   harbor inspect-*
Layer What it is
Runtime The orchestration kernel — tasks, planner runtime, tools, memory, sessions, events, skills, artifacts, the unified pause/resume primitive. Headless.
Protocol The canonical, versioned event/state contract. Streaming events, the task-control surface, state snapshots, topology, traces, metrics.
Console The observability + control-plane UI (SvelteKit). Architecturally just a Protocol client — it never reads a Runtime object directly.
CLI The harbor binary: init, dev, console, scaffold, validate, skill, version, and the inspect-* family.

Because the Console only ever speaks Protocol, the same surface powers a remote attach, a third-party dashboard, or an IDE/TUI client. Nothing about observability is privileged to the first-party UI.

Persistence ships as three conformance-equal drivers everywhere it matters (StateStore, ArtifactStore, MemoryStore, …): in-memory for dev, SQLite (CGo-free) for single-node, Postgres for scale. Tools are transport-agnostic — an in-process Go function, an HTTP endpoint, an MCP server, or an A2A agent all register into the same catalog.

Using Harbor

The fastest path is the four-step CLI flow above: harbor init drops a tiered, commented harbor.yaml plus companion docs; you edit one LLM-provider example block, run harbor validate, then harbor scaffold --name <name> to materialise the Go project (go.mod, a worked agent importing the sdk/ facade, a harbortest-driven test). From there:

  • harbor dev — boots the local Runtime + Protocol server, mints an ephemeral dev token, serves until you Ctrl-C.
  • harbor console — serves the Harbor Console (baked into the binary) against a co-resident Runtime.
  • harbor validate — runs the config loader against a YAML file with file:line-precise errors; suitable as a CI pre-flight.
  • harbor skill import <path> / harbor skill rm <name> — ingest a Skills.md playbook into the runtime skill catalog (the same store harbor dev serves) or remove one by name.
  • harbor inspect-events / inspect-runs — tail the live event stream or reconstruct a run's trajectory from event replay.

The full operator-facing configuration reference for every knob in harbor.yaml lives at docs/CONFIG.md; a CI test fails the build when a new config field lands without a documentation entry.

Worked, runnable examples live in examples/; copy-paste how-to guides — defining a tool, wiring a planner, testing an agent, embedding the runtime headless, steering and resuming a run, observing an embedded runtime — live in docs/recipes/.

Testing your agent

The public harbortest/ package is a five-function authoring surface for flow-level tests — RunOnce, AssertSequence, AssertNoLeaks, SimulateFailure, RecordedEvents. Import it from outside the module; its parameter vocabulary (event buses, identities, tool catalogs, event types) is constructed through the sdk/ aliases (sdk/events, sdk/audit, sdk/identity, sdk/tools), so the full surface works externally — the preflight gate runs an external-module probe against it. The godoc documents the surface and harbortest/agent_test.go is the worked example.

Documentation

The published docs site at https://hurtener.github.io/Harbor/ renders the operator skills, recipes, the Protocol adoption track (for third-party client authors), and the full reference set (configuration, RFC, glossary, decisions log) with navigation and search. It builds from the canonical files below — the repo stays the source of truth.

docs/skills/INDEX.md Operator skills — Claude-Code-style playbooks for building agents with Harbor. Start at scaffold-a-harbor-agent.
docs/recipes/ Practical how-to guides, grounded in current APIs.
docs/site/protocol/ The Protocol adoption track — build a third-party client against the wire: the executed quickstart, the generated method/event/error/type reference (drift-gated by make protocol-docs-gen-check), the five choreography guides (auth, streaming, task control, the pause model, versioning), the worked event-viewer client (~150 lines, stdlib-only, compile-gated), and the conformance-certification path.
docs/CONFIG.md Full operator-facing reference for every harbor.yaml knob.
docs/notes/productionization-playbook.md The audit-driven hardening process — how a working agent becomes a production one.
RFC-001-Harbor.md The design RFC — product intent and every architectural decision.
docs/glossary.md Harbor's vocabulary, one entry per term.
docs/decisions.md The append-only architectural decision log (D-001…).
docs/plans/README.md The master phase plan — how Harbor was built, phase by phase.
CHANGELOG.md Release history, Keep-a-Changelog format.

Status

Harbor v1.3.0. The release where the SDK story becomes real. The runtime that previously shipped inside the harbor binary is now a first-class embeddable library: a production-promotion program moved tool dispatch, run context population, config projection, and the one-call assemble.Assemble fan-out out of the binary and into the runtime proper, and the curated sdk/ facade (RFC §3.6) re-exports the supported surface to external Go modules. harbor scaffold emits the public paths, the harbortest kit's full vocabulary is externally satisfiable, and a standing preflight gate compiles a tool-declaring scaffold as an external module on every change.

The same program hardened the operational core: per-tenant governance ceilings now enforce (governance.identity_tiers), durable pauses survive a Runtime restart via trajectory checkpoints with a max-park sweeper, the tool-side OAuth completion leg closes the pause→callback→resume choreography, long trajectories compress under an operator-set planner.token_budget, and production telemetry assembles the full redactor → bus → metrics → tracer chain. The Console gained a new app-shell chrome (compact rail, top bar, ⌘K search) and thirteen pages rebuilt against binding design mocks — and this release adds the published docs site. Cross-tenant isolation, goroutine-leak, and chaos conformance harnesses still gate every change.

Next: the MCP Apps host (interactive, sandboxed ui:// resources), the background-task dispatch leg, and the last Console page-polish rounds. Post-V1 work — additional planner concretes, a durable distributed bus, governance extensions — is tracked in the master phase plan.

Releases

A release is built by scripts/release-build.sh (via make release-build, or the release.yml workflow on a v* tag): a CGo-free static binary per platform with the version stamped at link time, SHA-256 checksums, and a SLSA-style build-provenance attestation. harbor version reports the product version and, separately, the Harbor Protocol version. make release-dryrun exercises the whole path without a tag.

Contributing

AGENTS.md is binding for anyone — human or AI — modifying this repository. Read it first.

make help          # every target
make test          # the suite, race detector on
make lint          # the full golangci-lint gate
make preflight     # build + boot + smoke — the same gate CI enforces
make install-hooks # one-time per clone

License

Apache-2.0. See RFC-001-Harbor.md §10 for the rationale.

Directories

Path Synopsis
cmd
harbor command
Package main hosts the `harbor` CLI binary.
Package main hosts the `harbor` CLI binary.
harbor-gen-protocol-docs command
Command harbor-gen-protocol-docs emits the four generated Protocol contract-reference pages (`methods.md` / `events.md` / `errors.md` / `types.md`) into docs/site/protocol/ from the canonical single sources the Runtime compiles from (Phase 113a, D-209; RFC §5):
Command harbor-gen-protocol-docs emits the four generated Protocol contract-reference pages (`methods.md` / `events.md` / `errors.md` / `types.md`) into docs/site/protocol/ from the canonical single sources the Runtime compiles from (Phase 113a, D-209; RFC §5):
harbor-mcptest-stdio command
harbor-mcptest-stdio is a minimal MCP stdio server used by the Phase 83g integration test.
harbor-mcptest-stdio is a minimal MCP stdio server used by the Phase 83g integration test.
harbor/init
Package harborinit ships the `harbor init` engine.
Package harborinit ships the `harbor init` engine.
harbor/scaffold
Package scaffold implements the `harbor scaffold` engine — the template registry, the renderer, and the on-disk writer.
Package scaffold implements the `harbor scaffold` engine — the template registry, the renderer, and the on-disk writer.
examples
agents/echo
Package echo is a worked, runnable Harbor agent example.
Package echo is a worked, runnable Harbor agent example.
protocol-clients/event-viewer command
Command event-viewer is the worked client from the Protocol adoption track's build-a-client guide (docs/site/protocol/build-a-client.md).
Command event-viewer is the worked client from the Protocol adoption track's build-a-client guide (docs/site/protocol/build-a-client.md).
tools/weather
Package weather is a worked, runnable example of registering a Go function as a Harbor in-process tool.
Package weather is a worked, runnable example of registering a Go function as a Harbor in-process tool.
Package harbortest is Harbor's public test kit — the ergonomic authoring surface for flow-level agent tests.
Package harbortest is Harbor's public test kit — the ergonomic authoring surface for flow-level agent tests.
devstack
Package devstack centralises per-test dev-stack assembly.
Package devstack centralises per-test dev-stack assembly.
internal
artifacts
Package artifacts defines Harbor's content-addressed blob store — the mandatory routing target for any output above the heavy-output threshold (default 32 KB; D-022, D-026, RFC §6.10).
Package artifacts defines Harbor's content-addressed blob store — the mandatory routing target for any output above the heavy-output threshold (default 32 KB; D-022, D-026, RFC §6.10).
artifacts/conformancetest
Package conformancetest exposes the canonical correctness suite every artifacts.ArtifactStore driver must pass.
Package conformancetest exposes the canonical correctness suite every artifacts.ArtifactStore driver must pass.
artifacts/drivers/fs
Package fs is Harbor's filesystem ArtifactStore driver.
Package fs is Harbor's filesystem ArtifactStore driver.
artifacts/drivers/inmem
Package inmem is Harbor's V1 in-memory ArtifactStore driver.
Package inmem is Harbor's V1 in-memory ArtifactStore driver.
artifacts/drivers/postgres
Package postgres is Harbor's V1 Postgres-backed ArtifactStore driver.
Package postgres is Harbor's V1 Postgres-backed ArtifactStore driver.
artifacts/drivers/s3
Package s3 is Harbor's S3-compatible ArtifactStore driver.
Package s3 is Harbor's S3-compatible ArtifactStore driver.
artifacts/drivers/sqlite
Package sqlite is Harbor's SQLite-backed `artifacts.ArtifactStore` driver (Phase 18).
Package sqlite is Harbor's SQLite-backed `artifacts.ArtifactStore` driver (Phase 18).
audit
Package audit owns Harbor's deep-redaction pass.
Package audit owns Harbor's deep-redaction pass.
audit/drivers/noop
Package noop is a pass-through audit redactor for tests that want to bypass redaction.
Package noop is a pass-through audit redactor for tests that want to bypass redaction.
audit/drivers/patterns
Package patterns is Harbor's V1 audit redactor driver.
Package patterns is Harbor's V1 audit redactor driver.
config
Package config defines Harbor's strongly-typed configuration surface.
Package config defines Harbor's strongly-typed configuration surface.
devdraft
Package devdraft implements the `harbor dev` draft-save scaffolding surface — Phase 66 / D-100.
Package devdraft implements the `harbor dev` draft-save scaffolding surface — Phase 66 / D-100.
distributed
Package distributed defines Harbor's V1 distributed-edge contracts:
Package distributed defines Harbor's V1 distributed-edge contracts:
distributed/a2a
Package a2a provides hand-transcribed Go shapes for every type defined in the vendored A2A v1 proto specification at `docs/specifications/a2a.proto` (commit `ae6a562d5d972f2c4b184f748bb32e1fa9aa7bf2`, 2026-04-23).
Package a2a provides hand-transcribed Go shapes for every type defined in the vendored A2A v1 proto specification at `docs/specifications/a2a.proto` (commit `ae6a562d5d972f2c4b184f748bb32e1fa9aa7bf2`, 2026-04-23).
distributed/conformancetest
Package conformancetest exposes the canonical correctness suites every distributed driver must pass.
Package conformancetest exposes the canonical correctness suites every distributed driver must pass.
distributed/drivers/a2a
Package a2a is Harbor's southbound A2A wire driver.
Package a2a is Harbor's southbound A2A wire driver.
distributed/drivers/loopback
Package loopback ships Harbor's V1 in-process drivers for both `distributed.MessageBus` and `distributed.RemoteTransport`.
Package loopback ships Harbor's V1 in-process drivers for both `distributed.MessageBus` and `distributed.RemoteTransport`.
drivers/prod
Package prod is the production driver aggregator — the single sanctioned home of Harbor's driver blank-import block (Phase 110c, D-196; AGENTS.md §4.4).
Package prod is the production driver aggregator — the single sanctioned home of Harbor's driver blank-import block (Phase 110c, D-196; AGENTS.md §4.4).
events
Package events owns Harbor's typed event bus surface — the single pub/sub channel every subsystem (telemetry, audit, governance, runtime, planner, tools) Publishes to and Subscribes from.
Package events owns Harbor's typed event bus surface — the single pub/sub channel every subsystem (telemetry, audit, governance, runtime, planner, tools) Publishes to and Subscribes from.
events/drivers/durable
Package durable is Harbor's StateStore-backed durable event log driver (Phase 57, RFC §6.13).
Package durable is Harbor's StateStore-backed durable event log driver (Phase 57, RFC §6.13).
events/drivers/inmem
Package inmem is Harbor's V1 in-memory EventBus driver.
Package inmem is Harbor's V1 in-memory EventBus driver.
governance
Package governance is Harbor's policy middleware between the runtime and the LLM-edge chain.
Package governance is Harbor's policy middleware between the runtime and the LLM-edge chain.
governance/conformancetest
Package conformancetest exposes the canonical governance correctness suite that every supported `state.StateStore` driver must satisfy.
Package conformancetest exposes the canonical governance correctness suite that every supported `state.StateStore` driver must satisfy.
identity
Package identity defines Harbor's load-bearing isolation key.
Package identity defines Harbor's load-bearing isolation key.
identity/conformancetest
Package conformancetest exposes the canonical identity-correctness suite that every identity-aware Harbor subsystem (StateStore drivers, MemoryStore drivers, Governance, Audit, Memory) must run.
Package conformancetest exposes the canonical identity-correctness suite that every identity-aware Harbor subsystem (StateStore drivers, MemoryStore drivers, Governance, Audit, Memory) must run.
llm
Package llm defines Harbor's LLM-client interface and the runtime-wide invariants that guard every `Complete` call.
Package llm defines Harbor's LLM-client interface and the runtime-wide invariants that guard every `Complete` call.
llm/corrections
Package corrections is Harbor's provider correction layer (Phase 34 — RFC §6.5).
Package corrections is Harbor's provider correction layer (Phase 34 — RFC §6.5).
llm/drivers/bifrost
Package bifrost is Harbor's bifrost-backed LLM driver.
Package bifrost is Harbor's bifrost-backed LLM driver.
llm/mock
Package mock is Harbor's test-grade LLM driver.
Package mock is Harbor's test-grade LLM driver.
llm/output
Package output is Harbor's structured-output strategy + downgrade chain (Phase 35 — RFC §6.5).
Package output is Harbor's structured-output strategy + downgrade chain (Phase 35 — RFC §6.5).
llm/retry
Package retry is Harbor's retry-with-feedback wrapper (Phase 36 — RFC §6.5).
Package retry is Harbor's retry-with-feedback wrapper (Phase 36 — RFC §6.5).
llm/summarizer
Package summarizer is the home of Harbor's production LLM-backed summarisation: the memory-subsystem `memory.Summarizer` (Phase 64, D-089) and the planner-trajectory `planner.Summariser` (Phase 111e, D-202).
Package summarizer is the home of Harbor's production LLM-backed summarisation: the memory-subsystem `memory.Summarizer` (Phase 64, D-089) and the planner-trajectory `planner.Summariser` (Phase 111e, D-202).
mcpconsole
Package mcpconsole wires the Phase 73k (D-119) MCP-Connections Protocol surface to its runtime-side dependencies — the Phase 28 MCP driver registry and the Phase 30 tool-side OAuth provider.
Package mcpconsole wires the Phase 73k (D-119) MCP-Connections Protocol surface to its runtime-side dependencies — the Phase 28 MCP driver registry and the Phase 30 tool-side OAuth provider.
memory
Package memory owns Harbor's declared-policy, identity-scoped, pluggable memory subsystem.
Package memory owns Harbor's declared-policy, identity-scoped, pluggable memory subsystem.
memory/conformancetest
Package conformancetest exposes the canonical correctness suite every `memory.MemoryStore` driver must pass.
Package conformancetest exposes the canonical correctness suite every `memory.MemoryStore` driver must pass.
memory/drivers/inmem
Package inmem is Harbor's V1 in-memory MemoryStore driver.
Package inmem is Harbor's V1 in-memory MemoryStore driver.
memory/drivers/postgres
Package postgres is Harbor's Postgres-backed `memory.MemoryStore` driver.
Package postgres is Harbor's Postgres-backed `memory.MemoryStore` driver.
memory/drivers/sqlite
Package sqlite is Harbor's SQLite-backed `memory.MemoryStore` driver.
Package sqlite is Harbor's SQLite-backed `memory.MemoryStore` driver.
memory/protocol
Package protocol — Phase 108n (D-186) additions: the strategy-trace read projection + the admin-gated mutation pair (`memory.put` / `memory.delete`).
Package protocol — Phase 108n (D-186) additions: the strategy-trace read projection + the admin-gated mutation pair (`memory.put` / `memory.delete`).
memory/strategy
Package strategy holds the memory-strategy executors: the algorithmic core that any `memory.MemoryStore` driver delegates to.
Package strategy holds the memory-strategy executors: the algorithmic core that any `memory.MemoryStore` driver delegates to.
planner
Multimodal first-turn materialization (Round-7 F11 / D-166).
Multimodal first-turn materialization (Round-7 F11 / D-166).
planner/conformance
Package conformance ships the planner conformance pack.
Package conformance ships the planner conformance pack.
planner/deterministic
Package deterministic ships Harbor's second concrete Planner (Phase 48 — RFC §6.2 + RFC §11 Q-6 — the iface-validation lens that proves the `internal/planner.Planner` seam is genuinely swappable).
Package deterministic ships Harbor's second concrete Planner (Phase 48 — RFC §6.2 + RFC §11 Q-6 — the iface-validation lens that proves the `internal/planner.Planner` seam is genuinely swappable).
planner/finish
Package finish ships Harbor's stub Planner — a planner that always returns Finish{Reason: Goal}.
Package finish ships Harbor's stub Planner — a planner that always returns Finish{Reason: Goal}.
planner/react
Package react ships Harbor's reference LLM-driven planner concrete (Phase 45 — RFC §6.2 + RFC §3.2 — the first concrete sitting on the `internal/planner.Planner` seam).
Package react ships Harbor's reference LLM-driven planner concrete (Phase 45 — RFC §6.2 + RFC §3.2 — the first concrete sitting on the `internal/planner.Planner` seam).
planner/repair
Package repair ships Harbor's reusable salvage / schema-repair / graceful-failure / multi-action-salvage ladder for planner steps (RFC §6.2, Phase 44 — see docs/plans/phase-44-schema-repair.md).
Package repair ships Harbor's reusable salvage / schema-repair / graceful-failure / multi-action-salvage ladder for planner steps (RFC §6.2, Phase 44 — see docs/plans/phase-44-schema-repair.md).
planner/trajectory
Package trajectory ships Harbor's append-only planner-execution log and the fail-loudly serialise contract that closes the predecessor's silent-context-loss bug.
Package trajectory ships Harbor's append-only planner-execution log and the fail-loudly serialise contract that closes the predecessor's silent-context-loss bug.
protocol
Package protocol is the Harbor Protocol layer's runtime-side surface — the transport-agnostic handlers that translate a Protocol method call into a runtime action.
Package protocol is the Harbor Protocol layer's runtime-side surface — the transport-agnostic handlers that translate a Protocol method call into a runtime action.
protocol/auth
Package auth is the Harbor Protocol's JWT validation surface — the Phase 61 transport-edge cryptographic identity check that turns the Phase 60 wire transports' trust-based identity carriers into verified ones (RFC §5.5: "JWT, asymmetric algorithms only ...
Package auth is the Harbor Protocol's JWT validation surface — the Phase 61 transport-edge cryptographic identity check that turns the Phase 60 wire transports' trust-based identity carriers into verified ones (RFC §5.5: "JWT, asymmetric algorithms only ...
protocol/conformance
Package conformance is the Harbor Protocol conformance suite — the single binding pass/fail definition of "the Protocol surface works at version 0.1.0" (RFC §5 + master-plan Phase 62 detail block; D-080).
Package conformance is the Harbor Protocol conformance suite — the single binding pass/fail definition of "the Protocol surface works at version 0.1.0" (RFC §5 + master-plan Phase 62 detail block; D-080).
protocol/errors
Package errors is the single source of truth for Harbor Protocol error codes (CLAUDE.md §8: "Error codes live in internal/protocol/errors/errors.go.
Package errors is the single source of truth for Harbor Protocol error codes (CLAUDE.md §8: "Error codes live in internal/protocol/errors/errors.go.
protocol/methods
Package methods is the single source of truth for Harbor Protocol method names (CLAUDE.md §8: "Method names live in internal/protocol/methods/methods.go.
Package methods is the single source of truth for Harbor Protocol method names (CLAUDE.md §8: "Method names live in internal/protocol/methods/methods.go.
protocol/singlesource
Package singlesource is the Harbor Protocol single-source enforcement checker (CLAUDE.md §8, §13; RFC §5).
Package singlesource is the Harbor Protocol single-source enforcement checker (CLAUDE.md §8, §13; RFC §5).
protocol/transports
Package transports is the Harbor Protocol wire-transport seam — the Phase 60 binding of RFC §5.4's resolved transport choice (SSE for the event stream + REST/JSON for the control surface) onto net/http.
Package transports is the Harbor Protocol wire-transport seam — the Phase 60 binding of RFC §5.4's resolved transport choice (SSE for the event stream + REST/JSON for the control surface) onto net/http.
protocol/transports/control
Package control is the Harbor Protocol REST/JSON control transport — the client→server half of the wire binding RFC §5.4 resolves to (SSE for events + REST/JSON for control).
Package control is the Harbor Protocol REST/JSON control transport — the client→server half of the wire binding RFC §5.4 resolves to (SSE for events + REST/JSON for control).
protocol/transports/cors
Package cors is the Harbor Protocol CORS middleware — the Phase 83v security primitive that unlocks the D-091 multi-process Console+Runtime posture (Console on one origin attaches to a Runtime on a different origin) without weakening the browser-side enforcement contract.
Package cors is the Harbor Protocol CORS middleware — the Phase 83v security primitive that unlocks the D-091 multi-process Console+Runtime posture (Console on one origin attaches to a Runtime on a different origin) without weakening the browser-side enforcement contract.
protocol/transports/stream
Package stream — Wave 13 additions (Phase 73e): the `agents.*` HTTP handler.
Package stream — Wave 13 additions (Phase 73e): the `agents.*` HTTP handler.
protocol/types
Package types is the single source of truth for Harbor Protocol wire types (CLAUDE.md §8).
Package types is the single source of truth for Harbor Protocol wire types (CLAUDE.md §8).
runtime/assemble
Package assemble is Harbor's assembly entry point (Phase 110d, D-197): the ONE exported, error-returning config→stack fan-out that turns a validated *config.Config into a running runtime stack.
Package assemble is Harbor's assembly entry point (Phase 110d, D-197): the ONE exported, error-returning config→stack fan-out that turns a validated *config.Config into a running runtime stack.
runtime/concurrency
Package concurrency ships Harbor's runtime concurrency primitives — Phase 14 of the runtime kernel chain (RFC §6.1).
Package concurrency ships Harbor's runtime concurrency primitives — Phase 14 of the runtime kernel chain (RFC §6.1).
runtime/dispatch
Package dispatch is the runtime's production tool-dispatch concrete — the one full `steering.ToolExecutor` implementation (Phase 110a, D-194; originally Phase 83i, D-152, as the dev binary's executor).
Package dispatch is the runtime's production tool-dispatch concrete — the one full `steering.ToolExecutor` implementation (Phase 110a, D-194; originally Phase 83i, D-152, as the dev binary's executor).
runtime/engine
Package engine is Harbor's typed, async, queue-backed graph executor — the runtime kernel every other phase sits on.
Package engine is Harbor's typed, async, queue-backed graph executor — the runtime kernel every other phase sits on.
runtime/flow
Package flow implements Harbor's Flow-as-Tool registration (RFC §6.1, D-023): a typed DAG of Nodes assembled into a runnable Engine via `Compose(def)`, then registered as a single Tool in the catalog via `RegisterAsTool(catalog, def, eng)`.
Package flow implements Harbor's Flow-as-Tool registration (RFC §6.1, D-023): a typed DAG of Nodes assembled into a runnable Engine via `Compose(def)`, then registered as a single Tool in the catalog via `RegisterAsTool(catalog, def, eng)`.
runtime/flow/protocol
Package protocol implements the runtime side of the Console Flows page (Phase 73i / D-117).
Package protocol implements the runtime side of the Console Flows page (Phase 73i / D-117).
runtime/messages
Package messages defines Harbor's wire-shaped runtime types: the Envelope every channel carries, the Headers it routes by, and the helpers (WithRunID, MergeMeta, Identity) downstream phases lean on.
Package messages defines Harbor's wire-shaped runtime types: the Envelope every channel carries, the Headers it routes by, and the helpers (WithRunID, MergeMeta, Identity) downstream phases lean on.
runtime/notifications
Package notifications ships Harbor's `notification.*` event family — a NEW event topic on the typed event bus carrying operator-facing notifications (alerts surfaced by the Console's notification centre, the Overview page alert ribbon, and the Settings notification-routing matrix per Brief 11 §CC-3).
Package notifications ships Harbor's `notification.*` event family — a NEW event topic on the typed event bus carrying operator-facing notifications (alerts surfaced by the Console's notification centre, the Overview page alert ribbon, and the Settings notification-routing matrix per Brief 11 §CC-3).
runtime/parallel
Package parallel ships Harbor's runtime parallel-call executor — the consumer of planner.CallParallel Decisions (RFC §6.2, Phase 47, D-056).
Package parallel ships Harbor's runtime parallel-call executor — the consumer of planner.CallParallel Decisions (RFC §6.2, Phase 47, D-056).
runtime/pauseresume
Package pauseresume ships Harbor's ONE pause/resume primitive — the unified Coordinator that HITL approval, tool-side OAuth, A2A AUTH_REQUIRED / INPUT_REQUIRED, and operator/Console PAUSE all converge on (CLAUDE.md §7 rule 4, RFC §3.3 + §6.3).
Package pauseresume ships Harbor's ONE pause/resume primitive — the unified Coordinator that HITL approval, tool-side OAuth, A2A AUTH_REQUIRED / INPUT_REQUIRED, and operator/Console PAUSE all converge on (CLAUDE.md §7 rule 4, RFC §3.3 + §6.3).
runtime/posture
Package posture builds the live `protocol.PostureDeps.Counters` and `protocol.PostureDeps.Metrics` seams over the real runtime subsystems.
Package posture builds the live `protocol.PostureDeps.Counters` and `protocol.PostureDeps.Metrics` seams over the real runtime subsystems.
runtime/registry
Package registry owns Harbor's Agent Registry — the in-process, per-runtime-instance subsystem that owns the *registration identity* of agents (RFC §6.16, D-059 / D-060).
Package registry owns Harbor's Agent Registry — the in-process, per-runtime-instance subsystem that owns the *registration identity* of agents (RFC §6.16, D-059 / D-060).
runtime/registry/protocol
Package protocol implements the eight `agents.*` Protocol methods the Console Agents page (Phase 73e / D-124) consumes:
Package protocol implements the eight `agents.*` Protocol methods the Console Agents page (Phase 73e / D-124) consumes:
runtime/routers
Package routers ships Harbor's runtime routing surface — Phase 14 of the runtime kernel chain (RFC §6.1).
Package routers ships Harbor's runtime routing surface — Phase 14 of the runtime kernel chain (RFC §6.1).
runtime/runctx
Package runctx exports the RunContext-population helpers a run-loop driver applies between "task spawned" and "planner.Next" — the code that turns subsystem state (memory, skills, artifacts, the terminal Finish) into what the planner actually sees (Phase 110b — D-195).
Package runctx exports the RunContext-population helpers a run-loop driver applies between "task spawned" and "planner.Next" — the code that turns subsystem state (memory, skills, artifacts, the terminal Finish) into what the planner actually sees (Phase 110b — D-195).
runtime/runs/protocol
Package protocol implements the `runs.set_overrides` Protocol method the Console Playground page (Phase 73n / D-130) consumes.
Package protocol implements the `runs.set_overrides` Protocol method the Console Playground page (Phase 73n / D-130) consumes.
runtime/steering
Package steering ships Harbor's per-run steering inbox + the nine-event control taxonomy + the Protocol-edge validation / sanitisation pass (RFC §6.3, brief 02 §2-§4).
Package steering ships Harbor's per-run steering inbox + the nine-event control taxonomy + the Protocol-edge validation / sanitisation pass (RFC §6.3, brief 02 §2-§4).
search
Package search owns the Harbor Phase 72c (D-108) cross-cutting search primitive — the four runtime-side per-subsystem indexes (sessions, tasks, events, artifacts) plus the `search.query` palette dispatcher that aggregates them.
Package search owns the Harbor Phase 72c (D-108) cross-cutting search primitive — the four runtime-side per-subsystem indexes (sessions, tasks, events, artifacts) plus the `search.query` palette dispatcher that aggregates them.
search/artifacts
Package artifacts implements the Phase 72c `search.artifacts` runtime-side index — a server-enforced search over the artifact store's catalog, scoped to the caller's identity triple unless the `auth.ScopeAdmin` claim is present (D-079).
Package artifacts implements the Phase 72c `search.artifacts` runtime-side index — a server-enforced search over the artifact store's catalog, scoped to the caller's identity triple unless the `auth.ScopeAdmin` claim is present (D-079).
search/events
Package events implements the Phase 72c `search.events` runtime-side index — a server-enforced search over the event bus's replay ring, scoped to the caller's identity triple unless the `auth.ScopeAdmin` claim is present (D-079).
Package events implements the Phase 72c `search.events` runtime-side index — a server-enforced search over the event bus's replay ring, scoped to the caller's identity triple unless the `auth.ScopeAdmin` claim is present (D-079).
search/sessions
Package sessions implements the Phase 72c `search.sessions` runtime-side index — a server-enforced search over session lifecycle records, scoped to the caller's identity triple unless the `auth.ScopeAdmin` claim is present (D-079).
Package sessions implements the Phase 72c `search.sessions` runtime-side index — a server-enforced search over session lifecycle records, scoped to the caller's identity triple unless the `auth.ScopeAdmin` claim is present (D-079).
search/tasks
Package tasks implements the Phase 72c `search.tasks` runtime-side index — a server-enforced search over task lifecycle records, scoped to the caller's identity triple unless the `auth.ScopeAdmin` claim is present (D-079).
Package tasks implements the Phase 72c `search.tasks` runtime-side index — a server-enforced search over task lifecycle records, scoped to the caller's identity triple unless the `auth.ScopeAdmin` claim is present (D-079).
server
approval_authorizer.go — the Protocol-side resolve authorizer (Phase 111f, D-203).
approval_authorizer.go — the Protocol-side resolve authorizer (Phase 111f, D-203).
sessions
Package sessions owns Harbor's session-lifecycle subsystem.
Package sessions owns Harbor's session-lifecycle subsystem.
sessions/protocol
Package protocol implements the two `sessions.*` Protocol methods the Console Sessions page (Phase 73c / D-122) consumes:
Package protocol implements the two `sessions.*` Protocol methods the Console Sessions page (Phase 73c / D-122) consumes:
skills
Package skills owns Harbor's token-savvy, DB-backed, identity- scoped skill subsystem (RFC §6.7).
Package skills owns Harbor's token-savvy, DB-backed, identity- scoped skill subsystem (RFC §6.7).
skills/capfilter
Package capfilter holds the primitive capability-filter and tool-name-scrub logic shared by the skills planner tools (internal/skills/tools, Phase 38) and the virtual directory (internal/skills, Phase 39).
Package capfilter holds the primitive capability-filter and tool-name-scrub logic shared by the skills planner tools (internal/skills/tools, Phase 38) and the virtual directory (internal/skills, Phase 39).
skills/conformancetest
Package conformancetest is the shared `SkillStore` conformance harness.
Package conformancetest is the shared `SkillStore` conformance harness.
skills/drivers/localdb
Package localdb is Harbor's SQLite-backed `skills.SkillStore` driver (Phase 37).
Package localdb is Harbor's SQLite-backed `skills.SkillStore` driver (Phase 37).
skills/generator
Package generator owns Harbor's in-runtime skill generator with persistence (Phase 41, RFC §6.7).
Package generator owns Harbor's in-runtime skill generator with persistence (Phase 41, RFC §6.7).
skills/importer
Package importer ships Harbor's Skills.md importer — the predecessor's gap-closer (RFC §6.7, brief 04 §4.7).
Package importer ships Harbor's Skills.md importer — the predecessor's gap-closer (RFC §6.7, brief 04 §4.7).
skills/tools
Package tools registers Harbor's planner-facing skill tools (`skill_search`, `skill_get`, `skill_list`) into the Phase 26 `tools.ToolCatalog`.
Package tools registers Harbor's planner-facing skill tools (`skill_search`, `skill_get`, `skill_list`) into the Phase 26 `tools.ToolCatalog`.
state
Package state owns Harbor's persistence floor: the single mandatory `StateStore` interface that every persistence-shaped subsystem (sessions, tasks, governance accumulators, planner checkpoints, memory snapshots, steering events) saves through.
Package state owns Harbor's persistence floor: the single mandatory `StateStore` interface that every persistence-shaped subsystem (sessions, tasks, governance accumulators, planner checkpoints, memory snapshots, steering events) saves through.
state/conformancetest
Package conformancetest exposes the canonical correctness suite every state.StateStore driver must pass.
Package conformancetest exposes the canonical correctness suite every state.StateStore driver must pass.
state/drivers/inmem
Package inmem is Harbor's V1 in-memory StateStore driver.
Package inmem is Harbor's V1 in-memory StateStore driver.
state/drivers/postgres
Package postgres is Harbor's V1 Postgres-backed StateStore driver.
Package postgres is Harbor's V1 Postgres-backed StateStore driver.
state/drivers/sqlite
Package sqlite is Harbor's SQLite-backed `state.StateStore` driver (Phase 15).
Package sqlite is Harbor's SQLite-backed `state.StateStore` driver (Phase 15).
tasks
Package tasks owns Harbor's unified task surface: the `TaskRegistry` interface every planner / runtime / steering caller uses to spawn, list, cancel, and prioritise both foreground runs and background tasks under one `TaskID` namespace.
Package tasks owns Harbor's unified task surface: the `TaskRegistry` interface every planner / runtime / steering caller uses to spawn, list, cancel, and prioritise both foreground runs and background tasks under one `TaskID` namespace.
tasks/conformancetest
Package conformancetest exposes the canonical correctness suite every tasks.TaskRegistry driver must pass.
Package conformancetest exposes the canonical correctness suite every tasks.TaskRegistry driver must pass.
tasks/drivers/inprocess
Package inprocess is Harbor's V1 in-process TaskRegistry driver.
Package inprocess is Harbor's V1 in-process TaskRegistry driver.
tasks/protocol
Package protocol implements the two `tasks.*` read methods the Console Tasks page (Phase 73d / D-123) consumes:
Package protocol implements the two `tasks.*` read methods the Console Tasks page (Phase 73d / D-123) consumes:
telemetry
Package telemetry owns Harbor's canonical structured logger.
Package telemetry owns Harbor's canonical structured logger.
telemetry/cardinalitylint
Package cardinalitylint is the Harbor metrics-cardinality enforcement checker (RFC §6.14; brief 06 "metrics cardinality footgun").
Package cardinalitylint is the Harbor metrics-cardinality enforcement checker (RFC §6.14; brief 06 "metrics cardinality footgun").
telemetry/drivers/noop
Package noop is the default telemetry.SpanExporter driver — it drops every span without error.
Package noop is the default telemetry.SpanExporter driver — it drops every span without error.
telemetry/drivers/otlp
Package otlp is the OTLP/gRPC telemetry.SpanExporter driver — it ships spans to an external OpenTelemetry collector (Jaeger, an OTLP collector, an observability vendor's endpoint).
Package otlp is the OTLP/gRPC telemetry.SpanExporter driver — it ships spans to an external OpenTelemetry collector (Jaeger, an OTLP collector, an observability vendor's endpoint).
telemetry/drivers/otlpmetric
Package otlpmetric is the OTLP/gRPC telemetry.MetricExporter driver — it ships metrics to an external OpenTelemetry collector (an OTLP collector, an observability vendor's endpoint).
Package otlpmetric is the OTLP/gRPC telemetry.MetricExporter driver — it ships metrics to an external OpenTelemetry collector (an OTLP collector, an observability vendor's endpoint).
telemetry/drivers/prometheus
Package prometheus is the built-in Prometheus telemetry.MetricExporter driver — it exposes Harbor's metrics on a pull /metrics endpoint in the Prometheus text exposition format.
Package prometheus is the built-in Prometheus telemetry.MetricExporter driver — it exposes Harbor's metrics on a pull /metrics endpoint in the Prometheus text exposition format.
telemetry/eventbus
Package eventbus is the adapter that connects Phase 04's telemetry.BusEmitter seam to Phase 05's events.EventBus.
Package eventbus is the adapter that connects Phase 04's telemetry.BusEmitter seam to Phase 05's events.EventBus.
tools
Package tools defines Harbor's unified tool catalog surface — the single planner-addressable concept that hides whether a tool is an in-process Go function, an HTTP endpoint, an MCP server, an A2A remote agent, or a Flow (a typed DAG of Nodes registered as one Tool — see internal/runtime/flow).
Package tools defines Harbor's unified tool catalog surface — the single planner-addressable concept that hides whether a tool is an in-process Go function, an HTTP endpoint, an MCP server, an A2A remote agent, or a Flow (a typed DAG of Nodes registered as one Tool — see internal/runtime/flow).
tools/approval
Package approval ships Harbor's tool-side synchronous approval-gate subsystem — the second consumer of the unified pause/resume primitive (Phase 50 / D-067), layered on the same Coordinator + bus + steering inbox seams Phase 30 (tool-side OAuth) built.
Package approval ships Harbor's tool-side synchronous approval-gate subsystem — the second consumer of the unified pause/resume primitive (Phase 50 / D-067), layered on the same Coordinator + bus + steering inbox seams Phase 30 (tool-side OAuth) built.
tools/auth
Package auth ships Harbor's tool-side OAuth subsystem — the TokenStore + OAuthProvider seam every Phase 27 (HTTP) / Phase 28 (MCP) / Phase 29 (A2A) southbound driver consults when a tool call needs a bearer token.
Package auth ships Harbor's tool-side OAuth subsystem — the TokenStore + OAuthProvider seam every Phase 27 (HTTP) / Phase 28 (MCP) / Phase 29 (A2A) southbound driver consults when a tool call needs a bearer token.
tools/auth/conformancetest
Package conformancetest exposes the shared TokenStore + Sealer conformance suite Phase 30 ships.
Package conformancetest exposes the shared TokenStore + Sealer conformance suite Phase 30 ships.
tools/auth/drivers/oauth2
Package oauth2 ships Harbor's V1 default OAuth provider driver (D-095, closes issue #116 and D-090's deferred construction gap).
Package oauth2 ships Harbor's V1 default OAuth provider driver (D-095, closes issue #116 and D-090's deferred construction gap).
tools/builtin
Package builtin ships the small set of opt-in tools that travel with the Harbor binary.
Package builtin ships the small set of opt-in tools that travel with the Harbor binary.
tools/catalog
Package catalog ships Harbor's operator-config-driven tool-catalog wiring (Phase 64a / D-090).
Package catalog ships Harbor's operator-config-driven tool-catalog wiring (Phase 64a / D-090).
tools/conformancetest
Package conformancetest is Harbor's shared conformance suite for any ToolCatalog implementation.
Package conformancetest is Harbor's shared conformance suite for any ToolCatalog implementation.
tools/drivers/a2a
Package a2a is Harbor's southbound A2A integration with the tool catalog (Phase 29).
Package a2a is Harbor's southbound A2A integration with the tool catalog (Phase 29).
tools/drivers/http
Package http is Harbor's HTTP transport driver for the unified tool catalog (Phase 27).
Package http is Harbor's HTTP transport driver for the unified tool catalog (Phase 27).
tools/drivers/inproc
Package inproc is Harbor's in-process tool driver.
Package inproc is Harbor's in-process tool driver.
tools/drivers/mcp
attach.go — the exported boot-time MCP server attachment helper (Phase 110d, D-197; absorbs cmd/harbor's attachDevMCPServer from Phase 83g / D-150 INCLUDING the Phase 26b config→ToolPolicy projection that the devstack mirror had silently dropped).
attach.go — the exported boot-time MCP server attachment helper (Phase 110d, D-197; absorbs cmd/harbor's attachDevMCPServer from Phase 83g / D-150 INCLUDING the Phase 26b config→ToolPolicy projection that the devstack mirror had silently dropped).
tools/drivers/searchcache
Package searchcache is Harbor's SQLite FTS5-backed tool search cache (Phase 107c / D-167).
Package searchcache is Harbor's SQLite FTS5-backed tool search cache (Phase 107c / D-167).
tools/protocol
Package protocol implements the seven `tools.*` Protocol methods the Console Tools page (Phase 73f / D-116) consumes:
Package protocol implements the seven `tools.*` Protocol methods the Console Tools page (Phase 73f / D-116) consumes:
sdk
Package sdk is the root of Harbor's public SDK facade (RFC §3.6, D-204/D-205) — the curated, alias-based re-export tree that makes the runtime importable by external Go modules.
Package sdk is the root of Harbor's public SDK facade (RFC §3.6, D-204/D-205) — the curated, alias-based re-export tree that makes the runtime importable by external Go modules.
artifacts
Package artifacts is the public SDK facade over Harbor's internal/artifacts package — the content-addressed, identity-scoped artifact store and the by-reference heavy-content contract (RFC §3.6, §6.10; D-204).
Package artifacts is the public SDK facade over Harbor's internal/artifacts package — the content-addressed, identity-scoped artifact store and the by-reference heavy-content contract (RFC §3.6, §6.10; D-204).
assemble
Package assemble is the public SDK facade over Harbor's internal/runtime/assemble package — the ONE composition fan-out that turns a validated config into a running headless stack (RFC §3.6, §6.4; D-204/D-197).
Package assemble is the public SDK facade over Harbor's internal/runtime/assemble package — the ONE composition fan-out that turns a validated config into a running headless stack (RFC §3.6, §6.4; D-204/D-197).
audit
Package audit is the public SDK facade over Harbor's internal/audit package — the mandatory redaction seam every payload passes through before leaving the process (RFC §3.6; D-204/D-206).
Package audit is the public SDK facade over Harbor's internal/audit package — the mandatory redaction seam every payload passes through before leaving the process (RFC §3.6; D-204/D-206).
config
Package config is the public SDK facade over Harbor's internal/config package — the operator configuration schema, loader, defaults, and validation surface (RFC §3.6, §10; D-204).
Package config is the public SDK facade over Harbor's internal/config package — the operator configuration schema, loader, defaults, and validation surface (RFC §3.6, §10; D-204).
dispatch
Package dispatch is the public SDK facade over Harbor's internal/runtime/dispatch package — the production ToolExecutor that dispatches the planner's CallTool / CallParallel / SpawnTask / AwaitTask decisions against the catalog with the D-026 heavy-result→artifact promotion (RFC §3.6, §6.10; D-204).
Package dispatch is the public SDK facade over Harbor's internal/runtime/dispatch package — the production ToolExecutor that dispatches the planner's CallTool / CallParallel / SpawnTask / AwaitTask decisions against the catalog with the D-026 heavy-result→artifact promotion (RFC §3.6, §6.10; D-204).
drivers/prod
Package prod is the public SDK facade over Harbor's internal/drivers/prod package — the production driver aggregator (RFC §3.6; D-204/D-196).
Package prod is the public SDK facade over Harbor's internal/drivers/prod package — the production driver aggregator (RFC §3.6; D-204/D-196).
events
Package events is the public SDK facade over Harbor's internal/events package — the typed event bus every subsystem publishes to and subscribes from (RFC §3.6, §6.13; D-204).
Package events is the public SDK facade over Harbor's internal/events package — the typed event bus every subsystem publishes to and subscribes from (RFC §3.6, §6.13; D-204).
governance
Package governance is the public SDK facade over Harbor's internal/governance package — per-identity cost ceilings, rate limits, and MaxTokens caps composed as an LLM-client wrapper (RFC §3.6, §6.15; D-204/D-206).
Package governance is the public SDK facade over Harbor's internal/governance package — per-identity cost ceilings, rate limits, and MaxTokens caps composed as an LLM-client wrapper (RFC §3.6, §6.15; D-204/D-206).
identity
Package identity is the public SDK facade over Harbor's internal/identity package — the load-bearing (tenant, user, session) isolation triple plus the per-run Quadruple (RFC §3.6, §4; D-204).
Package identity is the public SDK facade over Harbor's internal/identity package — the load-bearing (tenant, user, session) isolation triple plus the per-run Quadruple (RFC §3.6, §4; D-204).
llm
Package llm is the public SDK facade over Harbor's internal/llm package — the provider-corrected LLM client, the chat message vocabulary, and the artifact-stub content contract (RFC §3.6, §6.5; D-204).
Package llm is the public SDK facade over Harbor's internal/llm package — the provider-corrected LLM client, the chat message vocabulary, and the artifact-stub content contract (RFC §3.6, §6.5; D-204).
memory
Package memory is the public SDK facade over Harbor's internal/memory package — the session-scoped memory store, its strategies, and the LLM-context patch vocabulary (RFC §3.6, §6.6; D-204).
Package memory is the public SDK facade over Harbor's internal/memory package — the session-scoped memory store, its strategies, and the LLM-context patch vocabulary (RFC §3.6, §6.6; D-204).
planner
Package planner is the public SDK facade over Harbor's internal/planner package — the swappable Planner interface, the Decision sum, the RunContext view, the Trajectory record, and the driver registry external planner concretes register on (RFC §3.6, §6.2; D-204).
Package planner is the public SDK facade over Harbor's internal/planner package — the swappable Planner interface, the Decision sum, the RunContext view, the Trajectory record, and the driver registry external planner concretes register on (RFC §3.6, §6.2; D-204).
planner/deterministic
Package deterministic is the public SDK facade over Harbor's internal/planner/deterministic package — the decision-tree planner concrete that drives the same Runtime as the LLM-driven ReAct planner through the identical Planner seam (RFC §3.6, §6.2; D-204).
Package deterministic is the public SDK facade over Harbor's internal/planner/deterministic package — the decision-tree planner concrete that drives the same Runtime as the LLM-driven ReAct planner through the identical Planner seam (RFC §3.6, §6.2; D-204).
planner/react
Package react is the public SDK facade over Harbor's internal/planner/react package — the reference LLM-driven ReAct planner concrete (RFC §3.6, §6.2; D-204).
Package react is the public SDK facade over Harbor's internal/planner/react package — the reference LLM-driven ReAct planner concrete (RFC §3.6, §6.2; D-204).
runctx
Package runctx is the public SDK facade over Harbor's internal/runtime/runctx package — the RunContext-population projections a run-loop driver applies between "task spawned" and "planner.Next" (RFC §3.6, §6.2; D-204/D-195).
Package runctx is the public SDK facade over Harbor's internal/runtime/runctx package — the RunContext-population projections a run-loop driver applies between "task spawned" and "planner.Next" (RFC §3.6, §6.2; D-204/D-195).
skills
Package skills is the public SDK facade over Harbor's internal/skills package — the token-savvy skill store and the Directory view that projects ranked skills into planner context (RFC §3.6, §6.7; D-204).
Package skills is the public SDK facade over Harbor's internal/skills package — the token-savvy skill store and the Directory view that projects ranked skills into planner context (RFC §3.6, §6.7; D-204).
skills/generator
Package generator is the public SDK facade over Harbor's internal/skills/generator package — the in-runtime `skill_propose` tool that lets an agent persist a reusable skill from a successful trajectory (RFC §3.6, §6.7; D-204/D-206).
Package generator is the public SDK facade over Harbor's internal/skills/generator package — the in-runtime `skill_propose` tool that lets an agent persist a reusable skill from a successful trajectory (RFC §3.6, §6.7; D-204/D-206).
skills/importer
Package importer is the public SDK facade over Harbor's internal/skills/importer package — the Skills.md ingest path (RFC §3.6, §6.7; D-204/D-206).
Package importer is the public SDK facade over Harbor's internal/skills/importer package — the Skills.md ingest path (RFC §3.6, §6.7; D-204/D-206).
skills/tools
Package tools is the public SDK facade over Harbor's internal/skills/tools package — the planner-facing skill retrieval handlers (`skill_search` / `skill_get` / `skill_list`) with the capability filter, tool-name redaction, and token budgeter built in (RFC §3.6, §6.7; D-204/D-206).
Package tools is the public SDK facade over Harbor's internal/skills/tools package — the planner-facing skill retrieval handlers (`skill_search` / `skill_get` / `skill_list`) with the capability filter, tool-name redaction, and token budgeter built in (RFC §3.6, §6.7; D-204/D-206).
state
Package state is the public SDK facade over Harbor's internal/state package — the identity-scoped StateStore (RFC §3.6, §9; D-204).
Package state is the public SDK facade over Harbor's internal/state package — the identity-scoped StateStore (RFC §3.6, §9; D-204).
steering
Package steering is the public SDK facade over Harbor's internal/runtime/steering package — the run loop that drives a planner, the per-run control inbox/registry, and the steering taxonomy (RFC §3.6, §6.3; D-204).
Package steering is the public SDK facade over Harbor's internal/runtime/steering package — the run loop that drives a planner, the per-run control inbox/registry, and the steering taxonomy (RFC §3.6, §6.3; D-204).
tasks
Package tasks is the public SDK facade over Harbor's internal/tasks package — the unified foreground/background TaskRegistry, the spawn vocabulary, and the task-group join surface (RFC §3.6, §6.3; D-204).
Package tasks is the public SDK facade over Harbor's internal/tasks package — the unified foreground/background TaskRegistry, the spawn vocabulary, and the task-group join surface (RFC §3.6, §6.3; D-204).
telemetry
Package telemetry is the public SDK facade over Harbor's internal/telemetry package — the redactor-mandatory structured Logger, the bus→metrics bridge, and the bus→tracer bridge that derive Harbor's three signals from the one canonical event stream (RFC §3.6, §6.14; D-204/D-206).
Package telemetry is the public SDK facade over Harbor's internal/telemetry package — the redactor-mandatory structured Logger, the bus→metrics bridge, and the bus→tracer bridge that derive Harbor's three signals from the one canonical event stream (RFC §3.6, §6.14; D-204/D-206).
telemetry/eventbus
Package eventbus is the public SDK facade over Harbor's internal/telemetry/eventbus package — the production BusEmitter adapter that pairs Logger.Error calls with runtime.error events on the canonical bus (RFC §3.6, §6.14; D-204/D-206).
Package eventbus is the public SDK facade over Harbor's internal/telemetry/eventbus package — the production BusEmitter adapter that pairs Logger.Error calls with runtime.error events on the canonical bus (RFC §3.6, §6.14; D-204/D-206).
tools
Package tools is the public SDK facade over Harbor's internal/tools package — the transport-agnostic tool catalog, the descriptor/policy vocabulary, and the planner-facing catalog view (RFC §3.6, §6.10; D-204).
Package tools is the public SDK facade over Harbor's internal/tools package — the transport-agnostic tool catalog, the descriptor/policy vocabulary, and the planner-facing catalog view (RFC §3.6, §6.10; D-204).
tools/auth
Package auth is the public SDK facade over Harbor's internal/tools/auth package — the tool-side OAuth completion leg: a plain http.Handler that exchanges the provider redirect and resumes the parked pause (RFC §3.6, §6.3; D-204/D-206; Phase 111b/D-199).
Package auth is the public SDK facade over Harbor's internal/tools/auth package — the tool-side OAuth completion leg: a plain http.Handler that exchanges the provider redirect and resumes the parked pause (RFC §3.6, §6.3; D-204/D-206; Phase 111b/D-199).
tools/builtin
Package builtin is the public SDK facade over Harbor's internal/tools/builtin package — the runtime's built-in tool set (clock, text, artifact_fetch, tool/skill discovery, declarative actions) registered by name onto a catalog (RFC §3.6, §6.10; D-204).
Package builtin is the public SDK facade over Harbor's internal/tools/builtin package — the runtime's built-in tool set (clock, text, artifact_fetch, tool/skill discovery, declarative actions) registered by name onto a catalog (RFC §3.6, §6.10; D-204).
tools/inproc
Package inproc is the public SDK facade over Harbor's internal/tools/drivers/inproc package — the in-process tool driver that registers plain Go functions as Tools with reflection-derived schemas (RFC §3.6, §6.10; D-204).
Package inproc is the public SDK facade over Harbor's internal/tools/drivers/inproc package — the in-process tool driver that registers plain Go functions as Tools with reflection-derived schemas (RFC §3.6, §6.10; D-204).
test
benchmarks
Package benchmarks holds Harbor's V1 performance-benchmark suite (Phase 79).
Package benchmarks holds Harbor's V1 performance-benchmark suite (Phase 79).

Jump to

Keyboard shortcuts

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