Skip to content

fix: v5.0.1 — correct //fusa:req tag whitespace, close 43 req-catalog gaps - #136

Merged
SoundMatt merged 1 commit into
mainfrom
fix/fusa-tag-whitespace-and-reqs-completeness
Aug 1, 2026
Merged

fix: v5.0.1 — correct //fusa:req tag whitespace, close 43 req-catalog gaps#136
SoundMatt merged 1 commit into
mainfrom
fix/fusa-tag-whitespace-and-reqs-completeness

Conversation

@SoundMatt

Copy link
Copy Markdown
Owner

Summary

  • Fixes 1311 //fusa:req///fusa:test annotations that used // fusa:req (with a space after //), which the tag scanner requires to have none — these requirements were silently excluded from fusa-gap-check.sh's coverage accounting despite being correctly implemented and tested.
  • Fixing the tag format surfaced 43 code-side requirement tags with no matching entry in .fusa-reqs.json; each is now a real catalog entry with its own TC18 citation (not a stub).
  • scripts/fusa-gap-check.sh gains a status: "not-implemented" exemption path plus a stale_unimpl check (an entry marked not-implemented that later gains code/test coverage is itself flagged as a gap).
  • No API or wire-format change — PATCH bump (5.0.0 → 5.0.1) per docs/SEMVER.md.

Test plan

  • cargo build --release clean
  • cargo test --all-features — 1102 + 32 tests pass, doc-tests pass
  • cargo fmt --check clean
  • cargo clippy --all-targets --all-features -- -D warnings clean
  • bash scripts/fusa-gap-check.sh → 607/607 (100%) traced, no gaps detected

… gaps

The //fusa:req///fusa:test tag scanner requires no space after `//`;
1311 annotations across source, fuzz targets, and two safety docs used
`// fusa:req` (with a space), so those requirements were silently
invisible to fusa-gap-check.sh's coverage accounting despite being
correctly implemented and tested.

Fixing the tag format surfaced 43 code-side requirement tags with no
corresponding entry in .fusa-reqs.json (REQ-ABB-006/007/009,
REQ-CAN-012..016, REQ-CMP-009, REQ-CRC-014/017/019, REQ-DISC-025/026,
REQ-EPGEN-001, REQ-ERR-021/022, REQ-ERRH-001, REQ-EVT-001/002,
REQ-GBB-007, REQ-GPIO-017..021, REQ-I2C-009..011, REQ-ISELED-011,
REQ-LIFE-015/019, REQ-LIN-007, REQ-NET-002, REQ-NTSCF-007,
REQ-PWMI-003, REQ-RESP-002/003, REQ-RMAP-032/036, REQ-SEQ-005,
REQ-TS-007, REQ-WAKE-009); each is now a real catalog entry citing its
TC18 source. scripts/fusa-gap-check.sh also gains a status:
"not-implemented" exemption path plus a stale_unimpl check, so an
entry marked not-implemented that later gains code/test coverage is
itself flagged as a gap.

No API or wire-format change; PATCH bump per docs/SEMVER.md.

607/607 requirements now traced (100%), verified against the real
fusa-gap-check.sh tool, not re-derived from it.

Signed-off-by: Matt <47545907+SoundMatt@users.noreply.github.com>
@SoundMatt
SoundMatt merged commit 89ee7c3 into main Aug 1, 2026
18 checks passed
@SoundMatt
SoundMatt deleted the fix/fusa-tag-whitespace-and-reqs-completeness branch August 1, 2026 15:08
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