← Back to the 3-step overview

Tamhees · تمحيص

Memory under scrutiny.

Tamhees checks what an AI remembers before that memory is allowed to guide an action. It tests the claim against provenance, freshness, current evidence, privacy, and permission—locally and deterministically.

Try the live audit

Local-only · Deterministic · No AI API · Zero runtime dependencies

The Memory Audit Engine

One remembered claim meets current project evidence.

Static summary: the old owner claim “Use SQLite” has a valid source but is stale and conflicts with current Supabase repository evidence. Tamhees denies permission for the migration, blocks the action, excludes the unsafe claim from task context, and asks the owner which database decision is current.

Why memory needs a safety check

Remembering is useful. Blind trust is the problem.

A memory file can preserve what was said months ago. It cannot prove that the information is still current, correctly sourced, safe to retain, or permitted to control an action.

01

Inaccurate

Remembered“Use SQLite.”

What changedSupabase is now configured.

Response: block the action and ask the owner.

02

Invasive

RememberedA credential-like value from a useful conversation.

What can go wrongPrivate data becomes permanent context.

Response: forget or redact before retrieval.

03

Overconfident

Remembered“The owner prefers this design.”

What can go wrongAn AI guess looks like approval.

Response: ask the owner instead of acting.

Where the idea came from

A useful memory file became too expensive to trust blindly.

A single GPTBrain.md-style project memory improved continuity while vibe coding. As it grew, the agent had to reread too much context on every prompt—and old, inferred, sensitive, or contradictory statements remained mixed together.

  1. One large fileHelpful continuity, but increasing latency and context use.
  2. Mixed-quality memoryFacts, guesses, secrets, and superseded decisions could look equally authoritative.
  3. Structured scrutinyTamhees adds claims, provenance, evidence, freshness, permission, auditing, and small task-specific context.

Four checks before action

Before memory controls an action, it must pass four checks.

1

Where did it come from?

Owner decision, repository evidence, test result, observation, or inference.

2

Is it still current?

Fresh memories may be usable. Old or superseded memories require review.

3

What does the project say now?

Current files and evidence may support or contradict the memory.

4

Is the AI permitted to act?

Confidence is not authority. Some actions still require the owner.

The engine returns one safe outcome: Trust, Recheck, Ask Owner, Block Action, or Forget/Redact.

Guided CLI demonstration

Follow one memory from capture to a safe refusal.

This fixed-fixture lesson uses real Tamhees CLI syntax and requests the architecture-conflict result from the canonical local engine. It does not run a shell, accept commands, or write project memory.

Guided demo · safe fixed fixtures

Ready at step 1 of 5.

  1. Initialize
  2. Memory
  3. Evidence
  4. Audit
  5. Context

Tamhees CLI-style output

Step 1 · Initialize

Create controlled local storage.

Tamhees creates a structured local store. Nothing is uploaded, and the guided page does not execute this command.

Safety gate
Project boundary
Agent permission
No action decision yet
Why it matters
Memory gets an inspectable home instead of an unquestioned monolithic file.

Read the complete non-animated lesson
  1. tamhees init creates local .tamhees/ storage.
  2. tamhees memory apply --input <safe-memory-fixture> records “Use SQLite” with owner source and bounded authority.
  3. tamhees evidence add --input <safe-evidence-fixture> records that Supabase is currently configured.
  4. tamhees audit detects the material contradiction and returns BLOCK_ACTION.
  5. tamhees context --task "prepare the database migration" excludes the unsafe memory and tells the agent to ask the owner.

Live local demonstration

See the safety check before an AI acts.

The live audit simulates the safety check that runs before an AI agent uses remembered project information. It compares the memory with current evidence, freshness, privacy, and permission, then decides whether the agent may trust it, recheck it, ask the owner, block the action, or forget/redact the information.

This is not a simulated chat response. Each example is evaluated by the real local audit and context engine; the interface cannot choose the outcome.

  1. 1What the AI remembersClaim, source, and freshness
  2. 2What the project currently provesSupporting or contradictory evidence
  3. 3What the AI is safely allowed to doPermission, decision, and next step

Choose an example

Seven safe fixtures exercise seven real engine paths.

Conflicting repository evidence

The database decision no longer matches reality

Memory says SQLite while current repository evidence points to Supabase.

Safe fixed fixture
1

The AI remembers

Use SQLite for local persistence.

2

The project says now

Supabase appears in package metadata and configuration.

3

The AI wants to do

Continue a database-dependent change using the remembered SQLite decision.

Advanced context settings

The engine has limited space. It selects only the safest relevant memories that fit.

Waiting for your check

The result stays hidden until the canonical engine evaluates this example.

Memory inspector

What does the agent remember, and how sure is it?

Memory can go wrong without anyone saying so. Here, an agent's memories of a project meet the project as it is today. Tamhees checks the claims against the repository by itself. No agent reports the change. Some memories are about you, the owner: press Forget on any of them to see what "forget that" really does.

Before checking: the memories as the agent last saw them.

    Deterministic benchmark evidence

    On 22 controlled fixtures, Tamhees produced the expected safe outcome 22 times.

    These are deterministic project-memory tests, not a claim about every real-world project.

    No memory

    —

    Monolithic GPTBrain

    —

    Simple split files

    —

    Tamhees

    —
    —selected memories were relevant
    —unsafe records exposed
    —secret-like records exposed

    The two Tamhees recall misses are safe relevant records excluded by the hard context budget.

    View complete benchmark and methodology
    ConfigurationPrecisionRecallAbstentionBudgetExact outcomeUnsafe / secret
    Loading the local benchmark artifact…

    Ground truth is fixture-authored independently of production output. Metrics expose their numerators and denominators.

    A local layer, not another coding agent

    Works beside the coding agent you already use.

    Tamhees does not replace Codex, Claude, Antigravity, or another agent. It prepares safer project context before work and evaluates proposed memory updates afterward.

    Coding taskRetrieve relevant memoryAudit safety and authorityGive the agent a small context packReview proposed updates
    Implemented · tested

    Codex

    Implemented · tested

    Antigravity

    Implemented · tested

    Claude

    Implemented · tested

    Generic

    Limited subset · tested

    Local MCP

    View implementation details

    Five project-local adapters call the same canonical lifecycle boundary. Four managed instruction adapters use local files; the limited MCP subset exposes four strict JSON-RPC tools over stdio. No adapter copies audit policy or opens a remote service.

    Honest boundaries

    What Version 1 does—and does not—claim.

    Lexical retrieval

    Normalized words, tags and a fixed synonym table, not semantic understanding.

    Deterministic token estimates

    Repeatable local counts, not provider-exact tokenization.

    Pattern-based detection

    Defensive sensitive-value checks, not a universal secret guarantee.

    Cooperative local adapters

    They guide integrated agents but cannot force unrelated software to cooperate.

    Safe fixed fixtures

    Judge demonstrations are controlled examples, not arbitrary live repository access.

    Memory should help without taking control

    Give the agent context. Keep the right to doubt it.

    Try the live audit