Skill flagged — review recommended

ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.

Memory Harness

v1.0.0

Runtime-enforced memory harness for OpenClaw. Implements 3-stage recall (session preflight, triggered recall, pre-execution gate) with intent classification,...

0· 268· 1 versions· 0 current· 0 all-time· Updated 23h ago· MIT-0

Install

openclaw skills install memory-harness

Memory Harness

A reliable memory harness that makes byterover recall happen at the right times without running heavy recall on every turn.

Architecture

user_input
  -> intent classification
  -> session preflight (if new session)
  -> conditional targeted recall
  -> planning
  -> pre-execution recall gate (if execution-like)
  -> execution or response
  -> optional writeback

3-Stage Harness

Stage 1: Session Preflight

Runs ONLY at the start of a new session.

Fetches:

  • active project
  • pinned facts
  • unresolved items
  • recent important entities
  • recent session summary

Does NOT fetch:

  • full raw history
  • large raw memory dumps
  • low-signal old notes

Output: compact session_digest (hard capped)

Stage 2: Triggered Recall

Runs targeted byterover recall only when needed.

Trigger conditions:

  • Continuation words: 続き, 前回, 再開, 引き継ぎ, continue, resume, previous work
  • Known entity/project name: ClawHub, OpenClaw, Agent-OS, BOSS-memory-loop, etc.
  • Task requires user-specific/project-specific context
  • Implementation / modification / design / planning request
  • Ambiguous task likely depending on prior context

Skip conditions:

  • Generic factual Q&A
  • Small self-contained questions
  • Casual short exchange
  • Clearly answerable without prior context

Recall modes:

  • preflight_query: start-of-session only
  • entity_query: when named entities detected
  • continuation_query: for previous-session continuation
  • constraint_query: when advice depends on prior rules
  • pre_execution_query: immediately before execution

Stage 3: Pre-Execution Recall Gate

MANDATORY before:

  • file edits
  • code generation
  • architecture proposals
  • configuration changes
  • planning depending on prior project state
  • any meaningful change suggestion

Checks for:

  • prior constraints
  • unresolved issues
  • conflicting past decisions
  • project-specific conventions
  • safety-sensitive context

Memory Shaping

Never inject raw byterover results directly.

Pipeline:

  1. retrieve
  2. rank
  3. dedupe
  4. compress
  5. inject bounded digest

Hard limits:

  • max_memory_items: 5
  • max_digest_lines: 8
  • prefer recent + high-signal + tagged items

Status Tracking

Every recall records one of:

  • not_needed
  • queried_no_hits
  • queried_low_confidence
  • queried_success
  • query_failed

Scripts

intent-classifier.js

Classifies turn intent as one of:

  • generic_qa
  • casual
  • continuation
  • entity_reference
  • user_specific_context
  • implementation_request
  • design_request
  • execution_request

entity-detector.js

Detects known entities in user input:

  • Scans for known entity/project names
  • Maps aliases to canonical names
  • Returns matched entities for recall routing

session-preflight.sh

Runs lightweight recall at session start:

  • Fetches pinned facts, active project, unresolved items
  • Creates compact session_digest
  • Hard capped length

targeted-recall.sh

Runs targeted recall based on intent:

  • Takes intent, entities, session state
  • Chooses appropriate recall mode
  • Returns compressed digest

pre-execution-gate.sh

Runs before execution-like actions:

  • Checks for constraints, conflicts, safety issues
  • Returns go/no-go with relevant context

memory-compress.js

Compresses and dedupes raw memory:

  • Ranks by relevance and recency
  • Dedupes repeated items
  • Hard caps output size

writeback.sh

Writes high-signal info back to memory:

  • Only for important decisions/outcomes
  • Skips trivial chat and low-value text

Configuration

{
  "memory_policy": {
    "preflight_on_session_start": true,
    "preflight_depth": "light",
    "pre_execution_recall": true,
    "max_memory_items": 5,
    "max_digest_lines": 8,
    "trigger_query_if": [
      "mentions_known_project",
      "asks_to_continue_previous_work",
      "requires_user_specific_context",
      "requests_code_design_or_change",
      "contains_known_entity"
    ],
    "skip_query_if": [
      "generic_qa",
      "casual_chat",
      "self_contained_question"
    ]
  }
}

Logging

Structured logs for observability:

  • turn_id
  • session_id
  • intent
  • recall_trigger
  • recall_mode
  • recall_status
  • recall_item_count
  • injected_item_count
  • pre_execution_gate
  • elapsed_ms

Known Entities

Default entity list (expandable):

  • ClawHub
  • OpenClaw
  • Agent-OS
  • BOSS-memory-loop
  • ByteRover
  • MISO
  • Obsidian
  • Telegram

Continuation Triggers

Japanese: 続き, 前回, 再開, 引き継ぎ, 前の, さっきの English: continue, resume, previous, earlier, last time, back to

Success Criteria

  • Reliable recall when turn depends on context
  • Generic turns stay lightweight
  • Execution actions always get constraint check
  • Behavior inspectable in logs
  • No reliance on SKILL.md text alone

Version tags

harnessvk974hyzgbq5yshxa9dtv6n8whs8314p8latestvk974hyzgbq5yshxa9dtv6n8whs8314p8memoryvk974hyzgbq5yshxa9dtv6n8whs8314p8recallvk974hyzgbq5yshxa9dtv6n8whs8314p8