Skip to content

ci+docs: pin rivet v0.13.0 + neutral README rewrite#3

Merged
avrabe merged 7 commits into
mainfrom
ci/pin-rivet-v0.13.0
May 24, 2026
Merged

ci+docs: pin rivet v0.13.0 + neutral README rewrite#3
avrabe merged 7 commits into
mainfrom
ci/pin-rivet-v0.13.0

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented May 24, 2026

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 to
pulseengine/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

  • CI runs (validate-pinned job) — will tell us if v0.13.0 has
    the score schema deltas. If not, CI fails informatively and we
    know to wait for the next rivet release.
  • README renders correctly on github.com — verify the
    not-affiliated disclaimer, license badge, and the "What this is
    not" section read as intended.

avrabe added 2 commits May 24, 2026 18:25
…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'.
@avrabe avrabe changed the title ci(validate): pin rivet install to v0.13.0 tag ci+docs: pin rivet v0.13.0 + neutral README rewrite May 24, 2026
avrabe added 5 commits May 24, 2026 18:36
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.
@avrabe avrabe merged commit feeb6c1 into main May 24, 2026
2 checks passed
@avrabe avrabe deleted the ci/pin-rivet-v0.13.0 branch May 24, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant