Skip to content

fix(tests): isolate pytest discovery and loader tests from global con… - #303

Open
mgarguk wants to merge 1 commit into
ARPAHLS:mainfrom
mgarguk:fix/isolate-pytest-discovery-tests
Open

fix(tests): isolate pytest discovery and loader tests from global con…#303
mgarguk wants to merge 1 commit into
ARPAHLS:mainfrom
mgarguk:fix/isolate-pytest-discovery-tests

Conversation

@mgarguk

@mgarguk mgarguk commented Aug 19, 2026

Copy link
Copy Markdown

…fig (fixes #302)

Description

Type of Change

  • New Skill — new registry bundle under skills/
  • Skill Upgrade — changes to an existing skill under skills/
  • Bug Fix — incorrect runtime or framework behavior
  • Documentation — docs, README, CONTRIBUTING only
  • Framework Featureskillware/core/ loader, env, adapters
  • CLIskillware/cli.py, docs/usage/cli.md
  • Examplesexamples/*.py, agent loops, examples/README.md
  • Packaging — PyPI wheel, pyproject.toml, MANIFEST.in
  • RFC / meta — templates, labels, CI, or large design doc

Checklist (all PRs)

  • Linked GitHub issue (Fixes #… or Refs #…)
  • Scope matches the issue — no unrelated refactors
  • python -m black --check . and flake8 pass locally (or CI-equivalent subset)
  • pytest skills/ and pytest tests/ pass locally when relevant
  • CHANGELOG.md updated under [Unreleased] when user-visible behavior changes
  • examples/README.md updated if this PR adds, renames, or removes a runnable script
  • Ran pytest tests/test_registry_docs.py when skills, examples index, or agent-loops matrix changed

New or updated skill

Skip unless this PR adds or changes files under skills/.

Bundle and metadata

  • Skill at skills/<category>/<skill_name>/ (from templates/python_skill/ or equivalent)
  • manifest.yaml: name (full ID), version, description, parameters, constitution, real issuer
  • Optional: short_description, issuer.github, issuer.org, requirements, env_vars

Logic, cognition, tests

  • Deterministic skill.py (no ad-hoc LLM-generated execution paths)
  • instructions.md explains when and how to use the skill
  • card.json issuer matches manifest when present
  • test_skill.py covers execution and schema expectations
  • SkillLoader.load_skill("<category>/<skill_name>") succeeds (or deps documented)

Documentation and catalog

  • docs/skills/<skill_name>.md and row in docs/skills/README.md
  • Usage Examples for Gemini, Claude, OpenAI, DeepSeek, Ollama per skill usage template

Constitution and safety (skills only)

Related Issues

@rosspeili

rosspeili commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Thanks for picking up #302 @mgarguk / @factictionary, the approach matches what we already do elsewhere in test_discovery.py and fixes real local/CI drift when a global config.yaml exists.

Before we can merge, please:

  1. Claim the issue, add a short comment on [Bug]: Discovery tests fail when global config.yaml exists — isolate pytest from merged config #302 that you’re working on it (helps avoid duplicate PRs).
  2. Fill in the PR template, check Bug Fix, add 2–3 sentences under Description (problem + fix), and tick the checklist items you’ve done (pytest tests/test_discovery.py tests/test_loader.py, black/flake8 if run).
  3. Confirm authorship, the commit is authored as Factictionary while the PR is from @mgarguk; please confirm that’s expected (eg. agent co-author) and that you stand behind the change. Please read our contributing guide and ai native workflow md before opening PRs.

Short CHANGELOG entry woudl be also good. We may follow up with a shared conftest fixture in a later PR, but this is fine to merge once the above is addressed.

Thanks for contributing! <3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Discovery tests fail when global config.yaml exists — isolate pytest from merged config

3 participants