Home · MIT · one Go binary · GitHub

The maze is the system.
Clew is the thread.

Brownfield services already work. Coding agents still pay to rediscover place-order every session. Clew keeps the four graphs you already have, and joins them onto a path you can walk.

The problem

A new teammate — or a new agent — cannot walk a payload across orders → payments → inventory without grepping six repos. Four tools each hold a slice. Alone, they stay irrelevant:

  1. Code is not the use case. charge() calls authorize(). That does not tell you CARD vs COD.
  2. Specs are not the path. OpenAPI says POST /orders exists. Not which event fires.
  3. Traces die on async. The hop continues in a consumer, keyed by orderId in a log line.
  4. Memory stores chat. “Don’t refactor old auth” is not a stitch key.

Four cores we keep

Not competitors. Inputs. Clew is the join.

CoreWe takeWe drop
Code graphHTTP / ASYNC / CROSS edges (CBM)Rebuilding tree-sitter; GitNexus (noncommercial)
Catalogservices, messages, schemas, consumersEventCatalog Scale MCP
Loadoutone path in the prompt, skills, clew:// idsChat L0–L3 hubs
Tracesspan links + log stitch keysTreating a live trace as the map

What Clew is

A hop is one node. A tree is Input → Branches → Output. A forest dispatches inbound events onto trees — OrderCancelled is not a hop of place-order. This service owns one level; next is another service’s tree. Async OUT without stitch is a P0.

The loop: measure → one P0 → capture → measure until reflected.

Architecture

Observed — CBM, OpenAPI/AsyncAPI, OTLP + logs. No LLM invention.
Declared — git docs/hops.md trees. Humans and agents write the same file.
Resolvedloadout, who_consumes, drift, next_p0. Join keys: service · HTTP method+path · message name.

Go binary, MIT MCP, no Neo4j, no OpenSearch, no Scale license. Rust is for indexers; CBM already is one. Clew is the thread.

Shop — walk one payload

The loop

measureone P0capturemeasure

CI: clew score --fail-p0. New routes turn the sensor red. You do not finish docs.

What we refuse

How to run

go build -o clew ./cmd/clew

./clew loop --root examples/shop

./clew loadout --root examples/shop --use-case place-order --payload '{"paymentMethod":"CARD"}'

./clew mcp — stdio tools: loadout, who_consumes, next_p0, drift, score.