Observation folding makes small models write placeholders like [URL obtido em obs_2]
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start by reading the observation-folding and verify-gate code, then trace how folded observations are exposed when mem is unavailable. Reproduce the collect-then-write failure with the reported pipeline and model, and check the three related issues (#24, #25, and #27). Done means choosing and implementing a behavior that lets the model recover needed values, then confirming the verify gate accepts the resulting output.
Written by the indexing model from the issue text.
Description
Problem
With Rule 5 (K=2 observation folding), a small model that needs to copy data from earlier tool outputs into a later write sees only tombstones for older observations. In a pipeline run (searcher skill, ollama/gemma4:e4b), after several yt-channel/yt-search calls the model wrote:
arquitetura | [Título do vídeo sobre arquitetura geral] | [URL obtido em obs_2] | [Visualizações de obs_2]
It referenced obs_N as if the content were still visible, instead of running mem recall obs_N (it never did, across 3 gate failures) or re-running the search. The verify gate (youtube.com/watch count + oEmbed check) correctly rejected it, but the stage ended after 3 consecutive gate failures with no result.
Why it matters
Folding is correct for token economy, but the tombstone text use mem recall obs_3 to expand is not enough for a 9B model that is mid-way through a collect-then-write task, and mem was not even enabled for that skill, so recall was impossible.
Ideas (decision left to the implementer)
- When a verify gate fails and the written file contains
obs_\d+/ bracketed placeholders, include a gate hint to re-run the tool and copy the value immediately. - Make the fold tombstone aware of whether
memis enabled; if not, either keep the last N observations unfolded for that session or state that recall is unavailable. - Keep observations unfolded while the model has not yet called a write/
donecommand that consumes them (task-phase aware folding). - Document the pattern: for collect-then-write tasks, use a tool that persists results itself (e.g. an append-to-file tool) instead of relying on the model to carry values across turns.
Related: #24, #25.
- Dominant language
- Python
- Stars
- 3
- Forks
- 1
- Avg merge
- 52m
- Merged PRs (30d)
- 166
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from igormcsouza/tether
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
igormcsouza/tether#278 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
igormcsouza/tether#269 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 52/100
igormcsouza/tether#280 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 49/100
igormcsouza/tether#279 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
igormcsouza/tether#273 ·
Maintainers usually reply within 1 day
All issues in igormcsouza/tether
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 91/100
marimo-team/marimo#11768 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
btclib-org/btclib-node#2358 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 87/100
Maintainers usually reply within 7 days
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
MTSWebServices/RecTools#330 ·