Skip to content

Flag unresolved Layer-0 grades, fix silent excepts, gitleaks allowlist - #11

Merged
bGOATnote merged 2 commits into
mainfrom
fix/p2-fail-closed-polish
Aug 31, 2026
Merged

bGOATnote merged 2 commits into
mainfrom
fix/p2-fail-closed-polish

Conversation

@bGOATnote

Copy link
Copy Markdown
Member

Summary

Polish items from the readiness audit (P2-4, P2-6 top hits, P2-7):

Unresolved Layer-0 grades are flagged, never silently definitive (P2-4). grade_turn accepted a sub-threshold (< 0.8 confidence) pattern classification as the final grade whenever no judge was configured — indistinguishable in the output from a confident grade, despite the documented 30-40% pattern FN rate. Such turns now carry unresolved=True with a warning, and both corpus graders expose an unresolved_turns count in grading_metadata (warning when nonzero).

Two real ruff S/B hits (P2-6). grader._compute_rubric_version swallowed every exception and silently reported rubric "unknown" (S110) — it now logs the cause. The dashboard lift-table helper closed over the loop's base variable (B023) — the baseline is now bound as a default argument.

gitleaks allowlist (P2-7). History scans flooded 10,519 generic-api-key findings, all from judge_api_request_id fields (provider message IDs) and model prose inside committed eval artifacts. .gitleaks.toml allowlists results/ and seeds_generated/ paths plus the request-id field shape; code and config remain fully scanned.

Tests

tests/test_ceis_unresolved.py: sub-threshold/no-judge is unresolved, definitive Layer 0 and judge-resolved turns are not, and the corpus-level unresolved_turns count surfaces in grading_metadata. 1,178 tests pass; ruff clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01142EwVwkXFRGnYu7YgHSYL

bGOATnote and others added 2 commits August 31, 2026 16:25
…s allowlist

- ceis.grade_turn: a sub-threshold Layer 0 classification accepted
  because no judge is available is now marked unresolved=True (with a
  warning) instead of passing as a definitive detection_layer=0 grade;
  grade_corpus and grade_corpus_multi_trial count these and expose
  unresolved_turns in grading_metadata, warning when nonzero.
- grader._compute_rubric_version: rubric 'unknown' is logged with its
  cause instead of a bare 'except Exception: pass' (ruff S110).
- dashboard lift table: bind the loop's baseline as a default argument
  so the helper cannot close over a later row's value (ruff B023).
- .gitleaks.toml: allowlist results/ and seeds_generated/ artifact
  paths and the judge_api_request_id field shape (provider message IDs,
  not credentials) so history scans stop flooding 10k+ false positives
  while code and config remain fully scanned.

Tests cover unresolved marking for sub-threshold/no-judge, definitive
Layer 0, judge-resolved turns, and the corpus-level unresolved count.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01142EwVwkXFRGnYu7YgHSYL
@bGOATnote
bGOATnote merged commit 621872a into main Aug 31, 2026
6 checks passed
@bGOATnote
bGOATnote deleted the fix/p2-fail-closed-polish branch August 31, 2026 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant