Today, software engineers working with AI coding agents have to
babysit those agents through every non-trivial refactor, cross-file
change, or blast-radius question — re-prompting them when they miss
callers, break downstream handlers, or edit a hot-path function without
knowing it's on the hot path when the agent's only view of the
codebase is whatever files it opened and whatever strings grep turned
up, so it cannot see the graph — the callers, callees, processes, and
data flows — the change actually sits inside. Customers need a way to
give their agents a precomputed, graph-aware view of the repository
that answers "what breaks if I change this, what depends on this, where
does this data flow" in one tool call, locally, on an Apache-2.0 stack
they can embed and ship.
How might we ship agents a single, deterministic, graph-grounded context pack (callers + callees + participating processes + blast radius
- risk tier) at the moment they are about to write a diff, so their existing synthesis skill lands the first edit correctly instead of the third?
Concrete angle: impact(target) already returns depth buckets, affected
modules, affected processes, and a risk tier. Wire it into
PreToolUse hooks so every rename-class edit gets auto-enriched before
the model sees the file.
How might we eliminate the three recurring agent failures the README
calls out — missed dependencies, broken call chains, blind hot-path
edits — by turning them into gate conditions (verdict: block,
impact: HIGH) the agent must resolve before it can merge, instead of
bugs we find in code review?
Concrete angle: the verdict tool already returns one of five tiers;
surface block / expert_review as non-zero CLI exit codes (it
already does) and as PR-check failures via ci-init-generated
workflows so the loop closes in CI, not just in the editor.
How might we invert the pull model entirely and have OpenCodeHub write the relevant graph context as structured comments / SKILL.md stanzas / wiki pages into the repo at index time, so the agent reads the context as code, not as tool output?
Concrete angle: codehub analyze --skills already emits one SKILL.md
per Community with ≥ 5 symbols under .codehub/skills/, and
codehub wiki --llm renders LLM-narrated module pages. The opposite
extreme is full: every callable gets a co-located summary block
(already validated by a Zod contract and embedded via Bedrock / Haiku
4.5) so the agent never needs a query round-trip for static context.
How might we treat a new agent session the way a good engineering team treats a new hire — hand them a map of the services, the critical flows, and the "if you touch this, also touch that" crib sheet on day one — so the first pull request they open is already shaped by institutional knowledge?
Concrete angle: the MCP server already exposes
codehub://repo-context, codehub://repo-clusters, and
codehub://repo-processes as resources. Treating those as the
new-hire doc set (Processes = "the way requests move through this
system"; Communities = "the neighborhoods of this codebase") reframes
the product from "another search tool" to "onboarding-as-a-service
for agents".
- Frame 1 — Setting & user. Priya is a backend engineer at a mid-size SaaS company. Saturday morning, one terminal, one editor, Claude Code open.
- Frame 2 — Trigger. She wants to rename
validateUsertovalidateAccountacross a TypeScript + Python monorepo she maintains. - Frame 3 — Pain. The agent greps, finds three hits, edits them, declares victory. CI blows up Monday on 14 call sites the string match missed — two of them in the Python service.
- Frame 4 — Discovery. A teammate mentions OpenCodeHub; she runs
codehub setupandcodehub analyzeonce. - Frame 5 — Action. She re-asks the agent. This time the agent
calls
impact("validateUser"), getsrisk: HIGH, direct callers: 14, affected processes: 3, andcontext("validateUser")for every inbound reference — including the two Python call sites grep missed. OpenCodeHub is read-only, so the agent uses that complete edit list to drive the rename in the editor itself, then callsdetect_changesto confirm the diff covers all 14 sites. - Frame 6 — Resolution. She reviews the verified diff, applies it. Tests pass. Zero Monday fires.
- Frame 7 — Ongoing benefit. The plugin's
PostToolUsehook re-analyzes after everygit commit | merge | rebase | pull, so the graph stays current without her thinking about it.
- Frame 1 — Setting & user. Miguel is on a platform team that owns 40 microservices across Go, Python, and TypeScript.
- Frame 2 — Trigger. A new team joins with a fresh service and wants
to know which upstream callers already hit the shared
/usersHTTP surface and which producers publish theaccount.createdtopic. - Frame 3 — Pain. The answer currently lives in people's heads and half-outdated Confluence pages. The onboarding call runs long.
- Frame 4 — Discovery. Miguel sees OpenCodeHub's
codehub group create fleet service-a service-b ...flow and thegroup_synctool that extracts HTTP / gRPC / topic contracts across every repo. - Frame 5 — Action. He creates a group for the fleet, runs
codehub group sync fleet, then asks his agent via thegroup_contractsMCP tool for every repo that FETCHES/usersand every producer ofaccount.created. - Frame 6 — Resolution. The agent returns the DuckDB-backed FETCHES↔Route edges plus signature-matched cross-links from the registry. The new team gets a concrete list of upstream dependencies in five minutes.
- Frame 7 — Ongoing benefit.
group_querynow fans BM25 across the whole fleet with RRF fusion; onboarding calls for future services start with a working query instead of a whiteboard.
- Frame 1 — Setting & user. Dana is a security engineer reviewing a PR that touches a Python auth helper.
- Frame 2 — Trigger. The PR has a three-line diff. Her instinct says "too small to be safe".
- Frame 3 — Pain. She has no fast way to check how many flows the diff actually lands on, whether the touched symbol carries dead-code or license risk, and whether the new scanner findings are regressions.
- Frame 4 — Discovery. Her team has OpenCodeHub in CI via
codehub ci-init. Theverdicttool ran on the PR and came backexpert_reviewwith reasoning signals and a scanner findings delta. - Frame 5 — Action. From the MCP server inside Claude Code she
runs
detect_changesagainst the PR diff, thenlist_findings_deltaagainst the frozen baseline, thenlicense_auditfor the newly pulled dependency. - Frame 6 — Resolution. The tools show three
HIGH-severity scanner findings newly introduced and one dependency that flips thelicense_audittier fromOKtoWARN. She blocks the PR with specifics, not a gut feeling. - Frame 7 — Ongoing benefit.
risk_trendsgives her per-community trend lines and 30-day projections, so she sees which subsystems are accumulating risk before anyone files a ticket.