Heartwood
Heartwood · specimen Nº 01
FIG. 1 — keeperlog · 52 truths, 7 roots
core unchanged since day one
identityROOT · 92 · protectedvoice81 · protectedaudiences58qr-handoverLEAF · 34

01 / The problem with forgetful agents

Give your agents a spine.

An agent re-guesses what your project is on every task. Heartwood keeps the answer as a hardened tree of truths: the deeper a truth sits, the harder a passing prompt can bend it.

02The model

A project's truth is a tree.

Heartwood is the model itself. Heartwood is the innermost, oldest part of a tree: the dead, hard core that carries the whole trunk. Outer rings harden inward over years. Here too, age becomes hardness, the core bears everything, layers harden over time.

Depth is a single axis on which four things meet. The deeper a truth sits, the more authoritative it is against a prompt, the more stable over time, the more expensive to change, and the more immutable in daily work. The placement question is simple: how often does this honestly change? Never goes to the roots. Every sprint is a leaf.

depth → hardness

rootswhat this fundamentally is92
trunkdirection, brand, positioning74
branchesfeatures and capabilities52
leavesconcrete, volatile details28
03Hardness · the iron rule
AI proposes.
Server enforces.

A node's hardness is computed server-side from where it hangs and how much hangs below it. Structure is the backbone and the ceiling. A human or an agent may propose a number, and the server clamps it into the structurally allowed band. It can nudge, never override.

Tell an agent your tool is hospital software and the root pushes back instead of going along. Changing a hard node is blocked until a human confirms with the cascade shown: this invalidates these twelve children, confirm. The friction is the feature.

04Connect in two minutes

One token, any runtime.

Sign in with GitHub, mint an API token, and paste it into your agent's MCP config. The same tree is served to every runtime that speaks MCP. Point a SessionStart hook at your roots and every new chat loads your protected core first.

full_setup_guide →
{
  "mcpServers": {
    "heartwood": {
      "type": "http",
      "url": "https://heartwood.wlankabl.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_HW_TOKEN" }
    }
  }
}
05Proof · dogfooded

Heartwood is the first example of what it manages. Its own roots live in its repo, and it is dogfooded against two real products: KeeperLog and ZentraX.

If Heartwood does not visibly make those two move faster, it has failed its own thesis. That is the bar.

Plant your first tree →free, open source, self-hostable