Skip to content

hermes: register_skill fix + CLI parity + canonical per-profile hooks + pack deploy #94

hermes: register_skill fix + CLI parity + canonical per-profile hooks + pack deploy

hermes: register_skill fix + CLI parity + canonical per-profile hooks + pack deploy #94

Workflow file for this run

name: hook-tests
# Tests for the Claude Code PreToolUse spec-gate hook (ADR-4). The hook makes
# Rule 3 (spec-before-code) mechanical, so it carries its own regression tests
# just like the gate scripts. See develop/validators/hooks/run-hook-tests.sh.
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
hook-tests:
name: spec-gate hook tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Run spec-gate hook tests
run: bash develop/validators/hooks/run-hook-tests.sh
# The plugin used to carry a committed second copy of this hook, so this
# job diffed the two and re-ran the suite against the copy. The mirror is
# gone (P3-T2b): the plugin's copy is generated from the file tested above,
# and build_plugin.py's audit asserts it lands byte-identical.
hook-tests-bash32:
name: spec-gate hook tests (bash 3.2 — macOS system shell)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# git, as well as python3: the TDD gate decides by reading the repository —
# is a test dirty, was the last commit a test-only "red" commit — so without
# git it (correctly) fails open, and its fixtures cannot build a repo to test
# against. The bash:3.2 image is Alpine and ships neither.
- name: Run the hook tests under bash 3.2
run: |
docker run --rm -v "$PWD":/sage -w /sage bash:3.2 sh -c '
apk add --no-cache python3 git >/dev/null &&
git config --global --add safe.directory /sage &&
bash develop/validators/hooks/run-hook-tests.sh
'