You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tracking epic for the SCIP-oracle reorg, Python support, and a unified small-corpus oracle runner with a before/after resolution table. Plan: docs/plans/2026-06-15-scip-oracle-multilang-runner.md (local, gitignored).
Goal
Reorganize GitHub Actions (consolidate the two near-duplicate oracle-* workflows; consistent naming + least-privilege permissions).
Add Python indexing + scip-python oracle backend.
One corpus-profile-driven runner over small, real repos (semver / cJSON / requests) emitting a typed before/after resolution report (JSON), with a per-PR Δ-vs-main comment via a glue script. Heavy repos (cargo/kernel) keep producing the Bencher series on release.
C2 feat(oracle): typed before/after resolution report implementing the C0 contract (TOON + JSON only, no markdown); BMF derived from it
C1+C3 feat(ci): corpus-profile-driven oracle.yml + tools/oracle-run.sh with the per-corpus health gate; delete oracle-rust.yml/oracle-kernel.yml/tools/{rust-scip,kernel-c}-oracle.sh
C-python test(oracle): small Python corpus profile (package-dir scope, full venv) + validate scip-python resolution
Decisions locked: small corpora run per-PR; heavy corpora → Bencher on release; full venv for the Python corpus; package-dir scope; rag-rat emits JSON/TOON only (markdown via glue); per-report schema version + profile hash; clean baseline-missing degradation; per-corpus health thresholds.
Tracking epic for the SCIP-oracle reorg, Python support, and a unified small-corpus oracle runner with a before/after resolution table. Plan:
docs/plans/2026-06-15-scip-oracle-multilang-runner.md(local, gitignored).Goal
oracle-*workflows; consistent naming + least-privilege permissions).scip-pythonoracle backend.Sequenced sub-tasks
permissions:sweep; bump deprecated actions (independent)OracleResolutionReportJSON (schema version + provenance envelope +corpus_profile_hash), denominator semantics, and fixture tests for every verdict transition (unresolved→upgraded, unresolved→resolved_external, exact→confirmed, exact→contradicted, oracle-only calls, skipped_drifted, monikers)scip-pythonbackend (OracleTool::ScipPython, manifest, argv test)oracle.yml+tools/oracle-run.shwith the per-corpus health gate; deleteoracle-rust.yml/oracle-kernel.yml/tools/{rust-scip,kernel-c}-oracle.shtools/oracle-report-md.pyglue (JSON→markdown, Δ-vs-baseline, clean baseline-missing degradation) → job summary + fork-safe PR sticky commentDecisions locked: small corpora run per-PR; heavy corpora → Bencher on release; full venv for the Python corpus; package-dir scope; rag-rat emits JSON/TOON only (markdown via glue); per-report schema version + profile hash; clean baseline-missing degradation; per-corpus health thresholds.
Suggested path: A1 → C0 → (B ∥ C2) → B6 → C1+C3 → C5 → C-python.