Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Run syn verify on every pull request so a team’s AI-written knowledge fails the build if it was silently corrupted. This turns the v1.0 headline (syn verify) from a local command into a shared gate.


Quick start

Add a workflow that runs the action against your Synapse workspace:

# .github/workflows/synapse.yml
name: synapse
on: [pull_request]

jobs:
  verify:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: romulofebasi/synapse@v1
        with:
          version: '1.0.0'            # pin it: never float a gate to latest
          working-directory: 'brain'  # your Synapse workspace
          args: '--rebuild'           # diffoscope-style: names every diverging fact

On every PR the job installs the pinned syn, runs syn verify --rebuild in your workspace, writes the report to the job summary, and fails closed: a non-zero exit (a diverging fact, a broken hash-chain, a tampered index) breaks the build. A clean workspace passes.

Inputs

InputDefaultWhat it does
version1.0.0Synapse release to install (downloaded from synapse-releases). Pin it: a CI gate must be reproducible.
working-directory.Path to the Synapse workspace to verify.
args--rebuildFlags for syn verify. Use --rebuild to name every diverging fact, add --deep for replay-determinism, or --since <witness> for the offline append-only proof.

What it proves

syn verify --rebuild checks the index is a bit-for-bit rebuild of your Markdown, the audit hash-chain + signed checkpoint are intact, and no fact was silently overwritten, and on a mismatch it names the exact diverging fact. See docs/PROVABILITY.md for the full guarantee and its honest ceiling, and docs/COMMANDS.md for the syn verify surface.

Notes

  • The action installs a prebuilt syn for the runner’s OS/arch from the public synapse-releases repo; supported runners: Linux (x64/arm64), macOS (arm64), Windows (x64).
  • Pin @v1 (or a tag) on the action and pin version: on the input: both, so the gate can’t drift under you.
  • This composes with the multi-channel install work (Homebrew / cargo-binstall); when a stable channel lands, the install step simplifies.