Conversation
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.
What
CLI support for epic #879: consume and emit the scanner's signal/coverage surface end to end.
vettd-skill-scannerv0.2.0(crates/vettd-cli/Cargo.toml, git dependency by tag).COMPILED_CONTRACT_VERSIONand checked-inscanner-data-contract.json): emitssignals/coveragein the scan payload. Thesignals/coveragefield shapes are byte-identical to the server's contract file (vettdfeat/issue-879-signals-ingest).directory signals <slug> --json— raw passthrough of the public signals endpoint.--jsonforwards the fetched payload verbatim: a re-serialized allow-list view would drop neutralnulls and unknown fields.signalCategoriesonlist/search/view/comparecards, mirroring the server'sCategorySummaryshapes (all-optional camelCase; absent or unknown values degrade to a plain display).scanrenderssignalsandcoverageper artifact (signals grouped bydataCategory, one line percoverageentry).Grade logic is unchanged
Signals are display-only. They are never fed into
overallGrade/ verdict computation, which stays category-blind over all finding categories. All new code is presentation; no decision logic reads signals.Validation actually run
cargo fmt,cargo clippy,cargo test— pass. Pre-existing network-dependent test flakes noted (unrelated to this change).Deploy ordering — read before merge
additionalProperties: false, so an older server would 400 a payload carrying the new fields.v0.2.0exists → the vettd PR (feat/issue-879-signals-ingest, contract 2.5.0) must land and deploy → then release this CLI version.Contract sync note
The checked-in
scanner-data-contract.jsonis not byte-identical to the server's file: the server's contract carries adetectedSourceblock that the CLI's compiled copy has never included (pre-existing divergence, present onmainbefore this branch; not added or removed here). Everything else — including the newsignals/coveragesections — matches exactly. Flagging rather than silently claiming full byte-identity.