chore: bump go-FuSa pin to v0.48.0 across ci.yml + release.yml - #75
Merged
Conversation
go-FuSa v0.48.0 (upstream go-FuSa#89) fixes a critical bug in hara.DetermineASIL: the hand-written ISO 26262-3:2018 Table 4 lookup was wrong in 8/12 S2 cells and 11/12 S3 cells, always inflating the ASIL rating versus the standard's correct additive S+E+C model. It also fixes a non-reproducible qualify.computeHash (hashed the live timestamp, didn't sort results before hashing), a git argument-injection risk in impact.changedFiles, and a CI SARIF self-scan masking bug; a stale committed check-report.json was removed upstream and a legacy .fusa.json shape normalized. Bump all three pin locations (ci.yml's gofusa job, ci.yml's compliance job, release.yml) to v0.48.0 so they stay identical, per this repo's established convention (#61). Verified locally with go-FuSa v0.48.0: full gofusa lifecycle (check/ trace -req-coverage 100/cyber/vuln/trace -sec-tested 100/qualify/verify/ coverage/hara show/boundary/sci/coupling/tara/fmea -cyber -strict/ release/audit-pack) and the compliance job's additional steps (safety-case/check --output json/all 7 standards gap reports/the negative-count JSON sanity backstop) all pass cleanly, matching CI exactly. go-LIN's own dogfooded .fusa-hara.json (H-01..H-06) was already re-derived under the correct additive model back in #72, so the upstream ASIL-calculation fix surfaces no drift here: `gofusa hara show` reports the same ASIL-A/QM classifications as before, with zero gaps beyond the pre-existing fssrRefs advisories. gofusa cyber still reports the same 28 pre-existing CYBER009 INFO findings (0 error/0 warning) documented in ci.yml's comments; gofusa qualify still passes 46/46; gofusa fmea -strict still clears the content-quality gate. iec62443/slsa show a builder-field GAP when run outside CI (expected — that field is injected by ci.yml's post-release Python step using GITHUB_* env vars) but pass with 0 GAP once that step is simulated locally. go build/vet/test/test -race all green. No new ERROR/GAP/FAIL findings versus v0.47.1; no fixes required beyond the pin bump itself. Signed-off-by: Matt <47545907+SoundMatt@users.noreply.github.com>
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.
Summary
go-FuSa v0.48.0 (upstream go-FuSa#89) fixes a critical bug in
hara.DetermineASIL: the hand-written ISO 26262-3:2018 Table 4 lookup waswrong in 8/12 S2 cells and 11/12 S3 cells, always inflating the ASIL
rating versus the standard's correct additive S+E+C model
(
points = S(1-3) + E(1-4) + C(1-3),<=6 -> QM, 7 -> A, 8 -> B, 9 -> C, 10 -> D, ASIL D only at S3+E4+C3). It also fixes a non-reproduciblequalify.computeHash(hashed the live timestamp, didn't sort resultsbefore hashing), a git argument-injection risk in
impact.changedFiles,and CI SARIF self-scan masking; a stale committed
check-report.jsonwasremoved upstream and a legacy
.fusa.jsonshape normalized.v0.48.0:ci.yml'sgofusajob,ci.yml'scompliancejob, andrelease.yml— kept identical per thisrepo's established convention (chore: bump go-FuSa pin to v0.47.1 #61).
Verification
Installed
gofusa v0.48.0locally and ran the exact CI gating sequenceagainst go-LIN's own tree:
gofusa check ./...,trace -req-coverage 100,cyber,vuln,trace -sec-tested 100,cyber,vuln,qualify,verify,coverage,hara show,boundary/sci/coupling/tara/fmea -cyber -strict,release,audit-pack(thegofusajob) — allclean.
safety-case,check --output json, all 7 standards gap reports(
iso26262,iec61508,iso21434,iec62443,do178,unece,slsa), and the negative-count JSON sanity backstop (thecompliancejob) — all clean.
No new ERROR/GAP/FAIL findings versus v0.47.1. Specifically:
.fusa-hara.json(H-01..H-06) was alreadyre-derived under the correct additive ASIL model back in fix: audit pass 2 — diagnostic-frame checksum + 8 more findings #72, so the
upstream
DetermineASILfix surfaces no drift here —gofusa hara showreports the same ASIL-A/QM classifications as before (e.g. H-01:
S2+E3+C2=7 -> ASIL-A; H-05: S1+E3+C2=6 -> QM), with only the
pre-existing fssrRefs advisories in Gaps.
gofusa cyberstill reports the same 28 pre-existing CYBER009 INFOfindings (0 error / 0 warning) already documented in
ci.yml'scomments.
gofusa qualifystill passes 46/46.gofusa fmea -cyber -strictstill clears the content-quality gate.iec62443/slsashow abuilder-field GAP when run outside CI, butthat's expected: the field is injected by
ci.yml's post-releasePython step using
GITHUB_*env vars, which only runs in Actions.Simulating that step locally makes both pass with 0 GAP.
Also ran
go build ./...,go vet ./...,go test ./..., andgo test ./... -race— all green.Per this repo's established convention for pure gofusa-pin bumps (#48,
#56, #61 — none of which carried a version bump or CHANGELOG entry since
no source/spec-facing behavior changed), this PR does not bump go-LIN's
own version.
Test plan
go build ./...go vet ./...go test ./...go test ./... -racegofusafull lifecycle gate sequence (local, v0.48.0) — matches CIcompliancejob's standards gap reports (local, v0.48.0) — matches CI