fix(compression): mark pruned skill_view summaries (#32106) - #32375
fix(compression): mark pruned skill_view summaries (#32106)#32375LeonSGP43 wants to merge 1 commit into
Conversation
|
Hi @LeonSGP43, great work on this. I just left a note on #32562 proposing we merge our approaches: your tests + my prompt_builder P1 rule = a complete P0+P1 fix for #32106.> |
…coverage (NousResearch#32106) - TestToolResultSummaries: skill_view emits [SKILL_PRUNED], skills_list/skill_manage remain metadata-only - TestGuidanceConstants: SKILLS_GUIDANCE includes ## Skill Safety Rule with reload instruction - Credits: test patterns from LeonSGP43 (PR NousResearch#32375), adapted for merged PR
|
Hey @LeonSGP43 — I've incorporated your test patterns from #32375 into my PR #32562 (commit b7aaf2a), with full credit in the commit message. The combined PR now covers both:
Since #32562 now supersedes the test coverage from #32375, would you be comfortable with closing #32375? Your contribution is credited in the merged commit. If you have any concerns, happy to adjust! |
|
Thanks for the focused P0 fix. Current The added helper-level tests directly cover the changed summary contract. The helper and test module have moved since the PR branch, but the current implementation retains the same focused integration point, so salvage should be localized. Automated hermes-sweeper review. |
…tected prune, real-compress survival 21 tests pinning the salvaged #44166 behavior: - marker emit + extractor round trip (patterns adapted from PR #32375 by @LeonSGP43, with credit) - no-duplicate re-injection when the canonical marker survived (the original PR's presence-check defect) - Phase-1 protection for just-loaded / user-referenced skills, and the Pass-4 pressure override that keeps #61932 fixed - deterministic marker survival through a REAL compress() with a mocked aux LLM: drop → re-injected, keep → not duplicated, static-fallback path, iterative re-compression via rehydrated handoff - markers never classify as handoff content (classify_summary_content / _strip_context_summary_handoff_message untouched) - SKILLS_GUIDANCE Skill Safety Rule renders with real newlines
…tected prune, real-compress survival 21 tests pinning the salvaged #44166 behavior: - marker emit + extractor round trip (patterns adapted from PR #32375 by @LeonSGP43, with credit) - no-duplicate re-injection when the canonical marker survived (the original PR's presence-check defect) - Phase-1 protection for just-loaded / user-referenced skills, and the Pass-4 pressure override that keeps #61932 fixed - deterministic marker survival through a REAL compress() with a mocked aux LLM: drop → re-injected, keep → not duplicated, static-fallback path, iterative re-compression via rehydrated handoff - markers never classify as handoff content (classify_summary_content / _strip_context_summary_handoff_message untouched) - SKILLS_GUIDANCE Skill Safety Rule renders with real newlines
…tected prune, real-compress survival 21 tests pinning the salvaged #44166 behavior: - marker emit + extractor round trip (patterns adapted from PR #32375 by @LeonSGP43, with credit) - no-duplicate re-injection when the canonical marker survived (the original PR's presence-check defect) - Phase-1 protection for just-loaded / user-referenced skills, and the Pass-4 pressure override that keeps #61932 fixed - deterministic marker survival through a REAL compress() with a mocked aux LLM: drop → re-injected, keep → not duplicated, static-fallback path, iterative re-compression via rehydrated handoff - markers never classify as handoff content (classify_summary_content / _strip_context_summary_handoff_message untouched) - SKILLS_GUIDANCE Skill Safety Rule renders with real newlines
…tected prune, real-compress survival 21 tests pinning the salvaged #44166 behavior: - marker emit + extractor round trip (patterns adapted from PR #32375 by @LeonSGP43, with credit) - no-duplicate re-injection when the canonical marker survived (the original PR's presence-check defect) - Phase-1 protection for just-loaded / user-referenced skills, and the Pass-4 pressure override that keeps #61932 fixed - deterministic marker survival through a REAL compress() with a mocked aux LLM: drop → re-injected, keep → not duplicated, static-fallback path, iterative re-compression via rehydrated handoff - markers never classify as handoff content (classify_summary_content / _strip_context_summary_handoff_message untouched) - SKILLS_GUIDANCE Skill Safety Rule renders with real newlines
…tected prune, real-compress survival 21 tests pinning the salvaged NousResearch#44166 behavior: - marker emit + extractor round trip (patterns adapted from PR NousResearch#32375 by @LeonSGP43, with credit) - no-duplicate re-injection when the canonical marker survived (the original PR's presence-check defect) - Phase-1 protection for just-loaded / user-referenced skills, and the Pass-4 pressure override that keeps NousResearch#61932 fixed - deterministic marker survival through a REAL compress() with a mocked aux LLM: drop → re-injected, keep → not duplicated, static-fallback path, iterative re-compression via rehydrated handoff - markers never classify as handoff content (classify_summary_content / _strip_context_summary_handoff_message untouched) - SKILLS_GUIDANCE Skill Safety Rule renders with real newlines
Summary
skill_viewtool results with an explicit[SKILL_PRUNED]reload markerskills_listandskill_managesummaries metadata-onlyskill_viewmarker behaviorTesting
uv run --frozen pytest -q -o addopts= tests/agent/test_context_compressor.py -k 'skill_view_summary_marks_pruned_content or other_skill_tool_summaries_remain_metadata_only'\n-uv run --frozen ruff check agent/context_compressor.py tests/agent/test_context_compressor.py\n-git diff --check