pablof7z / pablof7z/proactive-context

recall dump: <mosaico> and <tenex-edge> harness blocks not stripped

Open Beginner friendly
#109 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

What's wrong

The 2026-07-21 recall corpus (pc recall dump) still contains raw <mosaico>...</mosaico> and <tenex-edge>...</tenex-edge> harness blocks inside user-role messages, e.g.:

<mosaico>
  <channel ref="f7z.io">
    <message from="@Pablo" id="c7487f">@slate...
<tenex-edge>
  <channel ref="aaa.tenex-edge">
    <message from="@laptop (tenex-edge)" id="...">mgmt error: unsupported...

These are harness/relay artifacts, not user-authored text, and should be filtered like the other wrapper types.

Root cause (confirmed in code)

In src/recall/extract.rs:

  • WRAPPER_PREFIXES (line 14) — the list used to detect and drop whole wrapper-only messages — has no entry for <mosaico or <tenex-edge.
  • inline_removers() (line 76-86) — the list used to strip embedded wrapper blocks out of otherwise-human messages — only covers system-reminder, local-command-[a-z]+, bash-[a-z]+, command-[a-z]+, user-prompt-submit-hook, post-tool-use-hook, pre-tool-use-hook, function_results?, task-notification. mosaico and tenex-edge are absent from both lists.

Also missing: the "UserPromptSubmit hook success: ..." prefix format (as distinct from the <user-prompt-submit-hook> XML tag) doesn't match anything in either list.

Impact

A stratified 300-message sample of the frozen dump found <mosaico>/<tenex-edge> wrapper content in ~11% of user messages (concentrated on the laptop host, ~13.7% there vs 6-7% elsewhere), and roughly 15% of messages mix real human text with an unstripped wrapper block in the same message. Any consumer relying on --clean dump output to isolate human-authored utterances gets contaminated with relayed/mechanical content for these two tag families.

Fix

Add mosaico and tenex-edge to inline_removers()'s tag-name list (same lazy <X>...</X> removal pattern already used for the other tag families), and add <mosaico / <tenex-edge to WRAPPER_PREFIXES for the whole-message-is-only-a-wrapper case. Consider a prefix match for "UserPromptSubmit hook success:" and equivalent hook-success text forms as well.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in src/recall/extract.rs by reading WRAPPER_PREFIXES and inline_removers(). Update the wrapper handling for mosaico, tenex-edge, and the UserPromptSubmit hook success prefix, then verify that whole-wrapper messages are dropped and embedded blocks are removed from mixed user messages.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
82/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.