Skip to content

doc: refresh the assurance status tables after the merge wave - #402

Open
xanimo wants to merge 1 commit into
dogecoinfoundation:0.1.5-devfrom
xanimo:0.1.5-dev-assurance-refresh
Open

doc: refresh the assurance status tables after the merge wave#402
xanimo wants to merge 1 commit into
dogecoinfoundation:0.1.5-devfrom
xanimo:0.1.5-dev-assurance-refresh

Conversation

@xanimo

@xanimo xanimo commented Aug 5, 2026

Copy link
Copy Markdown
Member

#366 was finalized last, exactly as the merge order advised, so its tables record the board as it stood when it was written. Thirteen PRs merged in the day after, leaving rows that still read Landing, Open or Draft for work that is now on 0.1.5-dev.

This updates both status tables against actual merge state — nothing else. No claim about coverage, CT verdicts or verification results is touched.

Row Was Now
CodeQL / cppcheck / clang-tidy Landing (PR #359) Merged 2026-08-04
libFuzzer infrastructure Approved, open Merged 2026-08-04 (#351)
PSBT fuzz harness Open Merged 2026-08-04 (#357)
Coverage reachability Open, stacked on #351 Merged 2026-08-05 (#360)
ASAN+UBSAN gate Open, draft Merged 2026-07-22 (#328)
Typed trampolines Open Merged 2026-07-21 (#361)
PQC / cmake liboqs / raccoon-g Open All merged 2026-08-05 (#346, #347, #348)
Zeroization key/eckey/bip32 Draft Merged 2026-07-30 (#362)
Zeroization seal Draft, overlaps #343 Merged 2026-08-05 (#363); #343 also merged
dudect CT tests Draft Merged 2026-08-05 (#365)

The BIP38 and wallet fuzz harnesses now read as unblocked rather than pending, since both #351 and #277 have landed.

One substantive addition

A note recording that the cppcheck gate is currently red on 0.1.5-dev itself — reproduced on an untouched checkout, so it is not any one PR's doing.

Its header documents a phase-0 policy of "only error severity fails the job", but the step named gate on error severity invokes --enable=warning --error-exitcode=1, so warnings fail it. 34 findings on the base:

  • 2 real, fixed in bip39, qr: bound the wordlist token read; don't rely on assert for indexing #401 — an unbounded fscanf into a fixed buffer reachable through the public wordlist API, and table indexing guarded only by an assert that compiles out under NDEBUG
  • 18 %d used with unsigned values — real but cosmetic
  • 6 null-check ordering warnings in wallet.c/utils.c, still to triage
  • 8 false positives — cppcheck 2.7 cannot parse HASH_DEL/assert, and the OP-TEE uninitvar hits are TEEC_MEMREF_TEMP_OUTPUT buffers the TA writes into

Either the gate narrows to match its stated policy, or the backlog is dispositioned in contrib/analysis/cppcheck-suppressions.txt. Until then it is red on every PR.

An assurance document asserting that static analysis is live should say when one of its three analysers doesn't pass on the base branch. Fixing the gate itself is a separate PR.

The assurance case was finalized last, as planned, so its tables recorded
the board as it stood when dogecoinfoundation#366 was written. Thirteen PRs merged in the
day after, leaving rows that still read "Landing", "Open" or "Draft" for
work that is now on 0.1.5-dev.

Updates both status tables against the actual merge state: dogecoinfoundation#359, dogecoinfoundation#351,
dogecoinfoundation#357 (2026-08-04), dogecoinfoundation#360, dogecoinfoundation#346, dogecoinfoundation#347, dogecoinfoundation#348, dogecoinfoundation#363, dogecoinfoundation#365 (2026-08-05),
dogecoinfoundation#328 (2026-07-22), dogecoinfoundation#361 (2026-07-21), dogecoinfoundation#362 (2026-07-30) and dogecoinfoundation#343
(2026-07-21). The BIP38 and wallet fuzz harnesses are recorded as
unblocked rather than pending, since both dogecoinfoundation#351 and dogecoinfoundation#277 have landed.

Adds a note recording that the cppcheck gate is currently red on
0.1.5-dev: it documents a phase-0 policy of gating on error severity but
invokes --enable=warning --error-exitcode=1. Two of its 34 findings were
real and are fixed in dogecoinfoundation#401; the rest are triaged in the note. An
assurance document that claims static analysis is live should say that
one of its three analysers does not currently pass on the base branch.

No claims about coverage or verification results are changed -- only
status, plus that note.
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