test(process): add contract-test suite for step-file workflows#178
Merged
Conversation
Add tests/process/ — structural/contract tests for the markdown step-file workflows under _ai-memory/pov/workflows/ and the aim-model-dispatch sub-workflows. These workflows have no backing executable, so the suite validates their structural contracts rather than runtime behavior: - frontmatter schema (name/description/firstStep) - step-chain link resolution (firstStep -> nextStepFile; no dangling, cycle-guarded) - WORKFLOW-MAP routing entries resolve, with a cross-check against silent drops - embedded-procedure skills expose a valid SKILL.md - corpus-size sentinel guarding against silently-empty discovery Pure filesystem assertions (stdlib + PyYAML); no src import, no live services. Registered under a `process` pytest marker. INDEX.md documents coverage for all 30 processes (28 tested, 2 documented non-feasible).
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.
Description
Adds
tests/process/— a structural/contract test suite for the step-file workflows under_ai-memory/pov/workflows/and theaim-model-dispatchsub-workflows.These workflows are defined entirely in markdown (
workflow.md+ step files, no backing executable), so the suite validates their contracts rather than runtime behavior — the load-and-assert style used for DAG-integrity testing. No workflow or source files are modified; the change is purely additive test coverage.Related Issue
Completes test coverage for the skill-script externalization series (merged in #163–#170) by adding process-level contract tests for the step-file workflows. No specific issue to auto-close.
Fixes #
Type of Change
Changes Made
tests/process/with contract tests parametrized across all 26workflow.mdfiles (both workflow roots) and 211 step filesconftest.py: stdlib frontmatter parsing + step-chain walker, repo-root-anchored discovery (CWD-independent)processpytest marker inpyproject.tomltests/process/INDEX.md: coverage map for all 30 processesTesting
Test Environment
Test Checklist
pytest tests/)Test Cases Covered
workflow.mdhasname/description/firstStep; every step file hasname/descriptionfirstStepand eachnextStepFileresolve to a real file (no dangling references, cycle-guarded); terminal steps skip explicitlyWORKFLOW-MAP.mdrouting entry resolves to a realworkflow.md, with a cross-check so a malformed entry cannot silently drop from validationaim-agent-dispatch,aim-agent-lifecycle,aim-best-practices-researcherexpose a validSKILL.mdResult:
pytest tests/process/ -m process→ 691 passed, 78 skipped.black/ruff/isortclean.Documentation
tests/process/INDEX.mddocuments coverage — 28 processes tested;first-breathandmodel-dispatch/claude-nativedocumented as non-feasible (open-ended dialogue / reference doc, no step chain)Breaking Changes
Security Considerations
srcimport, no live services requiredPerformance Impact
Deployment Notes
Checklist