Skip to content

Plugin Packages

G6 distributes its components as cluster-based Poetry packages downloadable from the G6 server. This keeps the core install small (~15 MB) while letting users add capability clusters on demand.


Design Principles

  • Core under 200 MB — the base install includes only essential components
  • Cluster granularity — each package groups related components, not individual bricks
  • Poetry-managed — standard poetry add g6-<cluster> workflow
  • Server-hosted — packages distributed from the G6 package server, not PyPI
  • Tier enforcement at import — components check the user's license tier before exposing tools

Package Catalog

Package Components Est. Size Key Dependencies
g6-core core, config, llm_router, navigator, guide ~15 MB pydantic, litellm, fastmcp
g6-safety csf, align_*, compliance, autonomy_governor, duty_of_care, professional_standards ~25 MB g6-core
g6-planning goal_engine, solver, autonomous_orchestrator ~30 MB g6-core, g6-safety
g6-formal formal_methods (17 sub-packages), lean_prover ~20 MB z3-solver
g6-ml sklearn, bayesian, autosklearn, pygad, optimisation, eurisko, experta, trm ~40 MB scikit-learn, pygad, scipy
g6-dl pytorch, keras, instructor ~15 MB torch (optional), keras (optional)
g6-context ctx_* (20 components), context_engine ~30 MB httpx, rank-bm25, markitdown
g6-synthesis cegis, meta_programming, auto_engineer, component_creator, polyglot ~20 MB g6-core
g6-agents agent_claude, agent_openai, agent_langchain, agent_langgraph, agent_autogen, agent_smolagents, nanoclaw, openclaw ~25 MB anthropic, openai, langchain
g6-data pandas, database, memory ~10 MB pandas, sqlite3
g6-media audio, image, ffmpeg, blender, comfyui, generative_art, voice, creative_api ~25 MB pydub (optional), ffmpeg (external)
g6-cogarch cog_arch_actr, cog_arch_aixi, cog_arch_dgm, cog_arch_gps, cog_arch_soar, deep_understanding, embodiment, motor_control, sensory_fusion ~20 MB g6-core
g6-infra healing, workspace_manager, rq, cybersecurity, django, observability, self_debug ~15 MB redis (optional), django (optional)
g6-viz visualisation, diagrams, webpage, ui_design ~10 MB g6-core
g6-jobs job_framework + 39 job_* agents ~40 MB g6-core, g6-safety
g6-optim opt_speed, opt_cost, opt_quality, opt_meta, evoskill ~10 MB g6-core, g6-safety
g6-grounding grounding retrieval code, human_development ~10 MB sentence-transformers

Dependency Graph

g6-core (required by all)
  ├── g6-safety
  │     ├── g6-planning
  │     ├── g6-jobs
  │     └── g6-optim
  ├── g6-formal
  ├── g6-ml
  ├── g6-dl
  ├── g6-context
  ├── g6-synthesis
  ├── g6-agents
  ├── g6-data
  ├── g6-media
  ├── g6-cogarch
  ├── g6-infra
  ├── g6-viz
  └── g6-grounding

All packages depend on g6-core. Some have additional inter-package dependencies:

Package Requires
g6-planning g6-core, g6-safety
g6-jobs g6-core, g6-safety
g6-optim g6-core, g6-safety
All others g6-core only

Download URL Scheme

Packages are hosted on the G6 package server:

https://packages.g6solver.com/simple/g6-<cluster>/

Poetry configuration:

[[tool.poetry.source]]
name = "g6"
url = "https://packages.g6solver.com/simple/"
priority = "supplemental"

Install example:

poetry source add g6 https://packages.g6solver.com/simple/
poetry add g6-core g6-ml g6-context --source g6

Tier Enforcement

Each package checks the user's license tier at import time. If a component requires a higher tier than the user's license allows, the import succeeds but tool invocation returns a tier-upgrade message.

# Enforcement happens in the MCP gateway layer
from mvp.core.tier import check_tier

@server.tool()
async def decompose_goal(goal: str) -> dict:
    check_tier("goal_engine", required_tier=1)  # raises TierError if insufficient
    ...
Tier Available Packages
Free / Trial g6-core
Basic g6-core, g6-safety, g6-planning, g6-context
Premium All packages

Server-Side-Only Assets

Grounding Corpus

The grounding knowledge base corpus is over 4 GB and contains proprietary copyrighted material. It is:

  • Never distributed in any package
  • Never downloadable by end users
  • Hosted exclusively on the G6 server
  • Accessed only via the grounding MCP API

The g6-grounding package contains the retrieval and embedding code but not the corpus data.

Client (g6-grounding installed)
  └── MCP call: grounding_search(query="...")
        └── G6 Server
              └── FAISS index + corpus (4GB+, server-only)
              └── Returns: search results via MCP response

Future Server-Side Assets

Any future proprietary data assets (model weights, licensed datasets, curated knowledge bases) follow the same pattern: retrieval code in the package, data on the server.


Poetry Project Structure

Each package is a Poetry project under projects/:

projects/
  g6_core/
    pyproject.toml      # [tool.poetry] name = "g6-core"
    g6_core/__init__.py
  g6_ml/
    pyproject.toml      # [tool.poetry] name = "g6-ml"
    g6_ml/__init__.py
  ...

Each pyproject.toml declares its brick dependencies via the Polylith plugin and its inter-package dependencies:

[tool.poetry]
name = "g6-ml"
version = "1.0.0"
packages = [{include = "mvp/adapt_sklearn", from = "../../components"}]

[tool.poetry.dependencies]
python = "^3.12"
g6-core = "^1.0"
scikit-learn = "^1.5"
pygad = "^3.0"

External Dependencies

Some packages require external binaries or services not bundled in the package:

Package External Dependency Notes
g6-formal Lean 4 binary Optional, for lean_prover component
g6-media ffmpeg binary Required for video/audio processing
g6-media Blender binary Optional, for 3D rendering
g6-media ComfyUI server Optional, for AI image generation
g6-infra Redis server Optional, for RQ job queues
g6-infra Obsidian app Optional, for workspace integration
g6-context Elasticsearch Optional, for ctx_elastic component
g6-agents Anthropic API key Required for agent_claude
g6-agents OpenAI API key Required for agent_openai

Users must install and configure these independently. Each component degrades gracefully when its external dependency is unavailable.

Pinned Python dependencies still need clean-install validation

The deployable MCP package pins fastmcp==2.14.6 and markitdown==0.1.5; g6-context document conversion depends on those pins for the MCP server and ctx_markitdown conversion path. This removes version drift, but it does not prove a user's existing Python environment is clean. Before first-user or paid-customer rollout, install from projects/g6_mcp/requirements-mcp.txt in a fresh virtual environment and run an MCP smoke test that starts the server, calls md_info, and converts one small allow-listed document.


See Also