W4: source-mapping provenance — grader + census analysis (Gate 1)#617
Closed
nmetulev wants to merge 1 commit into
Closed
W4: source-mapping provenance — grader + census analysis (Gate 1)#617nmetulev wants to merge 1 commit into
nmetulev wants to merge 1 commit into
Conversation
Productizes the proven source-resolution proof-of-concept into a pure net10.0 analysis layer that runs on hosted CI without a desktop. The prime directive is honesty: never report false confidence. Split of concerns: - Analyze (in scope, CI): grade each element (SourceKind/Confidence/ ReasonCode) -> aggregate by SourceKind -> apply Gate-1 kill-criteria -> emit md/json report + verdict. Single source of truth for grading. - Collect (deferred, heavy gate): live-app enumeration via the read component is owned by the "reading the UI" workstream and needs an interactive desktop; the harness calls it through a gated seam. What landed under src/winapp-devtools/: - SourceProvenanceGrader (spec section 4 honesty model). Never emits exact unless the origin is authored markup with a resolved line; framework/template/runtime rows carrying a stray app line are down-graded, never trusted -> 0% false-confident by construction. - Census analysis: CensusTsvReader -> CensusAggregator -> Gate1Evaluator -> CensusReport, plus a console analyzer and a scrubbed orchestration harness (census/Run-Census.ps1). - Independent false-confident audit (re-checks confident rows against authored-markup classification), so a grader regression is caught, not hidden. Encoded as a standing Gate-1 MSTest check. - 49 unit tests (all section 4 cases incl. both false-confident- prohibition cases). Reference corpus committed; published baseline in census/results reproduces GO (Release source-backed 100%, templated 58.3%, false-confident 0). - Dedicated devtools-provenance.yml workflow: scrub scan -> Release build -> tests + Gate-1 standing check -> census verdict gate. - scripts/scrub-scan.ps1 public-repo forbidden-token gate (clean). Deferred follow-ups: live Source.resolve/census wired into the running- app daemon; fresh collection (packaged/trimmed configs, a real-app corpus per Q-CENSUS-CORPUS); W5 persist integration. Enum types mirror the protocol schema and swap to generated types when W2 lands. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 6fe9cf76-63c6-4b13-a9a2-8fe012035cad
Contributor
Build Metrics ReportBinary Sizes
Test Results✅ 1611 passed, 1 skipped out of 1612 tests in 388.3s (-25.3s vs. baseline) Test Coverage❌ 18.3% line coverage, 37.3% branch coverage · ✅ no change vs. baseline CLI Startup Time42ms median (x64, Updated 2026-07-12 06:21:15 UTC · commit |
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.
W4 — Source mapping (provenance): confidence-graded source mapping + the census
Ports and productizes the proven source-resolution proof-of-concept (which returned a GO) into a pure
net10.0analysis layer that runs on hosted CI without a desktop. Prime directive: never report false confidence.Key move: split collect from analyze
SourceKind/Confidence/ReasonCode) → aggregate bySourceKind→ apply the Gate-1 kill-criteria → emit md/json report + verdict. Single source of truth for grading.What landed (
src/winapp-devtools/)SourceProvenanceGrader— the §4 honesty model. Never emitsexactunless the origin is authored markup with a resolved line; framework/template/runtime rows carrying a stray app line are down-graded → 0% false-confident by construction.CensusTsvReader→CensusAggregator→Gate1Evaluator→CensusReport, a consoleanalyzecommand, and a scrubbed orchestration harness (census/Run-Census.ps1).census/results/) reproduces GO: Release source-backed 100%, templated 58.3%, false-confident 0.devtools-provenance.yml: scrub scan → Release build (warnings-as-errors) → tests + Gate-1 standing check → census verdict gate. Path-filtered to this area.scripts/scrub-scan.ps1gate is clean (0 forbidden tokens).Gate-1 kill-criteria (spec §5, enforced)
exact/highthat was wrong)Deferred follow-ups
Source.resolve/censuswired into the running-app daemon.Notes for reviewers
src/winapp-devtools/; no edits towinapp.sln,build-cli.ps1, other workstreams' specs, or the protocol schema.winui-devex(notmain).Co-authored-by: Copilot App 223556219+Copilot@users.noreply.github.com
Copilot-Session: 6fe9cf76-63c6-4b13-a9a2-8fe012035cad