Skip to content

docs(rivet): mark static-linking reqs implemented + SYS.4 verification - #201

Merged
avrabe merged 2 commits into
mainfrom
chore/rivet-static-linking-implemented
May 31, 2026
Merged

avrabe merged 2 commits into
mainfrom
chore/rivet-static-linking-implemented

Conversation

@avrabe

@avrabe avrabe commented May 31, 2026

Copy link
Copy Markdown
Contributor

The gale cross-LTO arc (v0.11.1–v0.11.11) shipped the static-linking capability, so its rivet requirements can move off draft/planned.

  • SL-001..007 (system-reqs) + SL-TR-001..003 (sw-reqs) → implemented
  • SL-IV-001 (sys-integration-verification) added, verifying SL-001..007 with the on-target evidence (gale's z_impl links with 5 kernel relocations; fp-relative [fp, sem]) + the regression tests.

rivet validate: error count unchanged at 35 — all 35 are pre-existing broken cross-repo links to gale:/kiln:/sigil: externals that have no rivet.yaml to sync against, orthogonal to status. Info-level SL coverage gaps drop as SL-IV-001 closes the backlinks. Verified via rivet check gaps-json severity histogram before/after.

Note: SL-TR-* sw-reqs keep info-level coverage gaps — neither verification type targets a sw-req directly (rivet#350). Non-blocking (info, not error).

🤖 Generated with Claude Code

avrabe and others added 2 commits May 31, 2026 08:22
v0.7.0's tag broke release.yml + publish-to-crates-io.yml because
[workspace.package].version was bumped while every crates/*/Cargo.toml
path-dep pin + MODULE.bazel still carried the old version — cargo refused
to resolve (recovered by the 23-pin sweep in #143). The pin sweep was a
manual, forgettable step.

Add scripts/check_version_pins.py + a `Version Pin Sweep` CI job that
fails at PR-merge time if [workspace.package].version drifts from any
intra-workspace `{ path = "../x", version = "Y" }` pin or MODULE.bazel's
module(version=...). Makes the v0.7.0-class desync structurally
uncatchable-too-late rather than caught at tag-push.

The script doubles as a local pre-tag check (run from repo root, exits
non-zero listing every offending pin). Verified: passes at the current
0.11.11; catches an injected 0.11.10 path-dep desync with a file:line
message.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ation

The gale cross-language-LTO arc (synth v0.11.1–v0.11.11) shipped the
static-linking capability: ET_REL emission with R_ARM_THM_CALL relocations
against import field names (#173) and func_N internal symbols (#167),
relocatable fp-relative memory + caller-saved preservation (#197), the
.meld_import_table / FLASH / RAM linker-script sections, and the
--link cross-linker invocation. gale confirmed the z_impl object links
with 5 real kernel relocations.

Flip SL-001..SL-007 (system-reqs) and SL-TR-001..003 (sw-reqs) from
draft/planned to implemented, and add SL-IV-001 (sys-integration-
verification) verifying SL-001..007 with the on-target evidence +
regression tests (test_compile_internal_call_produces_relocation_167,
test_compile_relocatable_import_uses_direct_func_symbol_197,
relocatable_pointer_deref_uses_fp_base_197).

rivet validate: error count UNCHANGED at 35 (all pre-existing broken
cross-repo links to gale:/kiln:/sigil: externals that have no rivet.yaml
to sync against — orthogonal to status). Info-level coverage gaps drop
as SL-IV-001 closes the SL-00x verification backlinks.

Note: SL-TR-* sw-reqs retain info-level coverage gaps — neither
unit-verification (-> sw-detail-design) nor sw-integration-verification
(-> sw-arch-component/sw-detail-design) can target a sw-req directly,
so closing them needs the full ASPICE chain. Tracked in rivet#350.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@avrabe
avrabe merged commit 698e249 into main May 31, 2026
8 checks passed
@avrabe
avrabe deleted the chore/rivet-static-linking-implemented branch May 31, 2026 06:44
@codecov

codecov Bot commented May 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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