How it works

  1. The ownership map
  2. The four enforcement layers
    1. 1. Deny rules remove tools from context
    2. 2. Hindsight config switches off what Context+ covers
    3. 3. Context+’s server instructions are removed
    4. 4. Two hooks route the work
  3. Why each tool kept what it kept

The ownership map

Capability Owner Switched off elsewhere Enforced by
Memory across sessions and branches Hindsight Context+ upsert_memory_node, create_relation, search_memory_graph, prune_stale_links, add_interlinked_context, retrieve_with_traversal · OmO Kibitzer deny rules · OmO not installed
Live code structure and semantic search Context+ get_context_tree, get_file_skeleton, semantic_code_search, semantic_identifier_search, semantic_navigate, get_blast_radius Hindsight codebaseSurvey, the “Component map” page Hindsight config
Writing and undoing code Edit / Write + git Context+ propose_commit, list_restore_points, undo_change deny rules
Lint, types, tests the repository’s own scripts Context+ run_static_analysis deny rule
Feature-to-code maps Hindsight knowledge pages Context+ get_feature_hub deny rule
One disciplined change ultrawork skill OmO harness keyword hook
Parallel multi-agent job ultrawork-graph skill OmO harness, graph-engineering’s orchestration trigger keyword hook · narrowed description
Knowledge graph as a product graph-engineering + /devstack:kg-* — —

The rule behind every row: if two tools hold the same kind of state, they drift apart, and the agent picks one or the other at random.

The four enforcement layers

1. Deny rules remove tools from context

A bare tool name in permissions.deny removes that tool from Claude’s context, not just from execution. devstack adds one rule per overlapping Context+ tool:

"permissions": {
  "deny": [
    "mcp__plugin_devstack_contextplus__upsert_memory_node",
    "mcp__plugin_devstack_contextplus__propose_commit",
    "…"
  ]
}

2. Hindsight config switches off what Context+ covers

{
  "codebaseSurvey": false,
  "pages": { "Component map": false },
  "toolGuideExtra": "Hindsight is the only memory system in this setup. …"
}

Hindsight’s other four knowledge pages stay on: Core concepts, Conventions and patterns, Key decisions and rationale, and Initiatives. They hold the why that code can’t show.

3. Context+’s server instructions are removed

Context+ sends a set of instructions with every connection. Among other things, they tell the agent to use its memory graph before every task, to call a cache server devstack doesn’t install, and to write code only through propose_commit. Every one of those conflicts with the map above, so the installer deletes the file they’re read from (agent-instructions.md). The tools still work without it.

4. Two hooks route the work

  • SessionStart prints routing.md, the map in prose, into every session.
  • UserPromptSubmit scans the prompt for mass ulw / mass ultrawork (routes to ultrawork-graph) and ulw / ultrawork (routes to ultrawork). For any other prompt it prints nothing, so it costs no context.

Why each tool kept what it kept

  • Hindsight keeps memory because it’s the only one of the four that builds memory automatically from git history and past sessions. It shares one bank per repo across every agent and consolidates facts into observations instead of piling them up.
  • Context+ keeps structure because it reads the code as it is now: AST, embeddings, call sites. A survey or a memory of the structure goes stale with the next commit.
  • Edit and git keep writes because Claude Code’s own edit, checkpoint and permission flow already covers them, and a second undo history would contradict git.
  • OmO keeps its ideas, not its harness. OmO is a separate agent (a fork of pi), not a Claude Code add-on. Its ulw discipline and mass ulw fan-out are reimplemented as Claude Code skills and subagents.
  • graph-engineering keeps knowledge-graph design, for graphs you build as a product. Its task-graph rules (fake edges, the diamond, the stop rule, the human gate) are what ultrawork-graph follows.

MIT © codicoscepticos. devstack bundles graph-engineering (MIT) and installs Hindsight and Context+ from npm.