chore: bump to v4.8.1 (session-start poll fallback fix) #33
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
| name: co-dialectic-ci | |
| on: | |
| push: | |
| paths: | |
| - 'plugins/co-dialectic/**' | |
| - '.github/workflows/co-dialectic-ci.yml' | |
| pull_request: | |
| paths: | |
| - 'plugins/co-dialectic/**' | |
| - '.github/workflows/co-dialectic-ci.yml' | |
| jobs: | |
| validate: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install Claude CLI | |
| run: npm install -g @anthropic-ai/claude-code | |
| - name: Plugin structure, JSON, SKILL.md, version consistency, marketplace sync | |
| run: bash test-plugin.sh | |
| - name: Full install smoke test (install.sh in temp HOME) | |
| run: bash test-plugin.sh --smoke-install | |
| - name: Fish gate Python syntax | |
| run: | | |
| python3 -m py_compile plugins/co-dialectic/fish/HOW.py | |
| python3 -m py_compile plugins/co-dialectic/fish/hooks/claude-code.py | |
| - name: Fish gate tier coverage (T0, T1, T2, T3) | |
| run: | | |
| echo '{"task":"list files","stakes":"T0","context":"safe read-only op"}' | \ | |
| python3 plugins/co-dialectic/fish/HOW.py - | \ | |
| python3 -c "import json,sys; d=json.load(sys.stdin); assert d.get('fired')==False or d.get('verdict') in ('PASS','SKIP','WARN'), f'T0 unexpected: {d}'" | |
| echo '{"task":"ci smoke test","stakes":"T1","context":"github actions"}' | \ | |
| python3 plugins/co-dialectic/fish/HOW.py - | \ | |
| python3 -c "import json,sys; d=json.load(sys.stdin); assert 'verdict' in d, f'T1 no verdict: {d}'" | |
| echo '{"task":"write shared config file","stakes":"T2","context":"shared state"}' | \ | |
| python3 plugins/co-dialectic/fish/HOW.py - | \ | |
| python3 -c "import json,sys; d=json.load(sys.stdin); assert 'verdict' in d, f'T2 no verdict: {d}'" | |
| echo '{"task":"deploy to production","stakes":"T3","context":"live system"}' | \ | |
| python3 plugins/co-dialectic/fish/HOW.py - | \ | |
| python3 -c "import json,sys; d=json.load(sys.stdin); assert 'verdict' in d, f'T3 no verdict: {d}'" | |
| env: | |
| ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} |