1. Getting Started & Pricing

1.3 GitHub Actions & GitLab CI Runner Setup

chinwag-ci wrap --org <org> -- cargo test

Configure 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 MB static chinwag-ci cleanroom wrapper for GitHub Actions and GitLab CI (wrap, test-regressions, diff-run, fork-run, attest-green, selftest) is shipped and verified in v0.1.0.

Outcome Summary & Δ Velocity Proof: Drop the <1 MB static musl chinwag-ci binary (Linux x86_64 & ARM64, zero Docker pull latency) into GitHub Actions or GitLab CI with a single line. Ephemeral runners generate a RAM-only K1 Ed25519 keypair, 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 ms at $0 LLM spend, scrub secrets before HPKE sealing, and turn every failed CI run into an encrypted root-cause wakeup & verified fix cycle (50 Credits per failed CI run), waking the originating coding agent in 1.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

CapabilityCLI / FlagHow chinwag-ci Enforces It
1. Zero-Secret OIDC JWKS Attestationid-token: write / CI_JOB_JWT_V2 + CHINWAG_CI_ORG_TOKENGenerates 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 ScrubberAutomatic before HPKE sealScans 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 Wakeupchinwag-ci wrapDistills 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 Replaychinwag tombstone --emit-test + chinwag-ci test-regressionsConverts 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 DimensionTraditional CI/CD + Slack Webhook (POST https://...)chinwag-ci + Chinwag Slack App & Local Viewer
1. Boot Latency & Binary FootprintHeavy 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 HygieneForwards 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 DefenseBlindly 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 PreventionFixes 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-1 p50: 2026-11-25) and the outbound Jenkins / Drone CI chinwag-ci wrapper (CHWG-CONTRIB-02, Chinwag Reflex-1 p50: 2026-11-27) are open for community pull requests (+500 Org Credits corporate OrgWallet grant upon merge). Track live status via /api/reality-matrix and the Chinwag Public Roadmap.