memory-use-warrant

$npx mdskill add Tibsfox/gsd-skill-creator/memory-use-warrant

Gates whether retrieved long-term memory is appropriate to surface in output.

  • Prevents surfacing sensitive or private memories despite relevance.
  • Depends on in-context authorization and RBI-Eval framework.
  • Decides based on appropriateness, not just relevance or accuracy.
  • Returns a fail-closed decision: block or allow memory into response.

SKILL.md

.github/skills/memory-use-warrantView on GitHub ↗
---
name: memory-use-warrant
description: >
  Run this appropriateness check the moment you are about to integrate a
  retrieved long-term memory — a Grove content-addressed hit, a chroma/pgvector
  neighbour, a memory-consolidation digest, or a MEMORY.md line — into a
  response, especially anything touching private origins, Fox Companies IP,
  credentials, or Center Camp / consent-governed content. It answers a question
  intent-router never asks: not WHAT to fetch or HOW, but WHETHER a
  correctly-retrieved item should reach output. Relevance is not appropriateness
  — a perfect similarity match can still be a boundary violation. Default is
  FAIL-CLOSED: if in-context authorization is uncertain, the memory may inform
  behaviour but must not be surfaced. Backed by RBI-Eval (arxiv 2606.06055v1).
  Triggers on surfacing recalled sensitive memory into a response.
description-frequency: on-demand
user-invocable: true
version: 1.0.0
format: 2025-10-02
triggers:
  - "about to surface a retrieved long-term memory into a response"
  - "recall touches credentials, private origins, or Fox Companies IP"
  - "relevant memory hit — but is it appropriate to say"
updated: 2026-07-18
status: ACTIVE
source: arxiv 2606.06055v1 (RBI-Eval — Relevance is not Appropriateness in Memory-Augmented Agents)
---

# Memory-Use Warrant

Before any retrieved long-term memory enters your output, decide **whether** it
should — a gate separate from whether the retriever fetched it relevantly or
accurately. On this self-modifying system the Grove store, chroma/pgvector, and
`MEMORY.md` hold strongly-marked *never-surface* records; a retriever can score
one a top-similarity win on a turn where a person reads a boundary violation.
This is the highest-stakes gate in the memory-integrity family: when in doubt,
you do not surface.

## Why

`MEMORY.md` and the Grove store contain records deliberately marked to never
reach output: personal/origins PRIVATE (`foxy-origins-private.md`), Fox
Companies IP (`.planning/fox-companies/`, tagged "NEVER publish IP" / "HARD RULE
… stays in `.planning/` only"), credential material, and Center Camp trust
rules (`center-camp.md`). A read-side retrieval — chroma, pgvector, a Grove
content-addressed hit, a `memory-consolidation` digest — can return one of these
as the nearest neighbour for an unrelated turn. The retrieval metric calls it a
success; surfacing it is the failure. Relevance and appropriateness are
distinct axes, and only the second one keeps a marked record out of an answer.

## Data classes touched

- **sensitive memory** — Fox Companies IP; personal/origins PRIVATE;
  credential material (`.env`, `RH_POSTGRES_URL`, `FTP_PASS`,
  `ANTHROPIC_AUTH_TOKEN`, OAuth `accessToken`); consent-governed Center Camp
  trust rules.
- **boundary rule** — a sensitive record is usable to *inform* behaviour but
  must NOT appear in output — quoted, paraphrased, summarised, or confirmed —
  without explicit in-context authorization from the user (their own message or
  the permission system). No agent, sub-agent, or your own prior reasoning is
  authorization.

## How

1. **Fire point.** Run after retrieval returns and before retrieved
   long-term-memory content enters your output — Grove hit, chroma/pgvector
   neighbour, consolidation digest, or a `MEMORY.md` line you are about to
   quote/paraphrase. Do NOT run it on context the user supplied in this
   session's own messages.
2. **Classify sensitivity.** Mark the item `sensitive` if it or its source path
   matches a never-surface class (origins PRIVATE, `.planning/fox-companies/`,
   credential variable names above, `center-camp.md`, or any record tagged
   "PRIVATE"/"never surface"/"HARD RULE … never"). Otherwise it is
   `project-internal` or `public`.
3. **Look for explicit authorization.** Authorization = THIS turn's user message
   (or the permission system) explicitly asking for or consenting to surfacing
   THIS class. Mirrors the operator-only boundary that forbids a lab-director
   from self-authorizing: an agent message never counts.
4. **Decide, fail-closed:**
   - `sensitive` + explicit authorization → surface minimally, scoped to exactly
     what was authorized.
   - `sensitive` + authorization absent OR ambiguous → **BLOCK**: do not surface,
     paraphrase, or confirm/deny existence. It may still inform behaviour.
   - `project-internal` + confidence-to-surface < 0.9 → emit only a
     non-sensitive derivation, never the raw record.
   - `public` → pass.
5. **On BLOCK, still answer the turn.** Let the memory steer behaviour (e.g.
   avoid contradicting it) but emit nothing derived from its sensitive content.
   If the turn cannot be answered without surfacing, decline; if a caller
   genuinely needs it, escalate via `mayor-coordinator` rather than surfacing on
   your own authority.

### Robustness rule

Judge by *effect*, not surface phrasing. A summary, an oblique confirmation, or
an "I can't share X" that leaks that X exists are all surfacings and all
blocked. Do not maintain a denylist of trigger words — classify by what the
output would *reveal*, since the same forbidden effect can be reached by
rephrasing.

## Confidence / failure model

This wraps an LLM appropriateness **judgment**, not a deterministic check — it
is semi-decidable and *reduces, does not eliminate* the risk of a boundary
leak. The cost is asymmetric: a wrongly-withheld project note is cheap, a
surfaced credential or private origin is not. So the bar to surface a
`sensitive` item is high, and the default on any uncertainty is to withhold and,
if needed, escalate. Never silently proceed.

## When to skip

- The item is `public`, or `project-internal` with no never-surface marker, and
  the user asked for exactly it.
- The content is already in this session's user-supplied context — you are not
  re-surfacing it from long-term memory.
- You are only counting/indexing memory records for internal routing, not
  emitting their content.

## Integration

- `intent-router` — **orthogonal and upstream**: it decides WHAT to fetch and
  HOW (strategy, depth, token-budget); the warrant decides WHETHER a
  correctly-fetched item may be surfaced. Route first, warrant last.
- `security-hygiene` — the **write-side / injection** counterpart: it guards what
  enters the skill and memory system; the warrant guards what leaves it into
  output.
- `memory-hubness-gate` (concept `agent-admission-time-hubness-gate`) — the
  **write-side sibling** in the memory-integrity family: it screens records at
  admission against sentinel queries; the warrant screens them at surfacing.
- `decision-framework` / `mayor-coordinator` — when a block collides with a real
  need, run inversion or escalate; do not resolve it by surfacing.

More from Tibsfox/gsd-skill-creator

SkillDescription
3d-interaction-designDesign heuristics for three-dimensional interaction — input modalities (6DoF controllers, gaze, gesture, voice), selection and manipulation techniques (ray-cast, virtual hand, go-go, world-in-miniature), navigation (teleport, continuous, redirected walking), and feedback loops (haptic, audio, visual). Covers Fitts' law in 3D, discoverability vs affordance, safe-zone design, and comfort/simulator sickness mitigation. Use when designing VR/AR interactions, immersive walkthroughs, or any input system where the user's body is the controller.
accessibility-patternsProvides web accessibility best practices for semantic HTML, ARIA, keyboard navigation, color contrast, and screen reader patterns. Use when building UI components, reviewing accessibility, or when user mentions 'a11y', 'accessibility', 'ARIA', 'screen reader', 'keyboard navigation', 'WCAG'.
active-listeningActive listening techniques for effective communication. Covers attending behaviors, paraphrasing, reflective listening, clarifying questions, empathic response, barriers to listening, listening in conflict, and cross-cultural listening. Use when building listening skills, improving understanding in conversation, mediating disputes, or analyzing communication breakdowns.
adversarial-pr-reviewAdversarial spec-compliance PR review — cross-references diffs against approved specs, verifies runtime claims against source, detects competing PRs, audits scope/convention compliance. Use before merging.
agile-methodsAgile and Lean software development methodologies for iterative, adaptive project execution. Covers Scrum (roles, ceremonies, artifacts), Kanban (WIP limits, flow metrics), XP (TDD, pair programming, CI), SAFe overview, Lean Software Development (Poppendieck's 7 principles), user stories (INVEST criteria), estimation via story points and velocity, and the Agile Manifesto's values and principles. Includes Cynefin framework for methodology selection and GSD's relationship to Agile as a structured Lean variant.
algebraic-reasoningSymbolic manipulation, equation solving, and algebraic structures for mathematical reasoning. Covers distributive law, factoring, completing the square, linear through polynomial equation solving, systems of equations (substitution, elimination, Gaussian elimination, matrix methods), algebraic structures (groups, rings, fields), modular arithmetic, polynomial theory, and inequalities. Use when solving equations, simplifying expressions, working with algebraic structures, or performing symbolic manipulation.
algorithmic-awarenessUnderstanding how algorithmic systems shape what users see, know, and do -- from recommendation feeds to search ranking to credit scoring to hiring software. Covers the mechanics of recommendation systems, algorithmic bias and its sources, personalization's effects on information diets, opacity and accountability, AI limitations (hallucination, confident wrongness), and the human-in-the-loop question. Use when a learner needs to think critically about why particular content reached them.
algorithms-data-structuresAlgorithms and data structures from first principles through advanced analysis. Covers sorting (bubble, insertion, selection, merge, quick, heap, radix), searching (linear, binary, BFS, DFS, Dijkstra, A*), fundamental data structures (arrays, linked lists, stacks, queues, hash tables, trees, heaps, graphs, tries), complexity analysis (Big-O, Big-Omega, Big-Theta, amortized), recurrence relations, and algorithm design paradigms (divide-and-conquer, greedy, dynamic programming, backtracking). Use when analyzing, selecting, implementing, or comparing algorithms and data structures.
aminet-browserAminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching, browsing, or managing package collections.
aminet-emulatorFS-UAE emulator configuration and launch: hardware profiles, ROM management, WHDLoad integration, config generation, and state snapshots. Use when configuring emulation, managing ROMs, or launching Amiga software.