mecatl

module
v0.0.20 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2026 License: Apache-2.0

README

mecatl

Mecatito, the mecatl mascot

mecatl is a cloud-native agent kit for Go. It gives you the parts around a model that turn it into an agent: a streaming loop, tools, permissions, hooks, delegation, durable state, and the service boundaries needed to run it seriously.

Use the importable engine to build your own agent runtime, or run the supplied cloud-native service on a workstation or Kubernetes. An embedding becomes as cloud native as the state and execution services you wire behind its ports. The UI is a client. The agent runtime is the server. They do not have to share a process.

What are you building?

I want to... Start here
Embed an agent in a Go application Import github.com/stacklok/mecatl/engine and follow the embedding guide.
Run an agent service Start with mecated and the operator guide.
Run agents on Kubernetes Use mecak8s, which wires Redis-backed state and Kubernetes session leases.
Use an agent locally Run the offline demo, then try the mecatui terminal client.
Build unattended automation Use mecatequi for a single prompt that produces a patch and machine-readable result.

Cloud native is how the kit is built

Putting a local agent in a container does not make it cloud native. The process has to be replaceable, state has to live somewhere else, and another replica has to be able to continue the work.

mecatl was designed around those constraints:

  • One service can host many independent sessions and agent loops concurrently.
  • Session snapshots, event logs, memory, schedules, skills, agent definitions, and other sources sit behind ports. In-process adapters are convenient defaults; a versioned gRPC driver protocol moves the durable stores and content sources into separate services. Learned approvals are rebuilt from the durable event log rather than stored by a separate permission service.
  • Sessions survive process replacement, including a session parked on a human approval. An append-only event log retains prompts, approval decisions, and pre-compaction history.
  • Optional session leases enforce one writer across replicas. The supplied mecak8s Helm chart combines Redis state, Kubernetes leases, drain handling, and disposable agent replicas—two by default—without putting mecatl state on a PVC.
  • The execution environment is its own per-session capability boundary: a workspace, a command runner bound to the same namespace, and a durable environment reference. Custom deployments can reattach a non-local environment through the resolver seam. No production remote or microVM-backed environment implementation ships yet.

The loop itself does not know about Redis, Kubernetes, gRPC, OpenAI, a local filesystem, or a particular UI. It depends on small interfaces and emits one typed event model.

 clients                         agent service                    replaceable backends
 ┌───────────────┐       ┌──────────────────────────┐       ┌────────────────────────┐
 │ mecatui       │       │ many sessions / loops    │       │ model providers        │
 │ web client *  │──────▶│ tools · policy · hooks   │◀─────▶│ sessions · event log   │
 │ your client   │ gRPC  │ subagents · teams        │       │ memory · schedules     │
 └───────────────┘ HTTP  └──────────────────────────┘       │ execution environments │
                                                           └────────────────────────┘
 * in active development

Read Cloud-native kit properties for the shipped state and restart model, and the architecture guide for the boundaries and ports.

Serious deployments, explicit authority

Agents call tools with somebody's authority. Once a service runs work for more than one person, "the agent did it" is not a useful identity model.

mecatl already ships deny-dominant permissions, human approval over the wire, model-backed guardrails, bounded delegation, OIDC caller verification, durable owner and actor attribution, secret-scrubbed command environments, and an audit log. Delegated runs carry a derived capability set that can only narrow at each in-process hop, with local or Cedar-backed enforcement at the execution boundary. Caller identity still is not, by itself, a complete tenant-isolation boundary.

The next step is cryptographic proof across process and service boundaries: trace an action through the user, agent, and subagent that caused it, and let downstream services verify the narrowed authority instead of trusting the harness's log. We are working toward a mecatl-issued SPIFFE trust domain for that purpose. The signing path, attenuation model, and key custody are active design work, not a feature we claim to have finished. Follow the agent identity tracker and the working identity model.

A client for humans

The client/server split is deliberate. mecatui renders the same gRPC event stream that another client can consume. It can embed a local server for a single-binary experience or connect to a remote one. A web client is in active development on the same principle: the service remains the source of truth, and the browser is not where agent state or provider credentials live.

This gives a tinkerer a friendly local experience without turning the UI into a runtime dependency. It also lets a platform team put the service somewhere else and build the client its users need.

A kit for experimenting with agents

The operational pieces are only half the project. mecatl also includes the things we want when building a personal assistant:

  • Project memory plus a cross-project user model, with versioned inspect, forget, and undo operations.
  • Optional dream consolidation. Automatic schedules retire only byte-identical duplicates; manual /dream lets a human review and apply plans, including synthesized replacements.
  • An operator-owned, agent-read-only soul for persistent persona and style.
  • Subagents, parallel fan-out, and coordinating teams with bounded budgets and inspectable child sessions.
  • Progressive skills and completed-trajectory reflection. Learning is off by default; review and auto modes stage evidence-backed proposals, and learned procedures pass through the versioned skill lifecycle before activation.

These features are conservative on purpose. The agent can propose what it learned, but durable memory and reusable instructions have provenance, review, and rollback paths. See Memory and learning and Skills and extensibility.

Try it without an API key

The offline demo runs a complete scripted session with tool calls, a permission approval, delegation, and usage accounting:

go run ./cmd/mecademo

To build every supplied runtime and client:

task build

To embed the engine:

go get github.com/stacklok/mecatl/engine@latest

The engine is a separate Go module with a guarded public API and a deliberately small dependency closure. Reference adapters let it run offline, then you can replace only the ports your application owns. See the engine compatibility contract.

Runtime shapes

Shape What it is Learn more
engine Importable Go core for your own composition Embed the engine
mecated gRPC + HTTP/SSE agent service Run mecated
mecak8s Kubernetes-native runtime with Redis and leases Run mecak8s
mecatequi Single-shot headless automation Run mecatequi
mecatui Terminal client for a local or remote service Use mecatui

See Pick your deployment shape for the trade-offs.

Security: mecated is unauthenticated by default and intended for loopback, single-user use. Configure authentication and transport protection before binding it off-loopback. The operator guide covers bearer auth, TLS/mTLS, OIDC, rate limits, and deployment posture.

Documentation

Contributing, security, and license

Contributions are welcome through pull requests. Start with CONTRIBUTING.md; coding agents should read AGENTS.md before changing the repository.

Report vulnerabilities privately through SECURITY.md.

Licensed under the Apache License 2.0. Community participation is governed by the Code of Conduct.

Directories

Path Synopsis
cmd
mecademo command
Package main (mecademo) is the mecatl end-to-end demo driver.
Package main (mecademo) is the mecatl end-to-end demo driver.
mecak8s command
Command mecak8s is the storage-free, Kubernetes-native mecatl agent binary (ADR 0048): a THIN peer of cmd/mecated that composes the SAME app.Build assembly with k8s-native defaults — Redis session store + durable event log, coordination.k8s.io Lease session leasing, a dynamic /readyz (drain-gated + Redis-pinged), and a bounded GracefulStop that cancels in-flight runs on SIGTERM so a rolling update completes within terminationGracePeriodSeconds.
Command mecak8s is the storage-free, Kubernetes-native mecatl agent binary (ADR 0048): a THIN peer of cmd/mecated that composes the SAME app.Build assembly with k8s-native defaults — Redis session store + durable event log, coordination.k8s.io Lease session leasing, a dynamic /readyz (drain-gated + Redis-pinged), and a bounded GracefulStop that cancels in-flight runs on SIGTERM so a rolling update completes within terminationGracePeriodSeconds.
mecated command
Command mecated is the standalone mecatl server binary and a composition root: it parses the CLI/env configuration, builds the telemetry sink, delegates the engine + service assembly to internal/app (the SHARED composition layer also used by the embedded server in cmd/mecatui), and serves the resulting HarnessService over gRPC and HTTP/SSE concurrently, with graceful shutdown on SIGINT/SIGTERM.
Command mecated is the standalone mecatl server binary and a composition root: it parses the CLI/env configuration, builds the telemetry sink, delegates the engine + service assembly to internal/app (the SHARED composition layer also used by the embedded server in cmd/mecatui), and serves the resulting HarnessService over gRPC and HTTP/SSE concurrently, with graceful shutdown on SIGINT/SIGTERM.
mecatequi command
Command mecatequi is a single-shot, headless mecatl runner for CI / batch use: it runs ONE prompt against an in-process engine assembled by internal/app, drives the run to a terminal state, and emits three artifacts — a working-tree git diff, a machine-readable run-summary JSON, and an optional durable JSONL event log — then maps the terminal stop reason to a process exit code.
Command mecatequi is a single-shot, headless mecatl runner for CI / batch use: it runs ONE prompt against an in-process engine assembled by internal/app, drives the run to a terminal state, and emits three artifacts — a working-tree git diff, a machine-readable run-summary JSON, and an optional durable JSONL event log — then maps the terminal stop reason to a process exit code.
mecatui command
Command mecatui is a flashy, themeable terminal UI for the mecatl headless agentic coding harness.
Command mecatui is a flashy, themeable terminal UI for the mecatl headless agentic coding harness.
mecatui/client
Package client is the gRPC-facing layer of mecatui: it dials mecated, creates sessions, opens the bidi Converse stream, and translates proto Events into the plain Go tea.Msg structs the ui consumes.
Package client is the gRPC-facing layer of mecatui: it dials mecated, creates sessions, opens the bidi Converse stream, and translates proto Events into the plain Go tea.Msg structs the ui consumes.
mecatui/embed
Package embed lets mecatui host its OWN mecated server in-process when no external one is running, so a single `mecatui` binary "just works" with no separately-spawned daemon and no TCP port.
Package embed lets mecatui host its OWN mecated server in-process when no external one is running, so a single `mecatui` binary "just works" with no separately-spawned daemon and no TCP port.
mecatui/keymap
Package keymap validates rebindable-key overrides for mecatui.
Package keymap validates rebindable-key overrides for mecatui.
mecatui/schedparse
Package schedparse is a small client-side natural-language → trigger compiler for the mecatui /schedule overlay's Create form.
Package schedparse is a small client-side natural-language → trigger compiler for the mecatui /schedule overlay's Create form.
mecatui/theme
Package theme is the pure styling layer for mecatui.
Package theme is the pure styling layer for mecatui.
mecatui/ui
Package ui is the Bubble Tea (Elm) layer of mecatui: the root Model state machine, its Update reducer, the View assembly, and the conversation/block renderers.
Package ui is the Bubble Tea (Elm) layer of mecatui: the root Model state machine, its Update reducer, the View assembly, and the conversation/block renderers.
mecatui/ui/platform
Package platform reports host-platform facts the TUI adapts its presentation to.
Package platform reports host-platform facts the TUI adapts its presentation to.
mecatui/ui/welcome
Package welcome renders the first-run splash for the mecatui zero-state: a faithful mascot (half-block on any truecolor terminal, a zero-dependency kitty Unicode-placeholder high-res path on capable terminals), a gradient "mecatl" wordmark, and an info block.
Package welcome renders the first-run splash for the mecatui zero-state: a faithful mascot (half-block on any truecolor terminal, a zero-dependency kitty Unicode-placeholder high-res path on capable terminals), a gradient "mecatl" wordmark, and an info block.
contracts
docs
lint
Package lint holds the design-doc anti-drift checks.
Package lint holds the design-doc anti-drift checks.
engine module
examples
first-agent command
Package main demonstrates the minimal offline mecatl agent.
Package main demonstrates the minimal offline mecatl agent.
first-agent-approval command
Package main demonstrates resolving a mecatl permission request.
Package main demonstrates resolving a mecatl permission request.
first-agent-openrouter command
Package main demonstrates using the mecatl engine with OpenRouter.
Package main demonstrates using the mecatl engine with OpenRouter.
first-agent-tool command
Package main demonstrates registering a custom mecatl tool.
Package main demonstrates registering a custom mecatl tool.
internal
adapter/acp
Package acp is the Agent Client Protocol (ACP) adapter: it lets an ACP editor (Zed, and others that speak ACP) drive the mecatl harness as a subprocess over stdio.
Package acp is the Agent Client Protocol (ACP) adapter: it lets an ACP editor (Zed, and others that speak ACP) drive the mecatl harness as a subprocess over stdio.
adapter/agentimport
Package agentimport converts local Codex and Claude Code artifacts into provider-neutral Mecatl data.
Package agentimport converts local Codex and Claude Code artifacts into provider-neutral Mecatl data.
adapter/agents
Package agents is the in-repo alias shim for the agent-definition discovery adapter that graduated into the importable engine module (engine/adapter/agentfs, issue #328).
Package agents is the in-repo alias shim for the agent-definition discovery adapter that graduated into the importable engine module (engine/adapter/agentfs, issue #328).
adapter/authfile
Package authfile is the adapter-layer leaf for mecatl's credentials file: a settings.yaml-sibling YAML file (conventionally $XDG_CONFIG_HOME/mecatl/auth.yaml) holding per-provider secrets: an api_key for the existing keyed providers or a manually supplied OAuth access-token snapshot for openai-codex.
Package authfile is the adapter-layer leaf for mecatl's credentials file: a settings.yaml-sibling YAML file (conventionally $XDG_CONFIG_HOME/mecatl/auth.yaml) holding per-provider secrets: an api_key for the existing keyed providers or a manually supplied OAuth access-token snapshot for openai-codex.
adapter/cedarauthority
Package cedarauthority provides the optional Cedar-backed authority evaluator.
Package cedarauthority provides the optional Cedar-backed authority evaluator.
adapter/credentialstore
Package credentialstore defines a host-internal, credential-format-agnostic port for opaque binary records and provides namespace-bound backend handles.
Package credentialstore defines a host-internal, credential-format-agnostic port for opaque binary records and provides namespace-bound backend handles.
adapter/credentialstore/conformance
Package conformance provides the reusable contract tests for mutable credential stores.
Package conformance provides the reusable contract tests for mutable credential stores.
adapter/daemonconfig
Package daemonconfig is a strict, versioned, operator-selected daemon configuration file loaded ONLY when `mecated serve --config PATH` is explicitly supplied.
Package daemonconfig is a strict, versioned, operator-selected daemon configuration file loaded ONLY when `mecated serve --config PATH` is explicitly supplied.
adapter/dream
Package dream implements opt-in background memory consolidation.
Package dream implements opt-in background memory consolidation.
adapter/envscrub
Package envscrub builds the SECRET-neutralised process environment every agent-facing command shell runs with.
Package envscrub builds the SECRET-neutralised process environment every agent-facing command shell runs with.
adapter/filewatch
Package filewatch coalesces filesystem notifications for mounted configuration files.
Package filewatch coalesces filesystem notifications for mounted configuration files.
adapter/flocklease
Package flocklease is the single-host port.SessionLease: cross-process single-writer enforcement for sessions sharing one machine (one store directory), backed by gofrs/flock advisory locks plus a small per-session record file.
Package flocklease is the single-host port.SessionLease: cross-process single-writer enforcement for sessions sharing one machine (one store directory), backed by gofrs/flock advisory locks plus a small per-session record file.
adapter/forker
Package forker implements the default tool.EnvironmentForker used by fork-join parallelism (harness pattern 8).
Package forker implements the default tool.EnvironmentForker used by fork-join parallelism (harness pattern 8).
adapter/gitenv
Package gitenv builds the git-neutralizing process environment shared by the forker (its own fork-time git invocations) and the sandboxed team-member command runner.
Package gitenv builds the git-neutralizing process environment shared by the forker (its own fork-time git invocations) and the sandboxed team-member command runner.
adapter/grpcdriver
Package grpcdriver implements the harness side of the mecatl.driver.v1 store-driver protocol: gRPC client adapters that satisfy the engine's store seams over a remote, operator-run driver process, plus the matching server wrappers a Go driver (or a test fixture) mounts over an in-process store.
Package grpcdriver implements the harness side of the mecatl.driver.v1 store-driver protocol: gRPC client adapters that satisfy the engine's store seams over a remote, operator-run driver process, plus the matching server wrappers a Go driver (or a test fixture) mounts over an in-process store.
adapter/hashutil
Package hashutil is the shared, stdlib-only content-fingerprint primitive for the adapter layer.
Package hashutil is the shared, stdlib-only content-fingerprint primitive for the adapter layer.
adapter/hookexec
Package hookexec implements port.HookRunner by running a configured shell command per lifecycle HookPhase.
Package hookexec implements port.HookRunner by running a configured shell command per lifecycle HookPhase.
adapter/k8slease
Package k8slease is the Kubernetes-backed port.SessionLease: cross-process, cross-HOST single-writer enforcement for the multi-replica cloud-native posture (ADR 0027 Phase 4), backed by a coordination.k8s.io/v1 Lease object per session id.
Package k8slease is the Kubernetes-backed port.SessionLease: cross-process, cross-HOST single-writer enforcement for the multi-replica cloud-native posture (ADR 0027 Phase 4), backed by a coordination.k8s.io/v1 Lease object per session id.
adapter/llmresilience
Package llmresilience provides a harness-level resilience decorator around any port.LLMProvider.
Package llmresilience provides a harness-level resilience decorator around any port.LLMProvider.
adapter/mcp
Package mcp adapts tools served by external Model Context Protocol (MCP) servers into the harness's tool.Tool interface, so the agent loop can call remote MCP tools exactly as it calls built-in ones.
Package mcp adapts tools served by external Model Context Protocol (MCP) servers into the harness's tool.Tool interface, so the agent loop can call remote MCP tools exactly as it calls built-in ones.
adapter/mcp/jq
Package jq is a sandboxed wrapper around github.com/itchyny/gojq that evaluates a jq filter against a JSON input and returns the JSON-stringified result.
Package jq is a sandboxed wrapper around github.com/itchyny/gojq that evaluates a jq filter against a JSON input and returns the JSON-stringified result.
adapter/mcp/source
Package source is the pluggable EXTENSIBILITY POINT for WHERE the harness's MCP server configs come from.
Package source is the pluggable EXTENSIBILITY POINT for WHERE the harness's MCP server configs come from.
adapter/mcpperf
Package mcpperf serves this Go process's runtime performance data over a read-only Model Context Protocol (MCP) server, so an agent can introspect the harness's own latency, memory, goroutine, and profile state through MCP tools and resources instead of a human reading raw /metrics or /debug/pprof.
Package mcpperf serves this Go process's runtime performance data over a read-only Model Context Protocol (MCP) server, so an agent can introspect the harness's own latency, memory, goroutine, and profile state through MCP tools and resources instead of a human reading raw /metrics or /debug/pprof.
adapter/memory
Package memory implements harness pattern 3 (tiered memory): a conservative, cross-session memory facility exposed to the model as two tools (Remember and Recall) backed by a pluggable tool.MemoryStore.
Package memory implements harness pattern 3 (tiered memory): a conservative, cross-session memory facility exposed to the model as two tools (Remember and Recall) backed by a pluggable tool.MemoryStore.
adapter/modelhook
Package modelhook is the composition-layer "guardrails" adapter (issue #27): an LLM-backed port.HookRunner DECORATOR that inspects tool-use phases with a dedicated, tool-less checker model and enforces a verdict on the call.
Package modelhook is the composition-layer "guardrails" adapter (issue #27): an LLM-backed port.HookRunner DECORATOR that inspects tool-use phases with a dedicated, tool-less checker model and enforces a verdict on the call.
adapter/modeltext
Package modeltext contains protocol-neutral hygiene for model catalog text.
Package modeltext contains protocol-neutral hygiene for model catalog text.
adapter/openaicodex
Package openaicodex supplies the credential and HTTP request policy for the experimental ChatGPT Codex backend.
Package openaicodex supplies the credential and HTTP request policy for the experimental ChatGPT Codex backend.
adapter/openaicompat
Package openaicompat is a stdlib-only LEAF adapter that fetches a LIVE model catalog from any endpoint speaking the OpenAI-shaped GET /v1/models protocol — it names the PROTOCOL, not a specific vendor.
Package openaicompat is a stdlib-only LEAF adapter that fetches a LIVE model catalog from any endpoint speaking the OpenAI-shaped GET /v1/models protocol — it names the PROTOCOL, not a specific vendor.
adapter/openrouter
Package openrouter is a stdlib-only LEAF adapter that fetches the LIVE OpenRouter model catalog from the public, UNAUTHENTICATED models endpoint and maps it into a neutral, package-own result type.
Package openrouter is a stdlib-only LEAF adapter that fetches the LIVE OpenRouter model catalog from the public, UNAUTHENTICATED models endpoint and maps it into a neutral, package-own result type.
adapter/osfs
Package osfs implements tool.FileSystem over the real operating-system filesystem and a tool.Workspace that scopes every path under a single session root.
Package osfs implements tool.FileSystem over the real operating-system filesystem and a tool.Workspace that scopes every path under a single session root.
adapter/permclassify
Package permclassify provides an OPTIONAL layer-2 model-based command/tool risk classifier, implemented as a pluggable decorator over a layer-1 port.PermissionPolicy.
Package permclassify provides an OPTIONAL layer-2 model-based command/tool risk classifier, implemented as a pluggable decorator over a layer-1 port.PermissionPolicy.
adapter/permconfig
Package permconfig is the file-based permission-config adapter (issue #13).
Package permconfig is the file-based permission-config adapter (issue #13).
adapter/procgroup
Package procgroup puts a child process in its own process group so a context cancellation kills the WHOLE group — not just the direct child.
Package procgroup puts a child process in its own process group so a context cancellation kills the WHOLE group — not just the direct child.
adapter/providercatalog
Package providercatalog is a stdlib-only LEAF DATA adapter exposing a pinned, embed-vendored subset of the models.dev model catalog as a typed, read-only Go API.
Package providercatalog is a stdlib-only LEAF DATA adapter exposing a pinned, embed-vendored subset of the models.dev model catalog as a typed, read-only Go API.
adapter/redisstore
Package redisstore implements the Redis-backed port.SessionStore, port.EventLog, port.PrunableStore, and port.ToolCallRecorder for the cloud-native posture (ADR 0048, mecak8s).
Package redisstore implements the Redis-backed port.SessionStore, port.EventLog, port.PrunableStore, and port.ToolCallRecorder for the cloud-native posture (ADR 0048, mecak8s).
adapter/reflectionstore
Package reflectionstore persists bounded learning proposals in a crash-safe, principal/project-partitioned document.
Package reflectionstore persists bounded learning proposals in a crash-safe, principal/project-partitioned document.
adapter/remoteenv
Package remoteenv is a deterministic, in-process, protocol-level reference fake of a REMOTE execution environment (ADR 0214, issue #462 phase 3).
Package remoteenv is a deterministic, in-process, protocol-level reference fake of a REMOTE execution environment (ADR 0214, issue #462 phase 3).
adapter/rules
Package rules is the in-repo alias shim for the project/user rule discovery adapter that lives in the importable engine module (engine/adapter/rulesfs, issue #329).
Package rules is the in-repo alias shim for the project/user rule discovery adapter that lives in the importable engine module (engine/adapter/rulesfs, issue #329).
adapter/scheduler
Package scheduler is the in-process tick loop for the scheduled-tasks feature (issue #189, Phase 1e).
Package scheduler is the in-process tick loop for the scheduled-tasks feature (issue #189, Phase 1e).
adapter/server
Package server is the API adapter for mecatl: it exposes the WP8 agent loop over two network surfaces that share one domain Event taxonomy.
Package server is the API adapter for mecatl: it exposes the WP8 agent loop over two network surfaces that share one domain Event taxonomy.
adapter/skills
Package skills is the in-repo adapter for Agent Skills.
Package skills is the in-repo adapter for Agent Skills.
adapter/skillstore
Package skillstore persists agent-owned skill lifecycle records in a flocked, crash-safe manifest with immutable content-addressed SKILL.md files.
Package skillstore persists agent-owned skill lifecycle records in a flocked, crash-safe manifest with immutable content-addressed SKILL.md files.
adapter/slogdiag
Package slogdiag is an outbound adapter implementing port.Diagnostics over the standard library's log/slog.
Package slogdiag is an outbound adapter implementing port.Diagnostics over the standard library's log/slog.
adapter/soul
Package soul implements issue #14, Phase 1: a user-scoped, agent-READ-ONLY persona/"soul" fragment loaded into the turn-0 conversation as data.
Package soul implements issue #14, Phase 1: a user-scoped, agent-READ-ONLY persona/"soul" fragment loaded into the turn-0 conversation as data.
adapter/store/jsonlstore
Package jsonlstore implements a versioned current-snapshot port.SessionStore, plus append-only port.ToolCallRecorder and port.EventLog sidecars.
Package jsonlstore implements a versioned current-snapshot port.SessionStore, plus append-only port.ToolCallRecorder and port.EventLog sidecars.
adapter/telemetry
Package telemetry is an outbound adapter that derives OpenTelemetry traces and Prometheus metrics from the harness's domain event stream.
Package telemetry is an outbound adapter that derives OpenTelemetry traces and Prometheus metrics from the harness's domain event stream.
adapter/tlsreload
Package tlsreload owns hot reload and expiry observation for a server TLS certificate.
Package tlsreload owns hot reload and expiry observation for a server TLS certificate.
adapter/tokenizer
Package tokenizer provides a tiktoken-backed agent.TokenCounter.
Package tokenizer provides a tiktoken-backed agent.TokenCounter.
adapter/toolhivellm
Package toolhivellm is the ToolHive-aware code in mecatl (issue #262 + #265): it detects, by reading ToolHive's OWN on-disk config file, whether a ToolHive LLM gateway proxy is set up for this user — and, if so, what LOOPBACK port it listens on — and (issue #265, tokensource.go) builds an in-process OIDC token source so the `toolhive` provider can talk DIRECTLY to the real gateway_url with no local proxy hop.
Package toolhivellm is the ToolHive-aware code in mecatl (issue #262 + #265): it detects, by reading ToolHive's OWN on-disk config file, whether a ToolHive LLM gateway proxy is set up for this user — and, if so, what LOOPBACK port it listens on — and (issue #265, tokensource.go) builds an in-process OIDC token source so the `toolhive` provider can talk DIRECTLY to the real gateway_url with no local proxy hop.
adapter/toolkit
Package toolkit holds the small, tool-agnostic helpers shared by the adapter-layer tool packages (internal/adapter/tools and internal/adapter/memory).
Package toolkit holds the small, tool-agnostic helpers shared by the adapter-layer tool packages (internal/adapter/tools and internal/adapter/memory).
adapter/tools
Package tools composes the model-facing tool catalog of the mecatl kit.
Package tools composes the model-facing tool catalog of the mecatl kit.
adapter/workspacetrust
Package workspacetrust is the adapter-layer reader/writer for workspace trust (Workspace-Trust feature, Phases 1 + 2b).
Package workspacetrust is the adapter-layer reader/writer for workspace trust (Workspace-Trust feature, Phases 1 + 2b).
adapter/xdgconfig
Package xdgconfig is the shared adapter-layer seam for resolving user-global configuration locations against the process environment.
Package xdgconfig is the shared adapter-layer seam for resolving user-global configuration locations against the process environment.
app
Package app is the SHARED composition layer for the mecatl server: the one place that wires concrete adapters (LLM provider, tool catalog, permission policy, hooks, session store, MCP, skills) into an agent.Engine and exposes it as a server.Service.
Package app is the SHARED composition layer for the mecatl server: the one place that wires concrete adapters (LLM provider, tool catalog, permission policy, hooks, session store, MCP, skills) into an agent.Engine and exposes it as a server.Service.
cliconfig
Package cliconfig holds the small slices of CLI/composition wiring that the four command mains (cmd/mecated, cmd/mecatui, cmd/mecatequi, cmd/mecak8s) would otherwise copy-paste — extracted here so they cannot drift apart.
Package cliconfig holds the small slices of CLI/composition wiring that the four command mains (cmd/mecated, cmd/mecatui, cmd/mecatequi, cmd/mecak8s) would otherwise copy-paste — extracted here so they cannot drift apart.
configgen
Package configgen is the SINGLE SOURCE OF TRUTH for the operator settings.yaml surface (issue #140).
Package configgen is the SINGLE SOURCE OF TRUTH for the operator settings.yaml surface (issue #140).
configgen/cmd/configref command
Command configref is the BUILD-TIME generator (issue #140) that emits the two committed configuration artifacts from the permconfig YAML schema:
Command configref is the BUILD-TIME generator (issue #140) that emits the two committed configuration artifacts from the permconfig YAML schema:
sessionretention
Package sessionretention contains the side-effect-free retention selection policy.
Package sessionretention contains the side-effect-free retention selection policy.
syscaller
Package syscaller stamps the EXPLICIT system principal (ADR 0204 decision 7) on the root context of every internal goroutine that has no caller.
Package syscaller stamps the EXPLICIT system principal (ADR 0204 decision 7) on the root context of every internal goroutine that has no caller.
testutil/codextest
Package codextest creates synthetic, non-secret manual-token fixtures.
Package codextest creates synthetic, non-secret manual-token fixtures.
testutil/testhome
Package testhome isolates process-wide config discovery in command tests.
Package testhome isolates process-wide config discovery in command tests.
mcp
oauthlogin
Package oauthlogin provides an opt-in, host-side OAuth loopback login runtime.
Package oauthlogin provides an opt-in, host-side OAuth loopback login runtime.
perf
cmd/allocsgate command
Command allocsgate is the allocs/op regression gate for the perf CI workflow (docs/adr/0019-perf-tracking.md Phase 3; .github/workflows/perf.yml).
Command allocsgate is the allocs/op regression gate for the perf CI workflow (docs/adr/0019-perf-tracking.md Phase 3; .github/workflows/perf.yml).
cmd/perfconvert command
Command perfconvert turns the offline scenario harness's per-scenario JSON KPIs (the []kpi.ScenarioResult that `task perf:scenarios` writes to $MECATL_PERF_JSON) into the THREE github-action-benchmark custom-format files the perf workflow feeds to the trend dashboard + alert gate.
Command perfconvert turns the offline scenario harness's per-scenario JSON KPIs (the []kpi.ScenarioResult that `task perf:scenarios` writes to $MECATL_PERF_JSON) into the THREE github-action-benchmark custom-format files the perf workflow feeds to the trend dashboard + alert gate.
kpi
Package kpi is the stdlib-only KPI-capture support for the offline performance scenario harness (perf-tracking.md Phase 2).
Package kpi is the stdlib-only KPI-capture support for the offline performance scenario harness (perf-tracking.md Phase 2).
provider
ssefilter module

Jump to

Keyboard shortcuts

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