ci+docs: pin rivet v0.13.0 + neutral README rewrite#3
Merged
Conversation
…ore branch First CI run failed because chore/score-schema-eclipse-comparison-update isn't pushed to pulseengine/rivet (it's still on a local worktree awaiting the rivet AI agent's PR). v0.13.0 is the latest published rivet release — pin to that. If the score schema deltas haven't merged yet, CI will surface the gap concretely; if they have, CI goes green without us having to chase the rivet release cadence.
… angle Substantial rewrite. The previous README leaned competitive in places — phrases like 'rivet's typed traceability covers eclipse-score-scale work' and 'rivet's variant subsystem is the solved-form answer to eclipse's open requirement' read as scoreboard rather than respectful exploration. Pulseengine isn't keeping score; we're learning from a substantial body of real safety engineering and stress-testing rivet against it. Key changes: - Opening reframed: this is a pulseengine playground for studying how rivet handles the eclipse-score corpus. Eclipse-score is a substantial body of work; this workspace is a derived second representation, not a competitor. - 'Status: GREEN' header replaced with 'Current state' — drops the win/loss framing, keeps the same metrics. - 'Variant / feature-model handling' rewritten: the starter feature model is offered as a starting point an integrator could adopt and extend, NOT as a proposal eclipse should adopt or as evidence pulseengine has 'solved' something they haven't. - Added a 'What this is not' section to set expectations: not an alternative to eclipse-score, not endorsed by Eclipse Foundation, not a guarantee of certification readiness, not a divergent fork in the github sense. - Added a 'Contributing' section directing schema PRs to pulseengine/rivet and RST/metamodel changes to upstream eclipse-score, rather than this playground. - Stale '4 repos' → '58 repos' throughout. - License section is explicit about what's derivative work (converter output) vs original (vendored schemas, variant model, this README) vs upstream (the eclipse-score content under .rivet/repos/). Tone target: like a research lab's 'we tested X against Y' note, not a marketing piece. Eclipse-score maintainers stumbling on this should read it as honest exploration, not as 'pulseengine is here to show you up'.
cargo errored: 'multiple packages with binaries found: rivet-cli, rivet-fuzz'. Specify the package explicitly.
User-reported bug: rivet.yaml's `docs:` directive does not recurse —
it loads markdown from each listed directory at one level only, not
the whole tree underneath. The previous setup had `docs: [docs]` per
repo, expecting recursion; rivet was silently missing every nested
markdown file (and there are 634 of them).
Fix:
- tools/regen_docs_paths.py — walks rivet/<repo>/docs/ to find every
leaf directory containing .md files, rewrites both per-repo
rivet.yaml `docs:` blocks (paths relative to repo) and the
top-level rivet.yaml `docs:` block (paths relative to workspace).
Idempotent.
- Makefile — `convert:` now invokes regen_docs_paths.py after all
per-repo converters finish, so the docs: blocks stay in sync with
whatever the converter just emitted. `make regen-docs` exposed
for manual runs.
- All 19 per-repo rivet.yaml files updated to list their leaf docs
paths (320 total per-repo paths across all 58 repos — the same
320 plus 58 per-repo "docs/" roots = 378 entries in the top-level
rivet.yaml).
Verified effect: rivet validate warning count rose from 2507 to 2786
because rivet now actually grades the 634 emitted documents (orphan
docs, dangling [[ID]] refs, etc.) instead of silently ignoring them.
Still PASS with 0 errors, still 4/4 variants pass — the new warnings
are graded-but-now-visible issues, not new errors.
Without this fix, the README's "634 markdown documents emitted" claim
was technically true (the files existed on disk) but operationally
empty (rivet never saw them).
cargo install --git URL --tag TAG <crate> --bin <bin> (not --package <crate>)
Makefile hardcoded /Users/r/.cargo/bin/rivet which obviously doesn't exist on a GitHub Actions runner. Use ?= so it defaults to PATH lookup and can still be overridden locally if someone needs a specific install: make RIVET=/usr/local/bin/rivet validate
Eclipse-score's actual repo is github.com/eclipse-score/process_description (underscore). My externals block had it with a hyphen which is a 404. Locally sync skipped the broken URL because the clone already existed under .rivet/repos/process-description; CI had to actually clone and failed at the auth-prompt that follows a 404 fetch. Keeping the prefix as 'process-description' so the local dir name and all derived paths (.rivet/repos/process-description/, upstream symlink, rivet/eclipse-score-process-description/...) are unchanged — only the URL is corrected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two changes bundled
1. CI fix — pin rivet to v0.13.0
Initial CI failed because the workflow tried
cargo install --branch chore/score-schema-eclipse-comparison-update, which isn't pushed topulseengine/rivet (it's on a local worktree awaiting the rivet AI
agent's PR). Pin to the latest published rivet release (
v0.13.0)instead. If the score schema deltas haven't merged yet, CI will tell
us concretely.
2. README rewrite for neutral framing
The previous README leaned competitive in places. Eclipse-score is a
substantial body of real safety engineering work; this playground is
a learning exercise, not a contest. Rewrite removes phrases like
"rivet's variant subsystem is the solved-form answer to eclipse's
open requirement" and reframes the whole document as honest
exploration. Added a "What this is not" section.
Test plan
validate-pinnedjob) — will tell us if v0.13.0 hasthe score schema deltas. If not, CI fails informatively and we
know to wait for the next rivet release.
not-affiliated disclaimer, license badge, and the "What this is
not" section read as intended.