Repository navigation
docs: x-FuSa spec v1.15.0 — attestation carry-forward MUST + implementer guidance - #89
Merged
Merged
Conversation
…ter guidance A deep audit of go-FuSa/c-FuSa/py-FuSa/java-FuSa's own v1.13.0/v1.14.0/ v1.14.1 conformance work found 23 real defects. Three recurring patterns indicated the spec itself needed to say more, not just the implementations: - New section 1.6.2 MUST: a producing command must load and carry forward any existing attestation before regenerating an artifact -- one tool's otherwise-correct 'always rebuild' implementation was silently wiping every human review, and nothing in the spec actually forbade that. - New section 1.6 rule 4 guidance: reuse existing test-tree/stdlib-call exclusion logic in coverage-denominator scanners rather than each command maintaining its own drifting list -- three of four audited tools counted test fixtures or stdlib calls as real project components. - New section 9.2 MUST: coveragePct must not exceed 100 -- two tools produced impossible values from exactly the rule above being violated. Bumps SpecVersion 1.14.1 -> 1.15.0. FuSaOps' own artifact packages already implement carry-forward correctly (verified by existing tests); no FuSaOps code changes needed. Signed-off-by: SoundMatt <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
Follows a deep audit (this session) of go-FuSa/c-FuSa/py-FuSa/java-FuSa's own v1.13.0/v1.14.0/v1.14.1 conformance work — 23 real defects found. Most were implementation bugs against already-clear MUSTs (tracked as issues against each tool, not a spec problem). Three patterns recurred across independent implementations often enough to indicate the spec itself needed to say more:
trace's function-coverage denominator already needs.coveragePct≤ 100. Two tools produced impossible values (111.9%, 500%) from exactly the rule-4 violation above. Made explicit as a checkable invariant.SpecVersionbumped1.14.1→1.15.0. FuSaOps' ownfmea/tara/hara/safetycase/saspackages already implement carry-forward correctly (verified by existing tests from PR2 earlier this session) — no FuSaOps code changes needed here, just the spec catching up to what was already correct.Test plan
go build ./.../go vet ./...— cleango test ./...— all pass (doc-only + version-constant change)