plugin check without flags records a FAILED C1 that blocks a valid enable; corpus gates never run C1 #563
Labels
No labels
code-review
correctness
dos
performance
security
severity/high
severity/low
severity/medium
tech-debt
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
h-dv/code-index#563
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found while auditing #531 (codex-531 D12) and investigated on the integration tree with rust 0.1.8 (
sha256:039a50d1…). No bundled user is affected: bundled adoption andplugin add --grant requestedrun C1 under the requested grant, and it passes. Two defects remain.1. A bare
plugin checkrecords a FAILED verdict, and that verdict blocks a valid enable.Real operator flow in a scratch
CODE_INDEX_HOME(pack, sign,trust add, install):plugin check $D --root <repo>verdict FAILED:fixtures/call_shapes.rs REFUSED fact.role_not_granted. The check ran with NO roles granted.plugin enable $D --root <repo> --grant requestedconformance_failed, even though C1 under exactly that grant passesplugin check $D --root <repo> --capabilities lexical_localverdict passed; after this,enable --grant requestedapproves and indexescall_shapes.rsemitslexical_local, one of the seven resolver roles the manifest requests (tests/packages/rust/plugin.toml:44).checkrecords its explicit authority (crates/cli/src/plugin.rs:2991).enablerequires a covering passing verdict (plugin.rs:3464).A verdict recorded under a NARROWER grant should not block an enable under a wider grant. Expected, as one rule:
enablewith a grant the recorded verdict does not cover re-runs C1 under that grant, asaddalready does. A barecheckeither uses the manifest's requested grant or says in its output that it checked with no roles.2. The corpus gates never run C1.
install_shipped(crates/test-support/src/shipped.rs:142-161) writes a requested-grant approval directly. A corpus green therefore cannot show that an operator could actually admit the package. Expected: the gate runs C1 under the requested grant once per package before grading it.Status with v0.41.49 (released)
conformance_not_runand names the flags to run; only a covering failed verdict answersconformance_failed.not_graded: a verdict neither records nor compares it.Stays open for:
enabledoes not re-run conformance for a wider grant (the operator has to run the check), verdicts do not grade bridge authority, and the corpus installer in the test support still writes requested-grant approvals without a conformance run.Merged into #520.
conform.rs checks recorded grant coverage before outcome and returns conformance_not_run for a narrower failed verdict.
Remaining: Authority-matched conformance (wider-grant recheck, bridge authority and corpus C1).