Skip to content

Roster expansion Step 1: ingest 13 real supersession corpora (no gold labels)#20

Open
tcballard wants to merge 1 commit into
mainfrom
claude/decisiongrounding-benchmark-plan-fqr9fl
Open

Roster expansion Step 1: ingest 13 real supersession corpora (no gold labels)#20
tcballard wants to merge 1 commit into
mainfrom
claude/decisiongrounding-benchmark-plan-fqr9fl

Conversation

@tcballard

Copy link
Copy Markdown
Contributor

Step 1 of the reportable real-roster expansion: stage real, pinned corpora so a blind author can write graded-overlap scenarios on top. Corpora + provenance only — no gold labels, nothing enters the frozen roster.

What's here

13 real supersession edges (10 PEP + 3 RFC) ingested into a new scenarios_candidates/ directory, each with a reproducible corpus/*.md + provenance.json and no scenario.json.

candidate id edge (source ← target) est. overlap
peps_class_creation_supersession PEP-0487 ← 0422 high
peps_typeis_narrowing_supersession PEP-0742 ← 0724 high
peps_single_dispatch_supersession PEP-0443 ← 0245, 0246 high
peps_metadata_v12_supersession PEP-0345 ← 0314 (← 0241) medium
peps_package_layout_supersession PEP-0402 ← 0382 medium
peps_hashlib_api_supersession PEP-0452 ← 0247 medium
peps_packaging_governance_supersession PEP-0772 ← 0609 low
peps_windows_installer_supersession PEP-0773 ← 0397, 0486 low
peps_tls_api_supersession PEP-0748 ← 0543 low
peps_pypi_mirror_supersession PEP-0449 ← 0381 low
rfc_utf8_supersession RFC-3629 ← 2279 medium
rfc_tcp_supersession RFC-9293 ← 0793 low
rfc_ipv6_supersession RFC-8200 ← 2460 low

How the edges were chosen

Empirically, not guessed. I enumerated every real supersession edge at the pin from the committed pool provenance, cross-referenced against the existing roster to find valid unused edges, and validated each by running the ingest tool and confirming it derived the edge from the artifacts' own Replaces/Superseded-By (PEP) or Obsoletes (RFC) headers. All 13 pass python -m ingest.<tool> verify (reproduce byte-for-byte from the pin). Topics span the overlap spectrum so a blind author has high/medium/low material.

Safety — the frozen roster is untouched

tests/test_real_roster.py::_on_disk() only counts directories containing a scenario.json, so scenarios_candidates/ is invisible to both the roster pin (still exactly 49) and load_scenarios. These corpora are inert until promoted. Full suite green (440 passed, 6 skipped).

Next steps (not in this PR)

  • Step 2 — an independent author writes each scenario.json (task + gold label) blind, per spec/external-scenario-request-graded-overlap.md; must pass the offline gate and match its declared lexical_overlap band.
  • Step 3git mv each into scenarios_real/, extend PINNED_ROSTER + per-domain counts, and land a new analysis-plan amendment re-registering the enlarged roster (a deliberate pre-registration event).

Scope covered here is supersession edges only (mechanically verifiable from headers); prohibition/conflicting real scenarios are a follow-on since they have no machine-readable edge. See scenarios_candidates/README.md and docs/real-scenario-candidates.md.


Generated by Claude Code

…sion (Step 1)

Stages the corpora for the graded-overlap roster expansion in a new
scenarios_candidates/ directory: 10 PEP + 3 RFC real supersession edges,
each with a reproducible corpus + provenance.json and NO scenario.json
(gold labels are authored blind later, per CONTRIBUTING rule 1).

Edges were selected empirically, not guessed: enumerated from the pinned
pool provenance and cross-checked against the existing roster to find
valid, unused supersession edges, each derived from the artifacts' own
Replaces/Superseded-By (PEP) or Obsoletes (RFC) headers and verified to
reproduce from the pin. Topics span the overlap spectrum (typing/class
creation = high; packaging metadata/hashlib = medium; governance/TLS
API/TCP/IPv6 = low) so a blind author can write graded-overlap tasks.

Fully inert: scenarios_candidates/ has no scenario.json, so neither
load_scenarios nor test_real_roster.py::PINNED_ROSTER sees it — the frozen
49-scenario roster is untouched (verified). Promotion into scenarios_real/
remains a deliberate pre-registration event (blind gold label + roster
re-pin + a new amendment). Refreshes docs/real-scenario-candidates.md to
the confirmed set and adds scenarios_candidates/README.md.
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