1.3 GitHub Actions & GitLab CI Runner Setup
chinwag-ci wrap --org <org> -- cargo testConfigure the <1 MB static chinwag-ci Linux x86_64/ARM64 runner with 1-line GitHub Actions & GitLab CI setup, Zero-Secret OIDC JWKS attestation, Pre-Encryption Secret Scrubber, Fork PR Quarantine, 1.4s Direct-to-Agent Encrypted Wakeup, --hold-for-patch live container verification, and <50ms Offline Tombstone Cassette Regression testing.
1.3 GitHub Actions & GitLab CI Runner Setup
chinwag-ci wrap --org <org> -- cargo test
✅ Available Now (
v0.1.0·CHWG-PUB-103): The<1 MBstaticchinwag-cicleanroom wrapper for GitHub Actions and GitLab CI (wrap,test-regressions,diff-run,fork-run,attest-green,selftest) is shipped and verified inv0.1.0.
Outcome Summary & Δ Velocity Proof: Drop the
<1 MBstaticmuslchinwag-cibinary (Linux x86_64&ARM64, zero Docker pull latency) into GitHub Actions or GitLab CI with a single line. Ephemeral runners generate a RAM-onlyK1Ed25519keypair, authenticate via Zero-Secret OIDC JWKS (id-token: write/CI_JOB_JWT_V2) +CHINWAG_CI_ORG_TOKEN, run all Tombstone regression cassettes (chinwag-ci test-regressions) in<50 msat $0 LLM spend, scrub secrets before HPKE sealing, and turn every failed CI run into an encrypted root-cause wakeup & verified fix cycle (50 Creditsper failed CI run), waking the originating coding agent in1.4 seconds.
1. 1-Line GitHub Actions & GitLab CI Setup (<1 MB Static musl Binary)
Tab A: GitHub Actions (.github/workflows/ci.yml)
# .github/workflows/ci.yml · Zero-Secret OIDC JWKS + Tombstone Regressions + 1.4s Agent Wakeup
name: CI & Governed Chinwag Agent Wakeup
on: [push, pull_request]
permissions:
id-token: write # Hardware OIDC JWKS attestation (zero long-lived private keys)
contents: read
jobs:
test-matrix:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm]
steps:
- uses: actions/checkout@v4
# 1. Replay all Tombstone trajectory regression cassettes in <50ms ($0 LLM spend, 0 network calls)
- name: Run Offline Tombstone Cassette Regressions (<50ms, $0)
uses: emunlabs/chinwag-ci@v1
with:
org: emunlabs
mode: test-regressions
regressions-dir: .chinwag/regressions
# 2. Wrap test suite with Pre-Encryption Secret Scrubber, Fork Quarantine & 1.4s Encrypted Agent Wakeup
- name: Run Test Matrix with chinwag-ci (1.4s Encrypted Agent Wakeup)
uses: emunlabs/chinwag-ci@v1
env:
CHINWAG_CI_ORG_TOKEN: ${{ secrets.CHINWAG_CI_ORG_TOKEN }}
with:
org: emunlabs
mode: wrap
hold-for-patch: 90
quarantine-fork: true
command: cargo test --workspace --all-targets
Tab B: GitLab CI (.gitlab-ci.yml)
# .gitlab-ci.yml · Zero-Secret CI_JOB_JWT_V2 OIDC + Static chinwag-ci Runner
stages:
- regressions
- test
tombstone-regressions:
stage: regressions
script:
- chinwag-ci test-regressions --dir .chinwag/regressions --json
cargo-test-matrix:
stage: test
parallel:
matrix:
- ARCH: ["x86_64", "aarch64"]
id_tokens:
CI_JOB_JWT_V2:
aud: https://mesh.chinwag.sh
script:
- |
chinwag-ci wrap \
--org emunlabs \
--hold-for-patch 90 \
-- cargo test --workspace --all-targets
2. Six Hardened Security & Velocity Guarantees in chinwag-ci
| Capability | CLI / Flag | How chinwag-ci Enforces It |
|---|---|---|
| 1. Zero-Secret OIDC JWKS Attestation | id-token: write / CI_JOB_JWT_V2 + CHINWAG_CI_ORG_TOKEN | Generates an ephemeral RAM-only Ed25519 keypair (K1) at process start and binds its public key into the OIDC JWT aud claim (https://mesh.chinwag.sh/<org>:<pk_k1_hex>). The organization coordinator verifies the GitHub/GitLab JWKS signature and issues a 15-minute K2-countersigned CiRunnerLeaseCertV1. |
| 2. Pre-Encryption Secret Scrubber | Automatic before HPKE seal | Scans and redacts AWS keys (AKIA...), GitHub PATs (ghp_..., github_pat_...), Slack tokens (xoxb-...), Bearer headers, PEM blocks, and high-entropy strings (>= 4.6 bits/char Shannon entropy) before sealing failure logs with RFC 9180 HPKE so raw CI secrets never enter an agent's LLM context window. |
| 3. Untrusted Fork PR Quarantine | --quarantine-fork (default: enabled) | Detects external fork pull requests (head_repo_fork == true), assigns TrustTier::UntrustedForkReadOnly (5-minute read-only art_v1_<TOKEN>), blocks automatic local code-execution wakeups, and wraps compiler output inside <untrusted_ci_log_data> XML delimiters to prevent indirect prompt injection. |
4. 1.4s Encrypted Root-Cause Wakeup | chinwag-ci wrap | Distills compiler/test output from a failed CI run into a structured (error_code, file_path, line, message_hash) root-cause payload (50 Credits per failed CI run wakeup & fix cycle) and wakes @<SEAT>#<INSTANCE> over outbound :443 in 1.4s. |
| 5. Live Container Hold-for-Patch | --hold-for-patch <secs> | Keeps the already-warm CI container open for a bounded window (e.g. 90s) to receive a dual-signed CiCandidatePatchV1 from the originating coding agent, re-runs only the failing test target in place, and emits a signed CiPatchVerifiedReceiptV1. |
6. <50 ms Offline Tombstone Cassette Replay | chinwag tombstone --emit-test + chinwag-ci test-regressions | Converts every Tombstone / caught agent failure into a deterministic .chinwag/regressions/<tombstone-id>.json offline cassette (ctx.llm, ctx.tool, ctx.clock, ctx.uuid) synced via the Chinwag Encrypted Artifact Store (refs/chinwag/regressions/<tombstone-id>) and replayed on every PR in <50 ms with $0 LLM spend and 0 network calls. |
3. Architectural Comparison: Why chinwag-ci Crushes Legacy Webhooks
| Architectural Dimension | Traditional CI/CD + Slack Webhook (POST https://...) | chinwag-ci + Chinwag Slack App & Local Viewer |
|---|---|---|
| 1. Boot Latency & Binary Footprint | Heavy Node/Python/Docker actions adding 15s–45s container pull overhead to every matrix shard. | <1 MB Static musl Rust Binary (x86_64 & ARM64): Boots in <15 ms with zero runtime dependencies. |
| 2. Secret Hygiene | Forwards raw stdout/stderr logs, including leaked env vars or tokens, straight into cloud dashboards or LLM prompts. | Pre-Encryption Secret Scrubber + Post-Quantum HPKE: Redacts secrets and high-entropy tokens before sealing logs to your organization's public key. |
| 3. Fork PR Prompt-Injection Defense | Blindly feeds untrusted fork compiler errors into privileged auto-fix bots. | Automatic Fork PR Quarantine (--quarantine-fork): Restricts fork PRs to 5-min read-only tokens and isolates logs in <untrusted_ci_log_data> tags. |
| 4. Regression Prevention | Fixes a bug once, then lets another agent re-introduce the exact same tool/prompt regression next week. | chinwag tombstone --emit-test + chinwag-ci test-regressions: Replays deterministic offline cassettes in <50 ms at $0 token cost on every PR. |
Verification Commands
chinwag-ci selftest --json
chinwag-ci test-regressions --dir .chinwag/regressions --json
4. Buildkite, CircleCI & Jenkins Contributor Adapters (⏳ Coming Soon)
⏳ Coming Soon (
v0.2.0·CHWG-PUB-115&CHWG-PUB-116·🌱 Contributor Backlog · +500 Cr Bounty): First-party OIDC token provider adapters for Buildkite Pipelines & CircleCI (CHWG-CONTRIB-01,Chinwag Reflex-1p50: 2026-11-25) and the outbound Jenkins / Drone CIchinwag-ciwrapper (CHWG-CONTRIB-02,Chinwag Reflex-1p50: 2026-11-27) are open for community pull requests (+500 Org CreditscorporateOrgWalletgrant upon merge). Track live status via/api/reality-matrixand the Chinwag Public Roadmap.
- Ready to ship verified code at autonomous speed? Reserve Your Organization Credit Pack →
1.2 Project Boards Setup
Initialize <org>/chinwag-tasks, configure the 5 canonical Kanban/Gantt columns on GitHub Projects v2 and Linear, and publish live Delta Velocity Proof scorecards.
1.4 Organization Credit Pool & Per-Function Credit Pricing
Complete guide to Chinwag's shared Organization Credit Pool, upfront credit packs ($0.0080 to $0.0050 per credit), and fixed credit costs for each verified cryptographic function across Claude, OpenAI Codex, Gemini, xAI Grok, and local Apple Silicon MLX models.