Skip to content

Latest commit

 

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Connect-Control

The user-facing control-plane application of the Connect ecosystem: visual workspaces, guided onboarding, budget visibility, and marketplace discovery — the thin Control plane made usable.

Status: R8 — the curated marketplace surface landed on top of R7's four UI surfaces and linked audit trail. What exists today: the C0 scaffold (/healthz, configuration echo, read-only plane health probes, honest 501s on the plane-proxy path) plus server-rendered surfaces for Work Request creation/status, Decision + explanation, the curated marketplace (operator-authored listings, governed provider activation, fail-closed enforcement classification badge), and the linked audit trail with chain verification on read. Workspaces, onboarding, and budgets do not exist. See docs/ROADMAP.md and the Option-B exception in docs/ARCHITECTURE.md.

This repository exists by decision of ADR 0002 (Accepted 2026-08-04, Option A): the Connect umbrella repository stays docs-only, and the control-plane application lives here.

The thin-control-plane principle

Connect-Control is the fifth plane of the ecosystem and deliberately the thinnest. It coordinates the four infrastructure planes; it is never a fifth authority competing with them. Concretely:

  • It runs no workloads — the Work plane (AgentConnect) executes.
  • It holds no trust — the Knowledge plane (BrainConnect) decides what is trusted.
  • It decides no authorization — the Capability plane (ToolConnect) decides.
  • It places no compute — the Compute plane (ComputeConnect) places.

Every read in this application comes from the owning plane's public API over the ecosystem's versioned contracts, and — when mutation is eventually built — every write will go through the owning plane's public API too. Never direct database or filesystem access to another plane's state — with exactly one documented, temporary exception: the R7 read-only audit projection and the governance in-process intake (extended in R8 to the marketplace's listing reads and listing/activation mutations), recorded with its expiry condition in docs/ARCHITECTURE.md.

What Connect-Control will not do

Inherited from the ecosystem's PRODUCT_THESIS.md and MANIFESTO, these are refusals, not roadmap gaps:

  • It is not another coding harness and does not compete with Claude Code, Codex, Hermes, OpenHands, or any other executor — harnesses stay native and interchangeable.
  • It is not a hosting provider, GPU cloud, inference host, managed-memory host, hosted-workspace operator, data custodian, consulting organization, or subscription vendor.
  • No Connect subscriptions, no per-seat licensing, no feature-gated "enterprise edition," no charging for customer-owned resources. The free path is never degraded.
  • Customer content (prompts, outputs, code, memory, secrets, tool payloads, workspace files) stays on customer-controlled infrastructure; the control plane is architected to handle as little of it as technically possible.

What is here today

src/connect_control/
    app.py          FastAPI app factory: /healthz, /planes, read-only plane
                    health probes, 501 for all plane-proxy mutation routes
    config.py       plane endpoint + audit-projection DB path configuration
    cli.py          `connect-control` console entry (uvicorn, 127.0.0.1:8800)
    planes/         read-only HTTP clients, one per infrastructure plane
    audit/          R7 read-only audit projection: single-identifier join
                    across the governance/AgentConnect/ToolConnect SQLite
                    stores (mode=ro) + chain verification on read
    routes/         the four R7 surfaces (S3 extended by R8):
                    work_requests.py  S1 creation (a mutation, through
                                      Connect-Governance's kernel-evaluated
                                      intake) + status
                    decisions.py      S2 decision + explanation (read-only)
                    marketplace.py    S3 curated marketplace (R8): listings,
                                      governed activation (mutations through
                                      connect_governance.providers),
                                      fail-closed classification badge
                    audit.py          S4 linked audit trail timeline
    ui/templates/   Jinja2 server-rendered pages for S1–S4
docs/
    ARCHITECTURE.md the intended shape + the R7 Option-B exception record
    ROADMAP.md      milestones C0–C4 + the R7 entry
tests/              scaffold honesty tests + end-to-end seeded R7 tests

Plane endpoints default to the ecosystem port registry (COMPATIBILITY.md): AgentConnect 127.0.0.1:8790, BrainConnect 127.0.0.1:8787, ComputeConnect :8090, ToolConnect 127.0.0.1:8095.

Sibling dependencies (read before installing)

The app runs with no sibling packages installed: every surface degrades honestly and says why (503s on the mutation/read surfaces, labeled degraded panels elsewhere). That is a feature, not a fallback — it is the same honesty idiom as the scaffold's 501s.

Full functionality needs the sibling planes' R7+R8 work, installable as the optional audit extra (plain package names, deliberately not pinned to branch URLs):

pip install -e ".[dev,audit]"

Until the sibling R8 PRs merge and release, install them from their branches for local testing:

pip install "connect-governance[app] @ git+https://github.com/Judgernaut777/Connect-Governance.git@r8-marketplace"
pip install "agentconnect-core @ git+https://github.com/Judgernaut777/AgentConnect.git@main#subdirectory=packages/agentconnect-core"
pip install "toolconnect @ git+https://github.com/Judgernaut777/ToolConnect.git@r8-provider-classification"

R8 merge order: Connect-Governance r8-marketplace (provider listings, governed activation, query layer) and ToolConnect r8-provider-classification (/health trust-root posture) first; this repo's r8-marketplace last — it consumes both but degrades without any.

The audit projection is pointed at the three stores with:

export CONNECT_CONTROL_GOVERNANCE_DB_PATH=/path/to/governance.db
export CONNECT_CONTROL_AGENTCONNECT_DB_PATH=/path/to/agentconnect.db
export CONNECT_CONTROL_TOOLCONNECT_DB_PATH=/path/to/toolconnect.db

Development

pip install -e ".[dev]"   # Python 3.11+; add ,audit for the sibling-backed surfaces
pytest
connect-control           # serves on http://127.0.0.1:8800

License

Apache-2.0 — the entire Connect ecosystem is Apache-2.0. See LICENSE and NOTICE.

About

Connect control-plane application — visual workspaces, onboarding, budgets, marketplace discovery. The thin Control plane of the Connect ecosystem.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages