Skip to content

Add .gitignore

Add .gitignore #5

Workflow file for this run

name: dogfood
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
audit-self:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install requirements
run: |
python -m pip install --upgrade pip
pip install -r scripts/requirements.txt
- name: Build known-good fixture
run: python3 .github/workflows/build_fixture.py /tmp/fixture
- name: Gate 1 - constitution audit must pass
run: python3 scripts/audit_constitution.py --project-dir /tmp/fixture
- name: Gate 2 - SoW audit must pass
run: python3 scripts/audit_sow.py --project-dir /tmp/fixture
- name: Orchestrator init subcommand works
run: python3 scripts/orchestrator.py --project-dir /tmp/fixture2 init "test product idea"
- name: Orchestrator audit gate 1+2 must pass (full audit may have later-gate findings)
run: |
python3 scripts/orchestrator.py --project-dir /tmp/fixture gate 1 --json
python3 scripts/orchestrator.py --project-dir /tmp/fixture gate 2 --json
- name: Orchestrator audit produces valid JSON
run: |
python3 scripts/orchestrator.py --project-dir /tmp/fixture audit --json | python3 -c "
import sys, json
d = json.load(sys.stdin)
assert 'findings' in d, 'missing findings key'
print(f'OK: audit produced {len(d[\"findings\"])} findings')
"
- name: Orchestrator path resolution uses env var override
run: PRODUCT_INIT_SKILL_DIR=/tmp/fixture python3 scripts/orchestrator.py --project-dir /tmp/fixture gate 1 --json
- name: Runtime adapters exist and have valid frontmatter
run: |
python3 - <<'EOF'
import sys
from pathlib import Path
expected = ["claude-code.md", "codex.md", "openclaw.md"]
runtime_dir = Path("runtime")
missing = [f for f in expected if not (runtime_dir / f).exists()]
if missing:
print(f"FAIL: missing runtime adapters: {missing}")
sys.exit(1)
for f in expected:
text = (runtime_dir / f).read_text()
if not (text.startswith("---") and "runtime:" in text and "skill: product-init" in text):
print(f"FAIL: {f} invalid frontmatter")
sys.exit(1)
print(f"OK: all {len(expected)} runtime adapters valid")
EOF
- name: install.sh is executable
run: test -x install.sh || (echo "FAIL: install.sh not executable" && exit 1)

Check failure on line 75 in .github/workflows/dogfood.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/dogfood.yml

Invalid workflow file

You have an error in your yaml syntax on line 75
- name: Python syntax check on every audit script
run: |
set -euo pipefail
fail=0
while IFS= read -r p; do
python3 -c "import ast,sys; ast.parse(open(sys.argv[1]).read())" "$p" || fail=1
done < <(find scripts -type f -name '*.py')
if [ "$fail" -ne 0 ]; then
echo "syntax errors detected"
exit 1
fi