quality: expose exact function and line coverage metrics - #207
quality: expose exact function and line coverage metrics#207seonghobae wants to merge 16 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
|
|
@coderabbitai review Review exact current head |
Rate Limit Exceeded
|
seonghobae
left a comment
There was a problem hiding this comment.
Current-head source review for 298cf5b6c686f7c92443c4317f89ba6693cd4081 found no blocking defect in the three-file coverage-evidence scope. The reporter retains coverage.py statement/branch output as normative, bounds and validates the JSON evidence, requires one canonical record per owned non-symlink source file, rejects malformed/aliased/out-of-range data, assigns nested bodies to their own function metrics, excludes line-tracing-unmeasurable one-line bodies, and fails below exact line/measurable-function coverage. This is author-side review evidence only, not independent approval. Keep Draft until corrected Dependency Review executes on the unchanged head and a current independent semantic/source review is present.
Purpose
Expose explicit exact line and measurable function-body coverage metrics for owned production code instead of requiring reviewers to infer them from aggregate coverage output. Statement and branch coverage remain the normative exact 100% gate; this adds a bounded, fail-closed evidence layer and does not weaken any existing threshold.
Exact test-first lineage
Initial reporter
7faf7a3b8a47980113982914000e724ab6a6cda5;d3f5d52737c170127f3b6d89917d022e67ac6c37;885584ea95d34299c63921719725a12a6f99a70e.Nested-function ownership
The initial reporter double-charged nested executable bodies to enclosing functions.
319e0a3321a14ae957f1a67cd01bb50237651edf;31660037191, Python 3.11 job94322756156:1 failed, 1030 passed; an uncalled inner body falsely made bothinnerand a fully coveredouteruncovered;2b6f230e3d1657cc5468dd8af97d30af63df8c57.Unmeasurable one-line bodies
Definition-line execution cannot prove whether a same-line function body executed.
4b29dd9fd3454d4c9e3539eec3fde32ca3a834f5;31660651438, Python 3.10 job94324581060:1 failed, 1031 passed; the reporter synthesized2/2covered functions instead of excluding the unmeasurable one-line inner body;0c645f32eca115baf60e99ee7a4a274a08d36c3a.Owned-source symlink escape
The reporter followed
*.pysymlinks discovered under the owned source root, which could read an external target and leak its resolved path in diagnostics.5c7489f69021400024048238aa7bcd2a9a081f23;31661133512, Python 3.10 job94326017967:1 failed, 1032 passed; raw external-path evidence crossed the intended boundary;e2b4eeb140921daedc8edbafffc6a4af517a65f8.Fabricated out-of-range line evidence
A coverage record could include a positive line number beyond the owned source file and inflate the exposed denominator while still reporting 100%.
9acb1f910ccfc5ee15499fc6b99a1d20ebe9f7b8;31661560721, Python 3.14 job94327252139:1 failed, 1033 passed; fabricated line999was accepted asline=100.00% (7/7);da7bcc9c8243caf7258eefea1c7ff174623066df.Malformed coverage-record path
An embedded-NUL file key reached
Path.resolve(...)and produced a raw traceback instead of one bounded evidence error.8fd97bf7c2ad38ab776bd84b6691d30f460df241;31661928049, Python 3.14 job94328303196:1 failed, 1034 passed; exact traceback ended inValueError: lstat: embedded null character in path;298cf5b6c686f7c92443c4317f89ba6693cd4081.Exact current identity
7faf7a3b8a47980113982914000e724ab6a6cda5;298cf5b6c686f7c92443c4317f89ba6693cd4081;.github/workflows/ci.yml,scripts/ci/report_coverage_metrics.py, andtests/test_coverage_metric_evidence.py;Implemented evidence contract
The reporter:
coverage.pyJSON and Python AST/source only; it adds no runtime dependency;src/egressweave/**/*.pyfile to have exactly one coverage record;coverage reportstatement/branch gate and runs aftercoverage run -m pytest -qon every supported Python CI lane.Exact-current-head hosted evidence
On unchanged
298cf5b6c686f7c92443c4317f89ba6693cd4081:31662061367: completed success across wheel/sdist package acceptance and Python 3.10, 3.11, 3.12, 3.13, and 3.14;94328702901: exact checkout, CPython 3.14.6, Ruff,1035 passed, product guard and compileall all succeeded;1758/1758statements and588/588branches, zero misses/partials;line=100.00% (1758/1758)andfunction=100.00% (156/156);31662061363: completed success;31662061339: OSV, Trivy and Scorecard completed successfully, but dependency-review job94328704089was wrapper-success while its immutable-pinnedDependency reviewstep was skipped. This remains non-passing supply-chain evidence;31662060139, exact-head job/check94328700720: completed a substantive scan of the changed CI workflow and coverage reporter, produced zero vulnerabilities, and uploaded exact-head artifact9167075714(strix-reports, SHA-2564d72d56fa0a751b6104387445fe71c5bb30d1524d74f8b83f45d8c05c0be0339). The report states that Semgrep, Bandit, Gitleaks, Trufflehog and manual CI review found no exploitable vulnerability in the scoped files;Acceptance status
Keep Draft. The product/evidence implementation, exact coverage, package, SAST and substantive Strix lanes are passing on this exact head. The actual Dependency Review action remains skipped and therefore non-passing despite wrapper green. The root fail-closed repair is organization-owned and read-only to this writer; no EgressWeave-local substitute or weaker gate is acceptable.
Before integration, obtain current exact-head semantic/source review with zero valid findings, require every live workflow to be substantively passing, and refetch exact head, live base, rules, findings, reviews and threads. No predecessor, synthetic, wrapper-only, model, status, skipped, neutral or stale evidence transfers. Do not churn this clean source head merely to retrigger provider capacity.