{"id":47115437,"url":"https://github.com/pulseengine/rivet","last_synced_at":"2026-05-22T06:17:13.057Z","repository":{"id":342965293,"uuid":"1175503867","full_name":"pulseengine/rivet","owner":"pulseengine","description":"Rivet — SDLC traceability for safety-critical systems. Schema-driven artifact management, validation, and lifecycle linking. Part of the PulseEngine toolchain.","archived":false,"fork":false,"pushed_at":"2026-04-20T05:45:28.000Z","size":3482,"stargazers_count":2,"open_issues_count":9,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-20T07:34:43.318Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pulseengine.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-07T19:55:51.000Z","updated_at":"2026-04-20T05:39:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pulseengine/rivet","commit_stats":null,"previous_names":["pulseengine/rivet"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/pulseengine/rivet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulseengine%2Frivet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulseengine%2Frivet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulseengine%2Frivet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulseengine%2Frivet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pulseengine","download_url":"https://codeload.github.com/pulseengine/rivet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulseengine%2Frivet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32038459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-12T18:58:24.071Z","updated_at":"2026-05-22T06:17:13.049Z","avatar_url":"https://github.com/pulseengine.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Rivet\n\n\u003csup\u003eTyped knowledge graph + oracle-gated agents + agent-first form factor — the audit substrate for AI-assisted engineering\u003c/sup\u003e\n\n\u0026nbsp;\n\n[![CI](https://github.com/pulseengine/rivet/actions/workflows/ci.yml/badge.svg)](https://github.com/pulseengine/rivet/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/pulseengine/rivet/branch/main/graph/badge.svg)](https://codecov.io/gh/pulseengine/rivet)\n![Rust](https://img.shields.io/badge/Rust-CE422B?style=flat-square\u0026logo=rust\u0026logoColor=white\u0026labelColor=1a1b27)\n![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue?style=flat-square\u0026labelColor=1a1b27)\n\n\u0026nbsp;\n\n\u003ch6\u003e\n  \u003ca href=\"https://github.com/pulseengine/spar\"\u003eSpar\u003c/a\u003e\n  \u0026middot;\n  \u003ca href=\"https://github.com/pulseengine/etch\"\u003eEtch\u003c/a\u003e\n  \u0026middot;\n  \u003ca href=\"https://github.com/pulseengine/meld\"\u003eMeld\u003c/a\u003e\n\u003c/h6\u003e\n\n\u003c/div\u003e\n\n\u0026nbsp;\n\n\u003e **Spar parses. Etch renders. Meld fuses. Rivet binds.**\n\u003e\n\u003e Rivet is a git-native, schema-driven artifact store with a CLI, an LSP,\n\u003e a dashboard, and an MCP server. Agents write the artifacts; mechanical\n\u003e oracles gate them; humans review the diff in the pull request.\n\n## Why rivet\n\nThree patterns landed in public over the same six-week window: Karpathy's\nLLM Wiki (knowledge compounds), Anthropic's red-team agent scaffold\n(verification mechanically gates), and the typed-traceability lineage\nthat ASPICE / DOORS / sphinx-needs settled decades ago (audit reads the\nresult). Each pillar in isolation reproduces a known failure mode — the\nwiki that drifted into fiction, the test suite green on stale\nassumptions, the traceability matrix nobody consults. Run the three\ntogether and the failure modes cancel. See\n[*Three patterns colliding*](https://pulseengine.eu/blog/three-patterns-colliding/)\nfor the synthesis.\n\nRivet is the typed-traceability pillar realised as one Rust binary with\nthree driving surfaces (CLI, MCP server, LSP backend) so an AI agent can\npick whichever one fits. Every artifact is provenance-stamped on every\nmutation; every commit must carry the typed trailer that ties it back to\na requirement; every change has to survive `rivet validate` before the\nPR review even starts. The same one binary serves the dashboard the\nhuman reads, the LSP the editor uses, and the MCP tools the agent calls.\n\nThis is not an audit-after-the-fact tool. The point is that the agent\n*authors* against the typed schema while the oracle is firing — so the\nevidence is born compliant instead of being reverse-engineered later.\n\n\u003e **Before you build Rivet into a process, read [What Rivet is\n\u003e not](docs/rivet-is-not.md).** It enumerates — in the register of an\n\u003e ISO 26262-10 SEooC Safety Manual — the boundaries of Rivet's\n\u003e competence and the obligations that remain the integrator's, not the\n\u003e tool's. It is shorter than this README; reading it first saves a\n\u003e day's debugging.\n\n## Install\n\n```bash\n# From source (recommended while pre-1.0)\ncargo install --path rivet-cli\n\n# Or from a release tag\ncurl -L https://github.com/pulseengine/rivet/releases/download/v0.5.0/rivet-x86_64-unknown-linux-gnu.tar.gz | tar xz\n\n# Or via npm (for `npx @pulseengine/rivet mcp` in MCP clients)\nnpm install -g @pulseengine/rivet\n```\n\n## 30-second demo\n\n```bash\nrivet init --preset dev          # 1. scaffold rivet.yaml + schemas/ + artifacts/\nrivet add requirement -t \"DB write returns ack\" --asil B   # 2. add a typed atom\nrivet validate                   # 3. oracle: PASS (no diagnostics)\nrivet serve --port 3099          # 4. dashboard at http://localhost:3099\nrivet docs quickstart            # 5. 10-step embedded guide w/ oracles\n```\n\nFor a longer walk-through with copy-pasteable steps and an oracle on\neach one, run `rivet quickstart` (added in v0.5.0).\n\n## What's in here\n\n`rivet-core` is the validation, schema, and salsa-incremental store\nlibrary. `rivet-cli` is the binary — CLI commands, the axum+HTMX\ndashboard, the LSP server, the MCP server, and the `close-gaps` /\n`pipelines` agent-driven oracle commands. `etch` is the layout engine\nbehind the traceability graph. `vscode-rivet` is the editor extension.\n`schemas/` ships 28 built-in domain schemas (STPA, STPA-Sec, ASPICE 4.0,\nEclipse SCORE, ISO/PAS 8800, IEC 61508, IEC 62304, DO-178C, EN 50128,\nGSN safety cases, EU AI Act, AADL, supply-chain, dev). `proofs/rocq/`\nand `rivet-core/src/verus_specs.rs` carry the formal-method backstops;\n`scripts/mythos/` is the agent-driven slop-hunt pipeline.\n\n## Built-in docs\n\n`rivet docs` lists every embedded topic; `rivet docs \u003ctopic\u003e` prints the\ncontent. The whole reference manual ships in the binary — no docs site\nto drift, and the LSP serves the same text on hover.\n\n```bash\nrivet docs                       # list topics\nrivet docs cli                   # CLI command reference\nrivet docs schema/stpa           # STPA schema reference\nrivet docs --grep variant        # search across all docs\nrivet quickstart                 # 10-step oracle-gated walk-through\n```\n\n## For agents\n\n- **MCP server** — `rivet mcp` exposes the artifact graph as typed\n  tools (query, add, modify, link, unlink, remove, validate). Wire it\n  into Claude Code, Cursor, or any MCP-aware client. `npx @pulseengine/rivet mcp`\n  for clients that prefer node binaries over rust toolchains.\n- **LSP server** — `rivet lsp` runs over stdio with diagnostics, hover,\n  go-to-definition, and completions on artifact YAML. The VS Code\n  extension is the reference client.\n- **Slop-hunt pipeline** — `scripts/mythos/` is a four-prompt\n  agent-driven audit (`rank` → `discover` → `validate` → `emit`) that\n  finds dead code, duplicate parsers, and untraceable modules in any\n  rivet-managed project. Adapted from Anthropic's red-team scaffold.\n- **Agent pipelines** — `rivet pipelines list` / `rivet close-gaps`\n  read the `agent-pipelines:` block in each schema and walk the\n  oracle → rank → close-by-link → emit-trailer loop the agent runs.\n\n## Status\n\n- **CI**: `rivet validate`, `cargo clippy --workspace -- -D warnings`,\n  `cargo test --workspace`, `rivet docs check`, Playwright (33 spec\n  files), Kani (28 BMC harnesses), Verus, Rocq, mutation testing\n  (16-shard rivet-core).\n- **Self-hosted dashboard**: rendered to https://pulseengine.eu/reports/rivet/\n  on every push to `main`.\n- **Release**: see [CHANGELOG.md](CHANGELOG.md). Current line is the\n  v0.5.0 series — Mythos pipeline + witness-coverage consumer + variant\n  scoping coherence + restored Verus \u0026 Rocq + 16-shard mutation testing.\n\n### In flight (honest list)\n\n- **Variant tooling** carries six open product questions (matrix\n  emission, t-wise sampling, attribute schema scope, audit cardinality,\n  CLI ergonomics, dashboard interplay) tracked under\n  `.rivet/mythos/variant-matrix-design.md` and the v0.5.x backlog.\n- **Formal-verification gaps**: Verus has 15 proven specs and three\n  documented gaps (variant solver completeness, salsa incremental\n  fixpoint, ReqIF round-trip). Rocq covers schema and validation\n  semantics; the larger gale-style differential-testing bar is a\n  follow-up release item.\n- **Schema coverage**: 28 schemas ship; STPA-AI and supply-chain\n  schemas are still soft-launched and may shift before 1.0.\n\n## Contributing\n\nRead [AGENTS.md](AGENTS.md) for the project conventions and\n[CLAUDE.md](CLAUDE.md) for the commit-traceability trailer rules\n(every commit touching `rivet-core/src/` or `rivet-cli/src/` must carry\n`Implements: REQ-NNN` / `Refs: FEAT-NNN` / `Verifies: REQ-NNN` /\n`Fixes: REQ-NNN`, or `Trace: skip` for chore/style/ci/docs/build).\n\n## License\n\nApache-2.0\n\n## Contact\n\n[github.com/pulseengine](https://github.com/pulseengine) ·\n[pulseengine.eu](https://pulseengine.eu)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003csub\u003ePart of \u003ca href=\"https://github.com/pulseengine\"\u003ePulseEngine\u003c/a\u003e \u0026mdash; toolchain for safety-critical systems\u003c/sub\u003e\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpulseengine%2Frivet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpulseengine%2Frivet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpulseengine%2Frivet/lists"}