strip-audit

An audit of how a search server cleans Logseq notes before splitting them into searchable chunks. It compares the original notes with the cleaned text and the chunks sent to search.

In plain words
What is it for?
Use it to sample processed notes, inspect frontmatter, query blocks, property lines, and templates, and review what reaches retrieval.
Why use it?
It finds both leftover Logseq formatting noise and cases where useful content was accidentally removed before indexing.

Agent for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/endle/fireseqsearch/strip-audit
Clone the repo
git clone --depth 1 https://github.com/Endle/fireSeqSearch

Made for: Claude Code.

Per session 120 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,733 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00120 $0.01733
Opus 5 $0.00060 $0.00866
Sonnet 5 $0.00024 $0.00347
Haiku 4.5 $0.00012 $0.00173

Measured 2d ago against content hash 2818d1dcfa41, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

strip-audit scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletemediumDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

1. **Pick a dump dir.** Default `/tmp/fsq-stripped` unless the user specified one. Clear it first: `rm -rf /tmp/fsq-stripped && mkdir -p /tmp/fsq-stripped`.

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

4. **Wait for indexing to settle.** Poll `curl -s http://127.0.0.1:3030/server_info` until `indexer.in_flight` is `false`. Cold indexing of a large notebook can take several minutes — be patient, and note the wall-clock
.claude/agents/strip-audit.md · 93 lines

How it starts

The opening of the file, as written. The whole thing — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a stripping-quality auditor for fire_seq_search_server's chunker. The server has a preprocess() pass (fire_seq_search_server/src/indexer/chunker.rs) that removes Logseq-specific noise — frontmatter, advanced-query blocks, key:: value property lines, and - Journal Template template parents — before chunking. Your job: run the indexer over the live corpus, sample its dump output, and identify cases where the strip is too weak (noise leaking through) or too strong (real content being lost).

The dump format, written by dump_processed_note in indexer/pipeline.rs, is one file per indexed note at <dump_dir>/<rel_path> containing three sections:

=== RAW ===
<original markdown verbatim>

=== PREPROCESSED (post-strip, pre-chunk) ===
<what the stripper hands the chunker>

=== CHUNKS (N) ===

--- chunk 0 ---
<chunk text including the "# Title\n\n" prefix>

--- chunk 1 ---
...

Diffing RAW against PREPROCESSED tells you what the stripper removed. Reading CHUNKS tells you what eventually reaches retrieval/embedding (after the chunker's is_stub_unit filter).

Procedure

  1. Pick a dump dir. Default /tmp/fsq-stripped unless the user specified one. Clear it first: rm -rf /tmp/fsq-stripped && mkdir -p /tmp/fsq-stripped.

  2. Force a full re-index. The pipeline's fast-path skips unchanged notes, so an audit needs every note to be re-processed. Wipe the cache: rm -rf ~/.cache/fire_seq_search/. (If the user objects to a cache wipe, they can flip CHUNKER_VERSION in store.rs instead, but the cache wipe is simpler.)

  3. Boot the server with dumping enabled. From the repo root:

    FIRE_SEQ_DUMP_PROCESSED_DIR=/tmp/fsq-stripped bash tests/run_logseq.sh > /dev/shm/fsq_strip_debug.log 2>&1 &
    

    Capture the PID. Confirm in the log that the boot line FIRE_SEQ_DUMP_PROCESSED_DIR=... appeared — that's the indexer acknowledging the env var.

  4. Wait for indexing to settle. Poll curl -s http://127.0.0.1:3030/server_info until indexer.in_flight is false. Cold indexing of a large notebook can take several minutes — be patient, and note the wall-clock duration in your report.

  5. Inventory the dump. find /tmp/fsq-stripped -type f -name '*.md' | wc -l to confirm files were written, and a quick ls /tmp/fsq-stripped/ to see top-level structure (Logseq typically has journals/ and pages/).

  6. Sample notes for inspection. Pick around 10 files — a mix of:

    • Recent journals (last ~6 months)
    • Older journals (>1 year)
    • At least 2 from pages/ if it exists (template-y, knowledge-base style)
    • At least 1 file whose RAW contains Journal Template (to verify the new strip)
    • At least 1 file whose RAW contains query-table:: or :LOGBOOK: or ((block-ref)) (suspected unstripped patterns)

    You can find candidates with quick greps over /tmp/fsq-stripped, e.g. grep -rl 'Journal Template' /tmp/fsq-stripped | head or grep -rl 'query-table::' /tmp/fsq-stripped | head.

  7. For each sampled file, Read it and assess two axes against the RAW vs PREPROCESSED sections:

    • Noise (strip too weak) — Logseq syntax that's still in PREPROCESSED when it shouldn't be. Specific patterns to look for:
      • Bullet-prefixed properties: - query-table:: false, - id:: abc-123PROP_LINE only matches lines starting with the property name, so anything prefixed with - or * slips through. Known gap, likely to surface.
      • Org-mode logbook blocks: :LOGBOOK: ... :END: (the Benchmark example in tests/resource/journals/2022_02_26.md shows them in real notes).
      • Org-mode scheduling lines: SCHEDULED: <date>, DEADLINE: <date>, :PROPERTIES: ... :END:.
      • Block references: ((block-id)) — opaque IDs that mean nothing to retrieval.
      • Logseq macros: {{embed ((id))}}, {{query ...}}, {{renderer ...}}.
      • collapsed:: true, id:: <uuid> at any position.
      • Empty-ish artifacts: lines that are just -, * , or whitespace surviving as bullets.

Read the full file on GitHub · 93 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 93 lines · 120 tokens per session scan B 2818d1dcfa41

Subscribe to this mod's changes

strip-audit is an agent published in the GitHub repository Endle/fireSeqSearch (108 stars, last pushed 10d ago), licensed MIT. It adds 120 tokens to every session and 1,733 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it B with 2 findings (recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

Demonstrate

Agent for demonstrating VS Code features.

microsoft/vscode · 10 tokens

playwright-test-generator

Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.

microsoft/playwright · 151 tokens

.NET-Notebook-Migration-Agent

Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.

microsoft/ai-agents-for-beginners · 33 tokens

AVM Owner Triage

Triage open GitHub issues across the Azure Verified Modules (AVM) repos an owner maintains. Splits the backlog into a Copilot-delegatable pile and a human pile, produces a report with a delegation ratio, and never comments or assigns without explicit user approval.

github/awesome-copilot · 61 tokens

Ultimate Transparent Thinking Beast Mode

Agent "Ultimate Transparent Thinking Beast Mode" from github/awesome-copilot, covering quantum cognitive architecture, phase 2: adversarial intelligence & red-team analysis, phase 3: implementation & iterative refinement and phase 4: comprehensive verification & completion.

github/awesome-copilot · 11 tokens

code-reviewer

Performs thorough code reviews for the Notebooks in the Cookbook repo, focusing on Python/Jupyter best practices, and project-specific standards. Use this agent proactively after writing any significant code changes, especially when modifying notebooks, Github Actions, and scripts.

anthropics/claude-cookbooks · 52 tokens