fix(tests): skip xurl article-ingestion test when the skill file is missing - #4
Merged
Merged
Conversation
…issing The test reads skills/social-media/xurl/SKILL.md directly and fails with FileNotFoundError when the file is absent. This fork ships without the social-media skill category (disabled in local config via hermes-skills-toggle), so the test always fails on this checkout. Replace the unconditional read with a module-level pytest.mark.skipif that no-ops the whole test when the skill file is missing, with a clear reason in the skip message. When the skill is restored (e.g. by reenabling the social-media category, or via an upstream merge), the test will re-engage automatically — no follow-up needed. Failing test before the fix (confirmed locally + on CI run NousResearch#18): - tests/skills/test_xurl_article_ingestion_docs.py ::test_xurl_article_ingestion_uses_raw_api_mode (FileNotFoundError) Local verification: - Before: 1 failed (FileNotFoundError) - After: 1 skipped (reason='xurl skill not present ...') Out of scope (separate PRs, in flight): - The 4 brand-dependent CLI tests (fix/tests-accept-mercury-brand). - The MatrixAdapter fatal-status harness bug (fix/matrix-sync-fatal-status-harness).
🔎 Lint report:
|
| Rule | Count |
|---|---|
unresolved-import |
1 |
First entries
tests/skills/test_xurl_article_ingestion_docs.py:1: [unresolved-import] unresolved-import: Cannot resolve imported module `pytest`
✅ Fixed issues: none
Unchanged: 5119 pre-existing issues carried over.
Diagnostics are surfaced as warnings — this check never fails the build.
Spaceman-Spiffy
pushed a commit
that referenced
this pull request
Jun 11, 2026
…eSessionPage (NousResearch#43487) When auto-compression rotates the session tip (old #4 → new NousResearch#5), the incoming page carries the new tip but the previous list still holds the old one. The old tip's id differs from the new tip's id, so the existing id-only dedup in mergeSessionPage() preserves both as separate sidebar rows. Add lineage-level dedup: build a set of incoming lineage keys (`_lineage_root_id ?? id`) and filter survivors whose lineage key matches any incoming row. This mirrors the existing sessionPinId() logic used for pin stability. Fixes NousResearch#43483
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tests/skills/test_xurl_article_ingestion_docs.py::test_xurl_article_ingestion_uses_raw_api_modereadsskills/social-media/xurl/SKILL.mddirectly viaPath.read_text(). This fork ships without thesocial-mediaskill category (disabled in local config viahermes-skills-toggle), so the file is absent and the test always fails withFileNotFoundError.Replace the unconditional read with a module-level
pytest.mark.skipifthat no-ops the whole test when the skill file is missing, with a clear reason in the skip message. When the skill is restored (e.g. by reenabling the social-media category, or via an upstream merge), the test re-engages automatically — no follow-up needed.Why skip, not remove
Removing the test would lose the safety net: if/when the xurl skill lands back in this fork (via upstream re-sync, category re-enable, or local re-installation), the test would need to be re-added manually to catch the regression the original commit was guarding. A conditional skip keeps the test on disk, dormant, and ready.
Failing test before the fix (confirmed locally + on CI run NousResearch#18)
Local verification
(Was
1 failed in 0.30s; now1 skipped in 0.01s— CI sees this as a clean skip, not a failure.)Out of scope (separate PRs, in flight)
fix/tests-accept-mercury-brand).MatrixAdapterfatal-status harness bug (PR fix(tests): set self.platform and _fatal_error_handler in matrix __new__ harness #3, branchfix/matrix-sync-fatal-status-harness).Nix Lockfile Fixworkflow failure (missingAPP_ID/APP_PRIVATE_KEYrepo secrets — settings change, not code).