wickedagilewicked-estate
wicked-estate · Equip · v0.13.1 · crates.io

Your live
technical
environment,
queryable.

One local-first MCP server that maps the environment around your code — requirements↔implementation, blast-radius of change, infra + policy relationships and operational history. Every fact stamped with confidence and provenance — a heuristic is never handed to an agent as a fact.

The memory and code-graph proper live in wicked-brain, Equip’s other half. estate is the technical environment those symbols sit in: what a change touches, what protects it, what it was.

CORE LOG · applyDiscountone identity
−0.0m01Requirements ↔ implementation
−4.2m02Blast-radius
−7.8m03Infra + policy
−11.5m04Operational history
−14.0m05Annotations

One continuous body — the whole environment, one identity.

The agent's IDE

The agent doesn't grep. It edits in an IDE that knows your whole system.

Right-click a symbol for every caller, click a class for its whole picture, trace the requirement it satisfies, recall the decision behind it, pull the wiki, see the blast radius — what an agent can do while editing that grep can't. Code intelligence, memory and knowledge, every answer a live fact with confidence + provenance; drop the dial and the low-confidence guesses fall out, labeled — never silently promoted.

wicked-estate — the agent's workspace
TSPricingService.tscheckout/ · right-click a symbol → estate answers
1export class  {2  (cart, coupon) {3    const price = cartTotal(cart)4    return clamp(price - coupon.value, 0)5  }6}
confidence ≥0.550.30 · heuristics1.00 · SCIP only
Find all callersapplyDiscount · 3 found
1checkout() → applyDiscountSCIP1.00checkout/Checkout.ts:41
2api/price route → applyDiscountSCIP1.00routes/price.ts:18
3referralFlow → applyDiscountTags0.30below cutofftag-scan guess · cross-file, unverified
Find all callers2/3 resultsconfidence-gatedprovenanceParsedAST · 1.0SCIPindexer · 1.0Injectedbus / cmd edgeMemoryrecalled · salienceKnowledgewiki · RRFTagstag-scan · 0.3
The five strata

Five bands. One substrate. One symbol identity.

Not a pile of scanners — a single continuous body, cut into bands. Each keyed to the same stable (scheme, qualified-name) that survives reformatting, moves, and re-index.

01
Requirements ↔ implementation
−0.0m · traceable

Every symbol carries the requirement it satisfies, a description, and a validated flag — the spec pinned to the code that fulfils it.

02
Blast-radius
−4.2m · bounded

What breaks if you change it — bounded reverse-reachability over every dependency edge kind, plus injected edges (event→consumer, command→agent) grep can never see.

03
Infra + policy
−7.8m · cross-domain

IaC, mainframe security, data and messaging joined cross-domain — the RACF profile that protects the dataset a JCL step uses, in one query.

04
Operational history
−11.5m · git-aware

Per-file git provenance, a read-only edge-history log, and drift — iac vs live by resource identity. What the environment was, not only what it is.

05
Annotations
−14.0m · typed notes

Typed key/value notes — assumption, note, question — with confidence and an advisory flag. Survives re-index.

Requirements↔implementation · blast-radius · infra + policy · operational history · typed annotations — one binary, every fact stamped with confidence and provenance.

Everything an agent can call

23 MCP tools. 6 agent skills. One binary.

Not one “search” tool bolted onto a repo — the full MCP surface an agent can call, plus the skills (playbooks) that drive them. The memory and knowledge domains pair with wicked-brain, where the memory + code-graph proper live; the estate domain is the live technical environment. Grounded to v0.13.1.

01Graph10 estate tools
SearchEntityFind symbols by name or kind; optional source inline.
RetrieveEntityOne symbol’s full dossier — callers, edges, annotations, requirement.
TraverseGraphBounded walk out over calls and imports.
BlastRadiusEvery dependent — what breaks if you change it.
LineageThe dependency chain a symbol rests on, transitively.
RankHotspotsMost-connected symbols by PageRank — where to start reading.
CommunitiesClusters the graph into modules.
ContextBundleScoped, prompt-ready context pack for a symbol.
FetchContentThe stored source for a symbol or file.
RulesInventoryRules engines (ODM · DMN · Drools · CLIPS) + the code that calls them.
02Memory6 memory tools
memory.captureCapture a memory node (episodic / semantic / procedural / archival).
memory.recallToken-budgeted recall relevant to a query in scope.
memory.learnStore a semantic fact and link it to code symbols atomically.
memory.reflectDistil episodic memories in a scope into semantic facts.
memory.coverageNode counts by tier and kind.
memory.eraseHard-delete every memory under a scope prefix.
03Knowledge7 knowledge tools
knowledge.ingestIngest a document as a doc + retrievable chunk nodes.
knowledge.writeWrite one node (doc / section / chunk / concept).
knowledge.relateAdd a typed, confidence-scored relation between nodes.
knowledge.recallHybrid FTS + vector recall, RRF-fused.
knowledge.relate_codeLink a knowledge node to estate code symbols.
knowledge.recall_about_codeRecall knowledge linked to given code symbols.
knowledge.coverageNode counts per class.
Agent skills · in-repo playbooks6 skills
codebase-expeditionHotspot-first tour: RankHotspots → TraverseGraph → FetchContent.
knowledge-ingestChunk and ingest a document into the knowledge base.
cited-answerAnswer with a grounded, cited slice — never from model memory.
ontology-expeditionConnect concepts with typed relations — the bar over a flat brain.
knowledge-curationDedup as the base grows — collapse-but-surface, never delete.
gap-huntingTurn recall misses into ingest tasks — close the loop.
Injected edges · event→consumer · command→agentEvery edge: confidence + provenance + resolved_by7 resolution tiers · Parsed → SCIP → LSPRules engines in the same graph · ODM · DMN · DroolsRequirement ↔ code traceabilityTyped annotations · survive re-indexSQLite by default · Postgres behind one flag100+ languages as data — a row + a query file
The provenance seam

Every edge carries where it came from.

No edge ships without confidence, provenance and resolved_by. When the same (source, target, kind) edge is proposed by several tiers, the highest tier wins — a 0.3 tag-scan guess is never presented as a 1.0 fact.

collisioncheckout → applyDiscountcalls
resolved_by →Parsed2 lower tier(s) superseded
cycling
Parsed
1.0
SCIP / LSP
1.0
TSG
0.8
ImportMap
0.6
Tags
0.3

The right-hand label lights when its tier is the one in scope.

One backend, solo or shared

SQLite by default. One flag to a shared team backend.

The same engine and command API run on either backend through one open_store(spec) factory — no caller changes, no re-index. Local-first is a feature, not a ceiling.

wicked-estate index . --db graph.db
writerssingle-writer — one local file
traversalbounded recursive CTE
infrastructurenone — nothing to run
FTS5 · sqlite-vec · WAL · nothing leaves your box
Where estate sits in the loop

Estate is where the loop gets equipped.

One loop, four verbs, under human authority: intent → Steer → Equip → (your harness) → Verify · Govern → record, and the record feeds the next run. estate is one half of Equip — the technical environment; wicked-brain is the other.

Equip · you are here

Your live technical environment, queryable — requirements↔implementation, blast-radius, infra + policy relationships, operational history. Memory + code-graph with provenance — knowledge the agent can search, challenge, correct, and trace to its source.

Steer
garden
Equipestate lives here
estate · requirements↔impl · blast-radius · infra + policy · historybrain · memory + code-graph with provenance
Verify
testing
Govern
core · crew

wicked-bus is the durable fabric beneath the loop · wicked-interactive is a creative surface beside it · every run stays under human authority — approve, redirect, pause, cancel.

Get started

Zero to a queried substrate in two minutes.

Recommended · the whole familynpm
$ npx wicked-installer

Interactive: pick estate (and any siblings), choose your agent CLIs, and it wires everything and ships the cross-family wicked CLI.

Or install just this directlycrates.io
# the CLI + the MCP server
$ cargo install wicked-estate wicked-estate-mcp
# index your repo
$ wicked-estate index . --db graph.db
# connect your agent (Claude Code shown)
$ claude mcp add wicked-estate -s project \
-- wicked-estate-mcp --db "$PWD/graph.db"

Use an absolute DB path — clients launch from an unpredictable working directory. Same 23 tools in Cursor, Codex, and Antigravity.