[P1-2][kratos] Corpus calibration baseline - #104
Draft
JeremyDev87 wants to merge 1 commit into
Draft
Conversation
stable finding ID를 consumer 정책에 사용하기 전에 네 개의 고정 corpus로 TP/FP/FN을 재현합니다. 실제 analyzer/diff 경로, 순서·중복·root 독립성, semantic witness와 no-write 계약을 검증합니다. Co-authored-by: Hermes
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
identityVersion=1의 단일 canonical corpus manifest와 4개 case를 추가했습니다.analyze_project→ 같은 root의 빈 report →diff_reports_with_identity경로로 6개 finding group의 TP/FP/FN을 평가합니다.Why
introduced-only gate를 차단 정책으로 승격하기 전에 false positive/false negative와 stable identity drift를 작고 검토 가능한 corpus로 고정하기 위함입니다. expected ID는 manifest의 literal 값만 authority로 사용하며 자동 생성·갱신하지 않습니다.
Validation
cargo test -p kratos-core --test corpus_calibration -- --nocapture— 9/9, TP=10 / FP=0 / FN=0cargo test -p kratos-core --test report_diff— 13/13cargo test -p kratos-cli --test diff_cli— 3/3cargo test --workspace— exit 0cargo clippy --workspace --all-targets --locked— exit 0npm run verify— 9 pass / 1 environment-gated native skip; pack dry-run PASSrustfmt --check,git diff --check— PASSscan --no-write --json— schema 3, counts1,1,2,1,1,1,.kratos/미생성Evidence
.kratos/부재Risk / Boundaries
cargo fmt --all -- --check는 변경 밖 기존discover.rs,ignore.rs,report_v2.rsdrift로 실패하며, 이번 변경 Rust 파일은rustfmt --check를 통과합니다.Closes #103