mirror of
https://github.com/ruvnet/RuView.git
synced 2026-08-26 10:05:54 +00:00
Add scripts/ci-guard.sh and a `guard` CI job that statically enforce the
project's honesty invariants so they cannot silently regress:
- no telemetry (.claude-flow/), build artifacts, lockfile, or scratch/probe
files committed;
- no debug / mock-probe / slop markers in source
(panic!("probe...), dbg!, println!("DEBUG, TODO(ai), LOREM IPSUM, ...);
- the SYNTHETIC evidence label present on every firmware provider README, and
the "never jamming" compliance disclaimer present in the root + firmware READMEs;
- no dishonest hardware-validation claims — honest negated / TODO(hw) /
build-only mentions are explicitly allowed (negation-aware);
- no stale monorepo crate/harness identifiers in the code/manifest surface.
Scans only git-tracked files under the tree, so it works both in-monorepo and
in the extracted standalone repo, and never trips on untracked local scratch or
target/. Documented in CONTRIBUTING.md; passes clean on the current tree.
Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_01WEXNqzs7UsfNFBcP5yW21p
63 lines
1.6 KiB
YAML
63 lines
1.6 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
concurrency:
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
guard:
|
|
name: Honesty / anti-slop guard
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Enforce honesty / anti-slop invariants
|
|
run: bash scripts/ci-guard.sh
|
|
|
|
rust:
|
|
name: Rust (test + lint + wasm)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install Rust toolchain
|
|
run: |
|
|
rustup toolchain install stable --profile minimal
|
|
rustup component add clippy rustfmt
|
|
rustup target add wasm32-unknown-unknown
|
|
- name: Format
|
|
run: cargo fmt --check
|
|
- name: Clippy
|
|
run: cargo clippy --all-targets -- -D warnings
|
|
- name: Test (crate + proof witness)
|
|
run: cargo test
|
|
- name: WASM leaf builds
|
|
run: cargo build --lib --target wasm32-unknown-unknown
|
|
|
|
c-core:
|
|
name: Firmware C core (host test)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build + test portable core
|
|
run: make -C firmware/core test
|
|
|
|
harness:
|
|
name: Harness (smoke)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
- name: Guidance runs dependency-free
|
|
run: node harness/bin/cli.js guidance --topic overview
|
|
- name: Install + unit tests
|
|
working-directory: harness
|
|
run: |
|
|
npm ci --ignore-scripts || npm install --ignore-scripts
|
|
npm test --if-present
|