Repository navigation
Distinguish installed enforcement from demonstrated behavior - #383
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
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 |
Codecov Report❌ Patch coverage is
❌ Your patch status has failed because the patch coverage (94.48%) is below the target coverage (100.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #383 +/- ##
==========================================
+ Coverage 94.61% 94.71% +0.10%
==========================================
Files 46 49 +3
Lines 25233 25733 +500
==========================================
+ Hits 23873 24374 +501
+ Misses 1360 1359 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
fafaea4 to
e656f9b
Compare
Reconciliation establishes installation but does not show that a control can distinguish bad and clean inputs. Add an independent behavior field to human and JSON reports: ordinary checks report unmeasured behavior;
uphold check --probecollects fresh measurements without changing the installation verdict or exit status.Demonstration applies only to the selected runner's named hook and the exercised bad-and-clean controls. Provenance records the runner, declaration, stage, revision, and fixtures. The command verifies a clean snapshot before policy loading, runs that exact revision, and invalidates evidence if either checkout changes, including commits made by a hook. No evidence is stored or reused. Other managers and engine rules behind a wrapper remain unmeasured. Third-party nonzero exits retain the existing probe contract;
expectcan identify the intended refusal.Validation: 38 probe CLI tests covering successful controls, failures, missing controls, timeouts, signals, dirty/changed revisions, mutation between controls, manager identity, wrapper boundaries, and human reporting; check CLI tests, structural checks, all-target Clippy, and normal commit/push checks.
Closes #376.