Skip to content

review: admission PASS — light-kanban-worker admitted via review-loop… #24

review: admission PASS — light-kanban-worker admitted via review-loop…

review: admission PASS — light-kanban-worker admitted via review-loop… #24

Workflow file for this run

name: collection-quality
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
quality:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Run collection and package checks (cross-platform python)
shell: bash
run: |
set -euo pipefail
python -m unittest discover -s tests -p "test_*.py"
python -m compileall -q skills/learn-anything skills/manuscript-ops skills/light-kanban-worker/tests tests/test_collection_contract.py
for f in \
skills/ask-light/tests/test_ask_light_contract.py \
skills/project-init/tests/test_project_init_contract.py \
skills/project-init/tests/test_project_init_behavior.py \
skills/recap/tests/test_recap_contract.py \
skills/recap/tests/test_recap_output_contract.py \
skills/language-learning/tests/test_language_learning_contract.py \
skills/light-kanban-worker/tests/test_light_kanban_worker_contract.py \
skills/light-kanban-worker/tests/test_light_kanban_worker_behavior.py \
skills/review-loop/tests/review_protocol_helpers.py \
skills/review-loop/tests/test_agent_skill_profile_contract.py \
skills/review-loop/tests/test_agent_skill_profile_behavior.py \
skills/review-loop/tests/test_generic_profile_contract.py \
skills/review-loop/tests/test_generic_profile_behavior.py \
skills/review-loop/tests/test_manuscript_profile_contract.py \
skills/review-loop/tests/test_manuscript_profile_behavior.py \
skills/review-loop/tests/test_software_profile_contract.py \
skills/review-loop/tests/test_software_profile_behavior.py \
skills/review-loop/tests/test_specification_profile_contract.py \
skills/review-loop/tests/test_specification_profile_behavior.py \
; do
python "$f"
done
- name: Run ask-light scanner behavior (requires pwsh)
shell: bash
run: |
set -euo pipefail
if command -v pwsh >/dev/null 2>&1; then
python skills/ask-light/tests/test_ask_light_behavior.py
else
echo "pwsh not available; ask-light behavior suite skipped (structural contract still enforced)"
fi
- name: Retired package boundary
shell: bash
run: |
set -euo pipefail
hits=$(grep -rn --include="*" -E "project-workflow|to-manuscript-spec" skills/ || true)
if [ -n "$hits" ]; then
echo "Retired package references remain under skills/:"
echo "$hits"
exit 1
fi
- name: No PowerShell test files remain
shell: bash
run: |
set -euo pipefail
count=$(find . -path "*/tests/*.ps1" -not -path "./.git/*" | wc -l | tr -d " ")
if [ "$count" -ne 0 ]; then
echo "PowerShell test files still present: $count"
find . -path "*/tests/*.ps1" -not -path "./.git/*"
exit 1
fi