fix(vclt-gate): reject on levels[].status=="fail", not never-emitted "admitted"#149
Merged
Conversation
…"admitted"
extract_reasons rejected levels where l["admitted"]==true, but the vcl-ut
gate producer never emits an "admitted" key — it emits per-level status in
{"pass","fail"}. The reject therefore kept every level and mis-listed
passing levels as rejection reasons. Switch to Enum.filter(status=="fail")
so `failed` holds the genuinely-failing levels, and update the test stub to
the real status schema (it had fabricated an "admitted" key, masking the
drift across the cross-repo seam).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🔍 Hypatia Security ScanFindings: 173 issues detected
View findings[
{
"reason": "Issue in scorecard-enforcer.yml",
"type": "scorecard_publish_with_run_step",
"file": "scorecard-enforcer.yml",
"action": "split_scorecard_publish_job",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in instant-sync.yml",
"type": "secret_action_without_presence_gate",
"file": "instant-sync.yml",
"action": "peter-evans/repository-dispatch",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in codeql.yml",
"type": "codeql_missing_actions_language",
"file": "codeql.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "User-defined Coq axiom -- not verified by kernel (1 occurrences, CWE-704)",
"type": "coq_axiom",
"file": "/home/runner/work/verisimdb/verisimdb/formal/Provenance.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "medium"
},
{
"reason": "User-defined Coq axiom -- not verified by kernel (2 occurrences, CWE-704)",
"type": "coq_axiom",
"file": "/home/runner/work/verisimdb/verisimdb/formal/PlannerSemantic.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "medium"
},
{
"reason": "User-defined Coq axiom -- not verified by kernel (1 occurrences, CWE-704)",
"type": "coq_axiom",
"file": "/home/runner/work/verisimdb/verisimdb/formal/Planner.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "medium"
},
{
"reason": "User-defined Coq axiom -- not verified by kernel (6 occurrences, CWE-704)",
"type": "coq_axiom",
"file": "/home/runner/work/verisimdb/verisimdb/formal/Drift.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "medium"
},
{
"reason": "User-defined Coq axiom -- not verified by kernel (1 occurrences, CWE-704)",
"type": "coq_axiom",
"file": "/home/runner/work/verisimdb/verisimdb/formal/WAL.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "medium"
},
{
"reason": "User-defined Coq axiom -- not verified by kernel (2 occurrences, CWE-704)",
"type": "coq_axiom",
"file": "/home/runner/work/verisimdb/verisimdb/formal/Normalizer.v",
"action": "flag",
"rule_module": "code_safety",
"severity": "medium"
},
{
"reason": "getExn on external data -- use pattern matching (1 occurrences, CWE-754)",
"type": "getexn_on_external",
"file": "/home/runner/work/verisimdb/verisimdb/src/registry/Registry.res",
"action": "flag",
"rule_module": "code_safety",
"severity": "critical"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
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.
Fixes a cross-repo seam bug between the vcl-ut gate producer and this consumer that was invisible to both CIs.
VCLTGate.extract_reasonsrejected levels wherel["admitted"] == true, but the vcl-utvclt-gateproducer never emits anadmittedkey — it emits per-levelstatusin{"pass","fail"}. SoEnum.rejectkept every level and the rejection-reasons list included passing levels.Enum.reject(admitted==true)→Enum.filter(status=="fail"), sofailedholds the genuinely-failing levels."admitted"key (which masked the drift); updated to the real{"status":"fail"}schema.The matching producer-side
statusschema is in vcl-ut (src/interface/parse/src/bin/vclt-gate.rs). Localmix testcouldn't run here (deps not fetched in the offline env); the logic change is a one-liner verified by standalone elixir execution.🤖 Generated with Claude Code