feat(agentic-shell): freeze task object model + risk-based approval contract #1
Workflow file for this run
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: agentic-shell | |
| on: | |
| pull_request: | |
| paths: | |
| - 'schemas/agentic-task.schema.json' | |
| - 'schemas/agentic-workset.schema.json' | |
| - 'schemas/agentic-evidence-packet.schema.json' | |
| - 'schemas/agentic-recommended-action.schema.json' | |
| - 'examples/agentic-shell/**' | |
| - 'scripts/validate_agentic_shell.py' | |
| - '.github/workflows/agentic-shell.yml' | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'schemas/agentic-task.schema.json' | |
| - 'schemas/agentic-workset.schema.json' | |
| - 'schemas/agentic-evidence-packet.schema.json' | |
| - 'schemas/agentic-recommended-action.schema.json' | |
| - 'examples/agentic-shell/**' | |
| - 'scripts/validate_agentic_shell.py' | |
| - '.github/workflows/agentic-shell.yml' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| validate: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - run: python -m pip install jsonschema | |
| - name: Validate positive examples | |
| run: python scripts/validate_agentic_shell.py | |
| - name: Assert high-risk-without-approval fixture fails (approval model bites) | |
| run: | | |
| if python scripts/validate_agentic_shell.py \ | |
| examples/agentic-shell/negative/agentic-recommended-action.high-risk-no-approval.fail.json; then | |
| echo 'negative fixture unexpectedly passed: high-risk action without approval' | |
| exit 1 | |
| fi | |
| - name: Assert waiting-for-approval-without-requirements fixture fails | |
| run: | | |
| if python scripts/validate_agentic_shell.py \ | |
| examples/agentic-shell/negative/agentic-task.waiting-approval-empty.fail.json; then | |
| echo 'negative fixture unexpectedly passed: waiting_for_approval without approvalRequirements' | |
| exit 1 | |
| fi |