Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,083 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Veil

Your agent forgets. This one doesn't.

npm version license

Install · Why Veil · Features · vs Alternatives · Docs


Install

# npm
npm install -g @engrammic/veil

# or curl
curl -sSL https://veil.engrammic.ai/install | sh

# Or for windows;
irm https://veil.engrammic.ai/install.ps1 | iex

Then run in any project:

veil

Why Veil

Other tools reset every session. Veil remembers.

  • Cross-session persistence — context survives restarts, not just compaction
  • Local-first — sqlite-vec embeddings, no cloud dependency, works offline
  • Self-tuning — FSRS decay learns what matters; stale context fades, important context stays
  • Deterministic — no LLM in the memory loop, sub-10ms scoring on every turn

Features

Self-Tuning Eviction

AIMD control

Context pressure triggers eviction. Success grows the window, failure shrinks it. No manual cleanup.

Failure Memory

Loops converge

Failed approaches are remembered. The agent doesn't grind — it learns what didn't work and moves on.

Worldview

Structural + behavioral

Persistent understanding of the codebase and your patterns. Survives compaction.

Compression

Intelligent decay

Code, config, and conversations compress based on relevance. Old context fades, important context persists.


vs Alternatives

Most "memory" solutions are config files with marketing. Veil is infrastructure.

Veil Config-based kits
Memory persists across sessions Yes No
Works offline Yes Cloud-dependent
Learns what matters (FSRS decay) Yes Static rules
Semantic search (sqlite-vec) Yes Keyword only
Survives context compaction Yes Hopes for the best
Ships as actual code Yes CLAUDE.md + vibes

Architecture

flowchart TB
    subgraph AGENT["Agent Loop (Pi fork)"]
        direction TB
        A[Tool Call] --> H[VeilHarness]
    end

    subgraph CONTEXT["Context Management"]
        direction TB
        H --> CM[ContextManager]
        CM --> S[Scorer]
        CM --> E[Eviction]
        CM --> I[Injection]
    end

    subgraph STORAGE["Storage"]
        direction LR
        W[(SQLite + sqlite-vec<br/>Warm Tier)]
        C[(Cold Tier<br/>Optional)]
    end

    CONTEXT --> W
    W -.-> C

    style AGENT fill:#1c1917,stroke:#c2410c,color:#fef3c7
    style CONTEXT fill:#1c1917,stroke:#92400e,color:#fef3c7
    style STORAGE fill:#292524,stroke:#c2410c,color:#fef3c7
Loading
Path Behavior
Fast Deterministic scorer + eviction. Every turn, sub-10ms. Never blocks.
Slow Reads event log, writes policy. Between turns, off critical path.

Documentation

Doc Purpose
CONTRIBUTING.md Contribution guidelines

Development

git clone https://github.com/engrammic/veil
cd veil
npm install --ignore-scripts
npm run build
./veil-test.sh

Credits

Built on pi-mono by Mario Zechner. MIT licensed.

Part of the Engrammic ecosystem.


Engrammic · 2026

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages