ci: enforce coverage and harden Silver checks - #43
Merged
Conversation
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
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.
Coverage enforcement
scripts/rust-production-coverage.pycomputes production-only coverage fromcargo-llvm-cov0.8.7 JSON, excluding exclusively#[cfg(test)]items (never files or host code). Enforced in the CIvalidatejob: >=80% lines and regions. Current: 87.60% lines / 86.30% regions / 89.42% functions. Analyzer has 18 unit tests (tests/coverage, also run in CI), including fail-closed on ambiguous source and threshold pass/fail paths.scripts/invoke-pester-coverage.ps1— single Pester 6.1.0 run with JaCoCo coverage overDevNav.psm1,install.ps1,installer/ProfileIntegration.ps1; fails below 80% commands or lines. Current: 82.19% / 82.87%.scripts/invoke-npm-coverage.ps1— Node native test coverage (--experimental-test-coverage, zero new dependencies) on the canonical Node 24 leg; fails below 80% lines. Current: 93.79% lines (Node reports line coverage; the historical 93.78% statement figure remains a baseline reference only). Node 22/26 legs keep the plain test run.CodeQL languages/extraction
javascript-typescript(build-mode: none, Ubuntu) alongsideactions; the repo now has three analyses.windows-latestwas tried with the pinned 1.97.1 toolchain (build-mode: noneunchanged) and produced the same 10 / 9 / 1, so it was reverted. FINAL configuration: Ubuntu +build-mode: none; the residual macro-expansion limitation is documented in SECURITY.md/ASSURANCE.md.Silver documentation
ARCHITECTURE.md: real component layout,devflow, result-file contract, config.tsv responsibilities, distribution channels, trust boundaries and local-vs-network scope.ASSURANCE.md: claim/evidence/residual-limitation format covering build quality, >=80% coverage per language, dependency policy, static analysis, fuzzing, release integrity/provenance and version consistency.SECURITY.md: security controls updated (three CodeQL languages, residual Rust extraction limits, cargo deny, ClusterFuzzLite, coverage gates, checksums vs attestations) plus a trust-boundaries summary linking to ARCHITECTURE.md. Reporting policy untouched.ROADMAP.md: adds current maintenance/quality baseline and near-term quality work without dates; distribution status preserved verbatim.CONTRIBUTING.md: adds per-language coding standards and the new versioned coverage gates to the local gate list.Gates
All green locally: cargo fmt/check/test/clippy/deny (171 tests), analyzer unit tests (18), Pester + coverage (114 tests), npm bootstrap tests + coverage, PS parser/PSScriptAnalyzer, workflow YAML validated,
git diff --checkclean.Remaining limitations
build-mode: none(per project policy: no autobuild/manual), so macro-heavy files may retain extraction diagnostics; residual is documented, not hidden.