8th-Layer.ai agent
This repository is the 8th-Layer.ai agent platform — a fork of mozilla-ai/cq maintained by OneZero1.ai. 8th-Layer is the Semantic Knowledge Layer for agent fleets — Layer 8 of the OSI model.
The fork adopts upstream cq's open standard (Knowledge Unit schema, REST contract, DID identity model, SDKs) unchanged, and adds the enterprise execution layer on top: AIGRP intra-Enterprise routing, DSN intent resolution, L3 live consults, multi-tenant scope, and the cross-Enterprise directory + reputation log primitives.
Where each piece lives:
| Surface | Repo | What's there |
|---|
| Agent platform (this repo) | OneZero1ai/8th-layer-agent | Forked cq-server with AIGRP/DSN/L3 + multi-tenant tenancy. Production code. |
| Design + decisions | OneZero1ai/8th-layer (private) | Architecture decisions, specs, marketing site, AWS deploy templates |
| Plugin marketplace | OneZero1ai/8th-layer-marketplace | Claude Code plugin catalog for the 8th-Layer enterprise connector |
See:
FORK_DELTA.md — upstream-vs-fork delta (what we add, what we keep unchanged, sync discipline)
MODIFICATIONS.md — Apache-2.0 §4(b) statement of changes; per-file modification catalog
NOTICE — license + attribution
The remainder of this README is upstream cq's documentation, which we adopt as-is. The two are interoperable: a vanilla cq Remote can talk to an 8th-Layer L2, and an 8th-Layer agent can talk to a vanilla cq Remote. The 8th-Layer-specific endpoints (/aigrp/*, /network/dsn/*, /consults/*) are additive.
cq
cq is derived from colloquy (/ˈkɒl.ə.kwi/), a structured exchange of ideas where understanding emerges through dialogue rather than one-way output. It reflects a focus on reciprocal knowledge sharing; systems that improve through participation, not passive use. In radio, CQ is a general call ("any station, respond"), capturing the same model: open invitation, response, and collective signal built through interaction.
Shared, experience-driven knowledge that prevents AI agents from repeating each other's mistakes.
An open standard for shared agent learning. Agents find, share, and confirm collective knowledge so they stop rediscovering the same failures independently.
Installation
Requires: uv, Python 3.11+
Optional (for Go SDK and Go CLI): go 1.26+
Claude Code (plugin)
claude plugin marketplace add mozilla-ai/cq
claude plugin install cq
Or from a cloned repo:
make install-claude
Note: Claude runs the plugin from its own installed plugin root (via
CLAUDE_PLUGIN_ROOT), so scripts/bootstrap.py and .claude-plugin/plugin.json
are resolved from that managed install location, not from your repository
checkout. The cq binary cache is shared per user under the XDG data runtime
path ($XDG_DATA_HOME/cq/runtime, fallback ~/.local/share/cq/runtime).
To uninstall:
claude plugin marketplace remove cq
Or from a cloned repo:
make uninstall-claude
If you configured remote sync, you may also want to remove CQ_ADDR and CQ_API_KEY from ~/.claude/settings.json.
Installer and Plugin Environment Variables
These variables are used by the multi-host installer and plugin bootstrap runtime.
| Variable | Used by | Required | Default | Purpose |
|---|
CLAUDE_PLUGIN_ROOT | Claude plugin bootstrap | No (provided by Claude at runtime) | fallback to script-relative path | Points bootstrap to the Claude-managed installed plugin root. |
CQ_INSTALL_PLUGIN_ROOT | Installer CLI | No | auto-detected plugins/cq in repo | Dev/test override for resolving plugin source tree during installer runs. |
OPENCODE_CONFIG_DIR | Installer (OpenCode host) | No | ~/.config/opencode | Overrides OpenCode global config target directory for install/uninstall. |
XDG_DATA_HOME | Installer + plugin bootstrap | No | ~/.local/share | Base data directory for shared cq runtime assets ($XDG_DATA_HOME/cq/runtime). |
Windows-only fallbacks: