From e921bc76f14265d37c6ccbb3c84b70f8fd7c9661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=20Randall=20Havens=20=E2=96=B3=20The=20Empathic=20Tec?= =?UTF-8?q?hnologist?= Date: Fri, 13 Feb 2026 22:25:35 -0600 Subject: [PATCH] feat(ci): add coherence-check workflow - runs every 4 hours --- .github/workflows/coherence.yml | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/coherence.yml diff --git a/.github/workflows/coherence.yml b/.github/workflows/coherence.yml new file mode 100644 index 0000000..ae27eb2 --- /dev/null +++ b/.github/workflows/coherence.yml @@ -0,0 +1,48 @@ +name: Coherence Check + +on: + schedule: + - cron: '0 */4 * * *' # Every 4 hours + workflow_dispatch: # Manual trigger + push: + branches: + - main + paths: + - 'public/fieldnotes/**' + - 'tools/**' + +jobs: + coherence: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - name: Run coherence checks + run: | + echo "=== Coherence Check Started ===" + date + + echo "" + echo "=== Checking Frontmatter ===" + python3 tools/coherence/check-frontmatter.py public/fieldnotes/ || true + + echo "" + echo "=== Checking Metadata ===" + python3 tools/coherence/check-metadata.py public/fieldnotes/ || true + + echo "" + echo "=== Checking Links ===" + python3 tools/coherence/check-links.py public/fieldnotes/ || true + + - name: Generate Report + if: always() + run: | + echo "=== Coherence Report ===" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "Checks completed at: $(date)" >> $GITHUB_STEP_SUMMARY