What changed, and why it matters
This commit adds a configuration file for Codecov, a service that tracks how much of the project's code is covered by automated tests. It only tells Codecov which folders to ignore and how to label different kinds of test coverage. It does not change any application code, security logic, or build process.
No security action needed. Review as a normal CI configuration change if desired.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit introduces codecov.yml, configuring Codecov ignore paths (unit-tests) and coverage flags (unittests, functionaltests) with carryforward settings. It is purely a CI/reporting configuration change with no effect on the firmware, its dependencies, or how it is built.
Changed components
codecov.yml (new CI configuration file)Inspect captured patch +33 / −0
diff --git a/codecov.yml b/codecov.yml
new file mode 100644
index 0000000..dc5a64d
--- /dev/null
+++ b/codecov.yml
@@ -0,0 +1,33 @@
+# Codecov configuration — https://docs.codecov.com/docs/codecovyml-reference
+#
+# Paths excluded from Codecov's reports and PR comments (both the PR head and
+# the comparison base). This mirrors the exclusions applied to the lcov
+# tracefile by the unit-tests workflow, so the unit-test sources and the
+# vendored plugin SDK never show up on Codecov.
+#
+# Note: this only affects Codecov's view. The authoritative filtering happens in
+# the workflow (test directory is always removed; the SDK via the
+# `coverage_exclude_paths` input), which keeps these paths out of the coverage
+# artifact, the Cobertura report and the job summary as well.
+ignore:
+ - "unit-tests" # unit-test sources
+
+# Coverage is uploaded under two flags:
+# * unittests -- native gcov from tests/unit (line + branch)
+# * functionaltests -- firmware C lines exercised by the ragger tests,
+# traced through Speculos/QEMU (line coverage only)
+# Codecov merges reports by taking the union of hit lines divided by the union
+# of trackable lines. Because the host build (unit tests) and device build
+# (functional tests) produce different total trackable line counts, the combined
+# total coverage percentage may actually be lower than an individual flag's score.
+# carryforward keeps the last functional result when a run only covers a subset
+# of devices.
+flags:
+ unittests:
+ paths:
+ - src/
+ carryforward: false
+ functionaltests:
+ paths:
+ - src/
+ carryforward: true
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.